Вложились в продукт, создали конструктор сайтов Госвеб и проиграли. Но смогли заработать
Мы создали конструктор для госсайтов, назвали его Госвеб 2.0 и планировали продавать как коробочное решение. Однако параллельно с нами похожий конструктор с тем же названием и теми же целями разрабатывало Минцифры, и теперь все обязаны использовать его, а мы в пролёте. Или нет?
Дискелеймер: чтобы немедленно узнать суть нашего факапа, листайте в конец статьи. Чтобы узнать, что именно мы сделали и где оказались, читайте по порядку
Что за продукт вообще?
Главный офис нашего агентства расположен в городе Кемерово. У большинства государственных учреждений Кемеровской области — школ, детских садов, поликлиник и прочих — с сайтами были большие проблемы. Меньшинство из них отвечало требованиям, касающимся безопасности, доступности и внешнего вида. Как и примерно все такие сайты по всей РФ.
В середине лета 2021 года к нам за решением обратилось Министерство цифрового развития и связи Кузбасса. До этого мы создали несколько качественных государственных сайтов, например, для Правительства Ямало-Ненецкого автономного округа и Министерства промышленности и торговли Кузбасса.
Разрабатывать сотни сайтов отдельно для каждого учреждения — не вариант. Нужна была собственная платформа, чтобы сотрудники, которые будут ее обслуживать, следили за своевременным обновлением и защитой от хакерских атак.
Проект развивался при поддержке и для кузбасского Минцифры в первую очередь, но останавливаться только на своем регионе мы не планировали. Хотели предложить свою разработку образовательным и дошкольным учреждениям, затем расширить аудиторию до других бюджетных организаций, а позже и до других регионов. Вот с такими грандиозными планами мы взялись за работу, не зная, какой сюрприз нас ждет дальше.
Решение. Первая итерация
Заказчик настаивал на Битриксе. Он входит в реестр российского ПО и считается безопасным для использования государственными учреждениями, тем более, что некоторые его тарифы позволяют создавать неограниченное количество сайтов и разносить блоки бэкенда по разным машинам.
Мы уже создали первую итерацию с админпанелью на React для более простого добавления контента, как вдруг столкнулись с целым рядом трудностей: оказалось, что Битрикс работает с базой данных MySQL, которая в реестр не внесена, публикация и обновление сайтов перегружали сервер, а процесс авторизации никак не получалось сделать по-настоящему безопасным.
Из-за возникших противоречий и сложностей мы перешли на фреймворк, написали полноценное REST API и использовали микросервисный подход
Затем пришлось повторить цикл производства ещё раз
Полностью работоспособный сервис в товарном состоянии у нас получился только после того, как мы полностью переделали сервис:
- Формулирование задачи и бенчмаркинг заняли около месяца. На оба этапа проектирования с двумя разными итерациями ушло по месяцу;
- Создание более-менее рабочей версии заняло пять месяцев;
- Тестирование пилота на 10 учреждений, сбор обратной связи и формулировка новых задач заняли около двух месяцев;
- Подготовка документации и спринтов для второго этапа проектирования заняли месяц;
- После этого мы перешли к развертыванию микросервисного подхода: изменение архитектуры, смена движка Битрикс на самописный и переход на микросервисную архитектуру — заняли еще четыре месяца
С самого начала мы позаботились о том, чтобы наш конструктор было удобно использовать и глобальным администраторам, и тем, кто будет наполнять сайты контентом.
В результате все работало так, как хотели мы и как было нужно заказчику, поэтому пришло время переходить к масштабированию и увеличению нагрузки.
Мы расширили пилот на 1500 организаций и зарегистрировали ПО
Столько сайтов за два месяца создал и опубликовал заказчик с помощью Конструктора. Эта цифра постепенно и непрерывно растет.
После этого мы получили сертификат на ПО и внесли Конструктор в реестр российского ПО — это заняло около двух месяцев
Что после пилотного запуска?
На следующем этапе мы все силы посвятили микросервисной архитектуре. Суть этого метода заключается в размещении разных модулей и функций сайтов на нескольких серверах, не зависящих друг от друга. Благодаря нему как отдельные сайты, так и Конструктор в целом сохранят работоспособность, даже если один из серверов упадет.
На третьем этапе мы разработали шаблонизатор и справочный центр с обучающими материалами: видео, статьями и инструкциями. Появилась возможность подключать свои домены, управлять правами редакторов сайтов, размещать сквозные баннеры, управлять структурой сайта, заполнять должностной справочник и вести новостную ленту в удобном формате.
Появился визуальный редактор, который позволяет просматривать и менять содержимое разделов сайта, а также задавать SEO-настройки. Есть меню компонентов для страниц: заголовки, цитаты, тексты в раскрывающихся карточках, спойлеры, интервью, контакты… — все, что необходимо.
Как это вообще работает?
Организационно использование Конструктора выглядит так: Минцифры региона как глобальный администратор совместно с нами устанавливает Конструктор в ЦОД региона и далее по необходимости инициирует создание сайтов руками специалистов на местах – в муниципальных учреждениях и подразделениях администрации.
Развитие проекта
На первом этапе был проработан дизайн панели глобального администратора, каталога шаблонов и справочного центра, а также функционал и компонентная база.
Обучение администраторов
Киллер-фича нашего Госвеба — предельная простота работы, чтобы любой методист, госслужащий или другой специалист без профильного образования и навыков мог создать сайт. Для обучения людей на стороне клиента мы создали Справочный центр, в котором ответили на часто задаваемые вопросы, добавили инструкции и подробно описали работу с компонентами. Еще завели канал на Rutube, чтобы по мере доработки сайта выпускать новые видео с лайфхаками работы в Конструкторе.
Обеспечение отказоустойчивости
Для своевременного информирования об ошибках, возникающих в процессе работы, мы подключили сервис Sentry. Когда один из микросервисов перестает работать, его в течение нескольких секунд автоматически перезапустит сервис Monit. Система бэкапирования восстановит как сам сервис при потере всех данных, так и отдельный сайт после неудачных изменений. Вдобавок мы разработали функционал логирования для удобного поиска ошибок с выводом в интерфейс.
Несколько сотен звонков, по которым мы поняли, что у нас проблема
Создали мы наш конструктор Госвеб 2.0, получили на него все необходимые документы, внесли в реестр ПО, как вдруг оказалось, что Минцифры выпускает “Госвеб” — бесплатный конструктор сайтов для госорганизаций. Узнали мы это не из новостей, а по шквалу звонков из медучреждений со всей страны. Выяснилось, что всем учреждениям из министерства пришло письмо, которое предписывало приступить к установке конструктора. Они стремительно ринулись искать, где же добыть этот Госвеб, и попадали на наш сайт.
Так одним днем мы лишились ключевого “рынка сбыта”, потому что госорганизации обязали использовать именно этот “Госвеб”. Вопросов перед нами теперь много, например, что делать с названием — оставить Госвеб или просто "Конструктор". Казалось, что огромные ресурсы были потрачены зря.
Что дальше?
Мы не стали особо расстраиваться и приступили к очередной доработке. Сейчас идея такая: использовать наш Конструктор может любой заказчик, которому нужно создать несколько однотипных сайтов, например, крупный холдинг, объединяющий несколько предприятий. Для заказчика окупаемость достигается при создании всего двух сайтов, а вообще развернуть он их может хоть несколько тысяч. Конструктор загружается на сервер заказчика, после чего можно сделать столько сайтов, сколько понадобится. Доступ к обновлениям сервиса автоматически открывается всем покупателям. Если дизайн-система России не подходит, можно заменить ее на корпоративную. Госвеб 2.0 это поддерживает с легкостью.
Сейчас, помимо технической поддержки, мы дорабатываем Конструктор, наращиваем функциональные возможности — в общем, двигаем его в альтернативную рыночную нишу, уходя от концепции "продажа только госучреждениям". Недавно состоялись две первые сделки с такими клиентами — компания из частного сектора и НКО.
Если вам покажется интересной эта история, дайте знать, и в следующей публикации мы приоткроем историю про размер инвестиций, изменения команды при совмещении заказной разработки и продуктовой и другие нюансы и набитые шишки.