TGViewer
Деврелишна Деврелишна @mashadevrel · 139 subscribers
Post #1044 51

Forwarded from Организованное программирование | Кирилл Мокевнин

Главное правило принятия архитектурных решений

Когда-то давно в одной из книжек я прочитал такую фразу: "Defer decisions until the last responsible moment". Не то чтобы я сразу понял и проникся, но со временем, этот принцип стал важной частью моих правил работы.

Его популяризировали Mary и Tom Poppendieck в книге Lean Software Development: An Agile Toolkit. Суть принципа в том, что необратимые или дорогие в изменении решения стоит принимать не "как можно раньше", а настолько поздно, насколько это безопасно, то есть когда дальнейшее откладывание уже начнет закрывать важные альтернативы.

В архитектуре это обычно формулируют примерно так:

> Delay architectural decisions until the last responsible moment

Важно именно responsible, а не possible. То есть это не "тянуть до последнего", а сохранять пространство вариантов, пока появляется новая информация.

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

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

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

Telegram | YouTube | AI Клуб | Внедрение AI
More from @mashadevrel
  1. Sep 23, 2026Пасхалка: как сказать что у тебя есть ребенок, не говоря что у тебя есть ребенок
  2. Sep 20, 2026Ребеныш спросил зачем ученые пытаются оживить опять динозавров Договорились до опенгеймера…
  3. Sep 20, 2026Осознала что самая моя большая статья расходов это спорт И абонементы это меньшее из стате…
  4. Sep 16, 2026Одна из вариаций процесса укладывания спать: - почитать айболита, обсудить имя Бармолей и…
  5. Sep 16, 2026Меня одну достали новости про муху ?
  6. Sep 9, 2026Статья, которая (возможно?) отвечает на вопрос, почему ИТ-рыночек сломался https://habr.co…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →