Методика двенадцатифакторного приложения
Часть серии о |
Разработка программного обеспечения |
---|
Методология двенадцатифакторных приложений — это методология создания приложений «программное обеспечение как услуга» . Эти передовые методы разработаны для того, чтобы приложения могли создаваться с возможностью переносимости и устойчивости при развертывании в Интернете . [1]
История
[ редактировать ]Методология была разработана разработчиками Heroku , компании , предоставляющей платформу как услугу , и впервые была представлена Адамом Виггинсом примерно в 2011 году. [1]
Двенадцать факторов
[ редактировать ]# | Фактор | Описание |
---|---|---|
я | Кодовая база | Для развернутой службы должна быть ровно одна база кода, которая будет использоваться для многих развертываний. |
II | Зависимости | Все зависимости должны быть объявлены без неявной зависимости от системных инструментов или библиотек. |
III | Конфигурация | Конфигурация, которая варьируется в зависимости от развертывания, должна храниться в среде. |
IV | Резервные услуги | Все вспомогательные службы рассматриваются как присоединенные ресурсы, которые прикрепляются и отсоединяются средой выполнения. |
V | Сборка, выпуск, запуск | Конвейер доставки должен строго состоять из сборки, выпуска и запуска. |
МЫ | Процессы | Приложения следует развертывать как один или несколько процессов без сохранения состояния с постоянными данными, хранящимися в резервной службе. |
VII | Привязка порта | Автономные службы должны быть доступны другим службам через указанные порты. |
VIII | Параллелизм | Параллелизм поддерживается путем масштабирования отдельных процессов. |
IX | Одноразовость | Быстрый запуск и завершение работы рекомендуется для более надежной и отказоустойчивой системы. |
Х | Паритет разработки и разработки | Все среды должны быть максимально похожими. |
XI | Журналы | Приложения должны создавать журналы в виде потоков событий и оставлять среду выполнения для агрегирования. |
XII | Административные процессы | Любые необходимые задачи администрирования следует хранить в системе контроля версий и упаковывать вместе с приложением. |
Критика и адаптация
[ редактировать ]Архитектор Nginx утверждал, что актуальность концепции приложения «Двенадцать факторов» в некоторой степени специфична для Heroku, одновременно представляя собственную (Nginx) предложенную архитектуру для микросервисов. [3] Однако двенадцать факторов приводятся в качестве основы для адаптации или расширения. [4]
Ссылки
[ редактировать ]- ^ Jump up to: а б с Хофманн, Майкл; Шнабель, Эрин; Стэнли, Кэтрин (13 марта 2017 г.). Лучшие практики микросервисов для Java . Красные книги IBM. стр. 2–3. ISBN 9780738442273 .
- ^ Виггинс, Адам. «Приложение Двенадцать Факторов» . Архивировано из оригинала 13 июня 2017 года . Проверено 21 декабря 2017 г.
- ^ Горовиц, Бен (28 июля 2016 г.). «MRA, Часть 5: Адаптация приложения «Двенадцать факторов» для микросервисов» . НГИНКС . Архивировано из оригинала 22 декабря 2017 года . Проверено 22 декабря 2017 г.
- ^ «За пределами приложения «Двенадцать факторов» — исследование ДНК высокомасштабируемых и отказоустойчивых облачных приложений» . О'Рейли . Проверено 22 декабря 2017 г.