The Twelve Factors. И ты тоже?

Когда-то в далеком 2011 году разработчики платформы Heroku собрали ряд проблем, на которые налетает большинство их клиентов, и сформировали 12 правил-принципов и обозвали это The Twelve-Factor App

Авторам The Twelve-Factor App удалось создать стройную и непротиворечивую систему принципов и способов построения практической деятельности по созданию веб-приложений и даже чуть шире — веб-сервисов по модели software-as-a-service (SaaS). И в этом смысле The Twelve-Factor App можно назвать методологией.

Сильное влияние на авторов оказали книги Мартина Фаулера «Patterns of Enterprise Application Architecture» и «Refactoring». Прежде всего они адресовали свою работу разработчикам, которые создавали в то время SaaS-приложения, и Ops-инженерам, которые были заняты развертыванием и управлением такими приложениями.

Вот эти факторы в коротком изложении, хотя за каждым скрывается развернутое описание:

Двенадцать факторов

I. Кодовая база Одна кодовая база, отслеживаемая в системе контроля версий, — множество развертываний

II. Зависимости Явно объявляйте и изолируйте зависимости

III. Конфигурация Сохраняйте конфигурацию в среде выполнения

IV. Сторонние службы (Backing Services) Считайте сторонние службы (backing services) подключаемыми ресурсами

V. Сборка, релиз, выполнение Строго разделяйте стадии сборки и выполнения

VI. Процессы Запускайте приложение как один или несколько процессов, не сохраняющих внутреннее состояние (stateless)

VII. Привязка портов (port binding) Экспортируйте сервисы через привязку портов

VIII. Параллелизм Масштабируйте приложение с помощью процессов

IX. Одноразовость (Disposability) Максимизируйте надежность с помощью быстрого запуска и корректного завершения работы

X. Паритет разработки/работы приложения Держите окружения разработки, промежуточного развёртывания (staging) и рабочего развёртывания (production) максимально похожими

XI. Журналирование (Logs) Рассматривайте журнал как поток событий

XII. Задачи администрирования Выполняйте задачи администрирования/управления с помощью разовых процессов

Многие вещи из этого списка остались, и кажется, совсем не устарели, но если копнуть глубже, ряд пунктов требует обновления. И 12 ноября Yehuda Katz объявил, что Twelve-Factor App Methodology is now Open Source. О том, какой это Open Source, мы еще узнаем, но, кажется, нас ждет обновление и модернизация ранее созданной методологии, порадуемся этому.

The Twelve Factors | Сетка — новая социальная сеть от hh.ru
repost

22

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь