Соблюдение баланса: правильность приложения vs. скорость разработки.
Привет!
Сегодня хочу поговорить про создание архитектуры на скорую руку. Делаю для себя один сервис и пишу эту заметку по горячим следам.
В моей голове я всё сделал красиво, масштабно, правильно и так далее.
Система состоит из микросервисов, которые общаются при помощи событий. Используется брокер сообщений, РСУБД, несколько NoSQL хранилищ разных типов, фронт написан на Vue.Js, всё завёрнуто в контейнеры и автоматически деплоится после мерджа в мастер ветку в репозитории, для оркестрации используется kubernetes.
А потом, как говорится, я проснулся:)
А точнее трезво взглянул на ситуацию и принялся отбрасывать всё ненужное и всё, что может замедлить работу.
🫐 Микросервисы? - долго делать, начнём с монолита с несколькими воркерами для асинхронных задач.
🌽 Брокер сообщений? - РСУБД справится на первом этапе.
🍋 NoSQL? - и тут РСУБД сгодится.
🍓 Фронт на фреймворке? - долго, обычный html+js быстрее и не хуже.
🥒 Автодеплой? - тут да, но позже, не с первого коммита.
🥑 Контейнеры? - не обязательно, но мне привычнее, да и теперь уже быстрее, честно говоря.
🥬 Оркестрация? - Portainer в помощь.
🥦 РСУБД? - а вот без неё и правда никуда:)
Если подытожить, то держа красивую и "правильную" структуру приложения в голове, я, тем не менее, пишу приложение иначе.
С одной стороны пытаюсь его сделать легко модифицируемым и расширяемым, с другой - оно должно быть как можно более простым на первом этапе.
В общем, есть два варианта разрабатывать приложение:
🍏 выпускать релизы как можно скорее, собирать обратную связь и выпускать новые релизы
🍎 разрабатывать приложение пока оно не достигнет идеала, не выпуская его в свет.
Первые ребята через год будут на несколько итераций впереди и ближе к потребностям клиента, чем вторые.
🔔 Подписывайся на Тимлидельник — тут внезапно может оказаться интересно, а ты не подписан🧐
@teamlead_monday
Привет!
Сегодня хочу поговорить про создание архитектуры на скорую руку. Делаю для себя один сервис и пишу эту заметку по горячим следам.
В моей голове я всё сделал красиво, масштабно, правильно и так далее.
Система состоит из микросервисов, которые общаются при помощи событий. Используется брокер сообщений, РСУБД, несколько NoSQL хранилищ разных типов, фронт написан на Vue.Js, всё завёрнуто в контейнеры и автоматически деплоится после мерджа в мастер ветку в репозитории, для оркестрации используется kubernetes.
А потом, как говорится, я проснулся:)
А точнее трезво взглянул на ситуацию и принялся отбрасывать всё ненужное и всё, что может замедлить работу.
🫐 Микросервисы? - долго делать, начнём с монолита с несколькими воркерами для асинхронных задач.
🌽 Брокер сообщений? - РСУБД справится на первом этапе.
🍋 NoSQL? - и тут РСУБД сгодится.
🍓 Фронт на фреймворке? - долго, обычный html+js быстрее и не хуже.
🥒 Автодеплой? - тут да, но позже, не с первого коммита.
🥑 Контейнеры? - не обязательно, но мне привычнее, да и теперь уже быстрее, честно говоря.
🥬 Оркестрация? - Portainer в помощь.
🥦 РСУБД? - а вот без неё и правда никуда:)
Если подытожить, то держа красивую и "правильную" структуру приложения в голове, я, тем не менее, пишу приложение иначе.
С одной стороны пытаюсь его сделать легко модифицируемым и расширяемым, с другой - оно должно быть как можно более простым на первом этапе.
В общем, есть два варианта разрабатывать приложение:
🍏 выпускать релизы как можно скорее, собирать обратную связь и выпускать новые релизы
🍎 разрабатывать приложение пока оно не достигнет идеала, не выпуская его в свет.
Первые ребята через год будут на несколько итераций впереди и ближе к потребностям клиента, чем вторые.
🔔 Подписывайся на Тимлидельник — тут внезапно может оказаться интересно, а ты не подписан🧐
@teamlead_monday