История одного переезда на новый движок, и не только..

Приветствуем всех!

Давненько мы не писали ничего, давайте исправляться.

Прошел ровно год, с того момента как мы начали разрабатывать новый движек для нашего портала. Решение о переезде с PHP на Node.JS прило к нам не спонтанно, это был тщательно обдуманный шаг. И вот наконец, взвесив все за и против мы приступили к работе. Ох, как же мы ошибались, надеясь портировать весь портал за 2-3 месяца..

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

Создали один большой репозиторий, добавили CI/CD, прикрутили миграции баз данных, запилили сборку проекта, и работа пошла.. На написание основы нового движка ушло почти 3 месяца. Из них четверть ушла на настройку всего выше перечисленного. Это оказалось не так тривиально, как казалось на первый взгляд.

Далее вопрос встал, что делать с дизайном - портировать старый или делать новый. Пока думали, нам удалось попасть на консультацию к человеку, который профессионально занимается SEO и развитием сервисов. И вот тут начала сыпаться наша концепция развития самого проекта как такового. Вопросы дизайна пришлось на время отложить, и сфокусироваться на общем развитии проекта, и обновлении концепции развития. А это не так просто, с учетом предыдущего анонса. На переписывание "бумажек" и обсуждение новой концепции ушло еще 3 месяца, все это время остальная работа стояла, так как не было вообще понятно, будет ли проект жить дальше. Интересно то, что это не первая такая "остановка". Еще на старом домене этого проекта была такая же. В общем - рабочие моменты, которые были успешно преодолены.

Пол года - это много или мало? С точки зрения долгосрочного развития любого проекта или продукта - это пшик. Но когда у вас старый проект уже не развивается(имеется ввиду то, что на проект не добавляется новый функционал на старую кодовую базу, а она на PHP), а новый еще разрабатывается, это очень много, и дорог каждый день.

Итог - не повторяйте нашей ошибки - либо ведите разработку параллельно, и пишите функционал на обе версии движка сразу(да, это дороже) или тщательнее подготавливайтесь, прежде чем радикально менять что либо на проекте. Многие форс-мажоры можно предусмотреть.

Что ж, героическим усилием воли, работа над новым движком пошла дальше.

Как вы наверное уже догадались, глобально общий дизайн проекта решено было оставить. Мы решили что гораздо выгоднее с точки зрения экономии времени, перерабатывать его постепенно. Большая часть дизайна осталась старой, но пришлось делать много мелких правок. Плюс ко всему, как было выше упомянуто, из-за обновления концепции проекта, теперь у нас прибавилось еще больше работы, в том числе и по дизайну, который еще только предстоит сделать.

Еще приблизительно 5 месяцев ушло на дописывание и переписывание того, что уже было, в соответствии с новым вектором развития. Месяц на подготовку и настройку серверов, перенос и адаптирование контента, и запуск проекта - и вот вы видите тот же сайт, но уже на Node.js.

А теперь соль - для чего мы собственно затеяли переезд.

  • Первое и самое главное - нам нравиться JavaScrpt. Идея использования языка как части экосистемы - это очень соблазнительная вещь! JavaScrpt на сервере, JavaScrpt на клиенте, JavaScrpt в мобильных приложениях, JavaScrpt - теперь везде. Плюс - большинство разработчиков, верстальщиков, как профессионалов так и начинающих его знают. Это мега удобно!
  • Второе - новые возможности, которые для нас открываются. "Реалтайм из коробки" - это не просто фраза. Это как минимум прозрачность разработки функционала, связанного с обработкой данных в реальном времени.
  • Ну и третье - ходят слухи, что Node.js отлично держит высокие нагрузки, при должном подходе к ней.. мы решили проверить это на практике.

Послесловие. Хоть у нас и прибавилось работы, зато теперь на портале появится очень много нового. Вскоре мы добавим новые, более удобные инструменты, которые позволят Вам делиться знаниями с другими участниками сообщества, обсуждать и комментировать, а так же общаться с коллегами, знакомыми и расширить круг общения.

А уже сейчас вы можете писать интересные статьи по интересующим вас темам, в любых хабах.

Так же мы будем чень рады, если вы пригласите ваших друзей и знакомых на проект - вместе мы сделаем интересный и полезный ресурс!

Ну а пока, всем пока и до новых публикаций!

Мегахаб
24.11.2019
1 ответ
авторизуйтесь чтобы ответить