500 тыс. на новый сайт Кременчуга — это бред

Попытаюсь объяснить почему.

Горе-сайт https://kremen.gov.ua/

В грядущей сессии Кременчугского Горсовета ставится на голосование вопрос об выделении 500 тыс. грн. на разработку нового сайта (третий пункт). Пост на телеграфе можно почитать тут. Информация вызвала бурные обсуждения в коментариях под новостью, в комментариях на FB, в местном чате IT-сообщества.

Разбираемся.

Подрядчики

Во первых интересно место поиска подрядчиков.

Сделав мониторинг рынка предоставления услуг по разработке веб-сайтов для государственного сектора (Львов, Киев, Николаев, Сумы), установлено, что цена составляет от 300 000 грн. до 700 000 грн.

А где в списке Кременчуг? Почему не хотят подключить местных специалистов? Ведь логично. Заказываем систему у местных программистов. Они тратят деньги в Кременчуге и платят налоги. По различным оценкам, один программист косвенно создает 5–10 рабочих мест, пользуясь услугами местных предпринимателей (магазины, стоматология, СТО, и т.д.). Таким образом часть денег снова возвращается в бюджет. Плюс, намного проще общаться с людьми которые под боком и до которых 15 мин. на машине. Плюс, так как они будут делать систему для своего города то работать будут более качественно и ответственно (возможно).

Та же история и с системой трекинга общественного транспорта http://info-bus.info/ . Вроде как её официально еще не анонсировали но некоторые маршрутки уже отслеживать можно. Система казахская. Хотя под боком есть Черкасская область, где местные активисты бесплатно разработали систему трекинга транспорта для своего города. Люди адекватные и обо всем можно было бы договорится. Но нет.

Нагрузки

Сайт создавали 4 года назад. Он уже технически не выдерживает нагрузок.

Тут лучше процитировать местного специалиста с чата:

Становится интересным — с какими именно нагрузками не справляется система? Даже если эти нагрузки и есть (сепаратисты, русские хакеры, DDoS атаки), то они легко решаются. Например используя системы дистрибуции контента (CDN). Которая, кстати, в базовом варианте может быть бесплатной (CloudFlare)! Или разпаралелить роботу сайта на несколько серверов и добавить балансировщик нагрузки. Возможно звучит страшно, но это не требует закупки оборудования. Просто используется готовый сервис и подстраивается система.

В конце концов Телеграф как-то же ж с нагрузкой справляется! При посещаемости в 100 раз выше. Спросите у них как им удалось достигнуть подобных результатов.

Варианты есть. Девяностые, в которых каждый закупал свое оборудование и сервера уже прошли. Пришло время использовать готовую инфраструктуру.

Видео

На новом сайте мы будем размещать видео с сессий, отчеты депутатов, — прокомментировал Юрий Гриценко.

А почему нельзя для видео использовать YouTube? Многие местные власти други стран так и делают. Загружай сколько хочешь, размещай где хочешь. Так зачем платить больше? Ну или точней — зачем платить?

Мобильная версия

Существующий веб-портал не отвечает требованиям современности — отсутствуют технические возможности адаптации с мобильными устройствами

Чё? Тут, конечно можно по разному понимать это предложение. Если они говорят о том, что нет “технической возможности” сделать мобильную версию сайта — то это бред. Для того что бы сайт подстраивался под мобильные устройства нужно всего лишь дописать и подправить его исходные коды (HTML, CSS). И всё! Сайт становится удобочитаемым на ваших гаджетах. Для этого не нужны сервера и прочее железо.

Если они говорят про разработку интерфейса между сайтом и каким-то абстрактным мобильным приложением — то тут да, нужно дописывать код. И то, можно сесть и подумать как это сделать попроще. Но снова же ж, это если нужно для мобильного приложения. Так как на сайте в основном только текст и документы, то мобильные приложения там 100 лет не нужны.

Устаревшая модульная архитектура

В связи с использованием устаревшей модульной архитектуры и дизайна официального портала возникла необходимость в его усовершенствовании и модернизации.

Что подразумевается под “модульной архитектурой”? Ведь сейчас наоборот все идет к тому, что бы разбивать большие монолитные системы на маленькие подсистемы (модули, микросервисы и т.п.). И тогда с нагрузками бороться проще. Тоже непонятно.

Сколько это могло бы стоить?

Конечно если бы было техническое задание с требованиями к системе— было бы намного проще. А так можно посмотреть текущую реализацию сайта и примерно сказать сколько все будет стоить.

Из функционала — новости, страницы с текстом и таблицами, документы, галерея с фотографиями. Если использовать популярный движок для сайтов WordPress, то на все про все может уйти $2000 — $4000 (ну никак не $20 000). Плюс виртуальные серверы, цена на которые варировалась бы от уровня нагрузки на сайт ($20 — $30/месяц). Видео выгружаем на YouTube. Документы можно хранить либо на Google Drive (100 гигабайт — $2/месяц, 1 терабайт! — $10/месяц), либо же просто загружать документы через WordPress и хранить файлы на сервере (~10$/месяц за 100 гигабайт).

Насколько я понимаю, сейчас в планах не использовать уже готовые движки, а написать свою систему. И я всячески отговариваю своих клиентов идти подобным путем. Почему?

Во первых WordPress бесплатный и у него большое сообщество разработчиков. Многие модули уже написаны и в свободном доступе. Если кто-то находит уязвимости в системе, то они быстро ремонтируются. С собственно написаной системой все намного сложней. Ясное дело с самого начала в ней будут ошибки и должно будет пройти время (и потрачено много денег), что бы она стала зрелой и более менее надёжной. Вспомним сколько раз взламывали текущую самонаписанную версию сайта https://kremen.gov.ua/.

Во вторых — поиск специалистов. В случае с собственноручно написанной системой — все сложно. Подрядчик сможет строить погоду. Добавить кнопку? Мммм, 2000 грн. У меня на практике были подобные случаи. И ничего не скажешь, ведь не понятно как там все устроено и сколько это реально стоит. Если нанимать программистов со стороны — это тоже может стоить дорого. Порой, что бы специалист смог дополнить чужую систему может пройти месяц, пока он в ней разберется. Так что нужно по максимуму использовать уже готовые решения. В случае с WordPress специалиста или подрядчика найти довольно просто.

Итого

Хочется сказать, что весь текст в записке написан как-то мутно. Такой прием используют мои нерадивые коллеги, которые хотят выбить со своего клиента побольше денег. Накидываем умных терминов, пытаемся их как-то связать что бы прослеживалась логика и вуаля — цена выросла в 10 раз. Очень попахивает распилом.

Политики не разбираются в IT. И это ок. Им это и не надо. Каждый должен разбираться в своем деле. Скорей всего имел место быть подобный диалог:

- Чего сайт висит?
- Так сайт с нагрузкой не справляется!
- А что нужно что бы справлялся?
- У нас архитектура старая, модульная, серверов не хватает, дизайн отстой. Вообще уже давно все нужно менять.
- Ок, выделим больше денег.

Так что мой совет — найдите нормальных специалистов которые оценят ситуацию и предложат лучшее решение. И желательно местных. И даже, возможно, их можно найти в нашем местном Slack-чате.

Хотелось бы закончить пост знаменитым монологом Зеленского: