The Twelve-Factor App. Принципы архитектуры современных веб-приложений.
Из введения:
«Участники, внёсшие вклад в этот документ, были непосредственно вовлечены в разработку и развёртывание сотен приложений и косвенно были свидетелями разработки, выполнения и масштабирования сотен тысяч приложений во время нашей работы над платформой Heroku.
В этом документе обобщается весь наш опыт использования и наблюдения за самыми разнообразными SaaS-приложениями в дикой природе. Документ является объединением трёх идеальных подходов к разработке приложений: уделение особого внимания динамике органического роста приложения с течением времени, динамике сотрудничества разработчиков, работающих над кодовой базой приложения, и устранение последствий эрозии программного обеспечения.
Наша мотивация заключается в повышении осведомлённости о некоторых системных проблемах, которые мы встретили в практике разработки современных приложений, а также для того, чтобы предоставить общие основные понятия для обсуждения этих проблем и предложить набор общих концептуальных решений этих проблем с сопутствующей терминологией. Формат навеян книгами Мартина Фаулера (Martin Fowler) Patterns of Enterprise Application Architecture и Refactoring».
https://www.asyncink.com/twelve-factors
В общем, читается за вечер. Все принципы просты и каждый сфорулирован в формате короткой статьи. При нормально выстроенном процессе разработки (попросту адекватно современным требованиям) многие из изложенных принципов выполняются автоматически.
Например, трудно представить, чтобы сегодня разработка велась без системы контроля версий или чтобы нарушалась связь «одно приложение (сервис) — один репозиторий».
Но соблюдение всех принципов с течением времени, в процессе эволюции продукта, роста команды и усложнения процессов — свидетельствуют о хорошем техническом управлении и правильной организации работы.
@asyncink