The Twelve-Factor App
А ты знал что существует некий мейнстримовый чеклист по проверки твоего приложения, перед релизом? Ну вот, он существует и называется The Twelve-Factor App. Рекомендуется к прочтению разработчикам и девопсам, которые пилют сервисы, сасы, вебу.
1. Кодовая база — Одна кодовая база, отслеживаемая в системе контроля версий, – множество развёртываний)
2. Зависимости — Явно объявляйте и изолируйте зависимости
3. Конфигурация — Сохраняйте конфигурацию в среде выполнения
4. Сторонние службы (Backing Services) — Считайте сторонние службы (backing services) подключаемыми ресурсами
5. Сборка, релиз, выполнение — Строго разделяйте стадии сборки и выполнения
6. Процессы — Запускайте приложение как один или несколько процессов не сохраняющих внутреннее состояние (stateless)
7. Привязка портов (Port binding) — Экспортируйте сервисы через привязку портов
8. Параллелизм — Масштабируйте приложение с помощью процессов
9. Утилизируемость (Disposability) — Максимизируйте надёжность с помощью быстрого запуска и корректного завершения работы
10. Паритет разработки/работы приложения — Держите окружения разработки, промежуточного развёртывания (staging) и рабочего развёртывания (production) максимально похожими
11. Журналирование (Logs) — Рассматривайте журнал как поток событий
12. Задачи администрирования — Выполняйте задачи администрирования/управления с помощью разовых процессов
Если интересно покопаться глубже в каждом пункте, камон сюды.
А ты знал что существует некий мейнстримовый чеклист по проверки твоего приложения, перед релизом? Ну вот, он существует и называется The Twelve-Factor App. Рекомендуется к прочтению разработчикам и девопсам, которые пилют сервисы, сасы, вебу.
1. Кодовая база — Одна кодовая база, отслеживаемая в системе контроля версий, – множество развёртываний)
2. Зависимости — Явно объявляйте и изолируйте зависимости
3. Конфигурация — Сохраняйте конфигурацию в среде выполнения
4. Сторонние службы (Backing Services) — Считайте сторонние службы (backing services) подключаемыми ресурсами
5. Сборка, релиз, выполнение — Строго разделяйте стадии сборки и выполнения
6. Процессы — Запускайте приложение как один или несколько процессов не сохраняющих внутреннее состояние (stateless)
7. Привязка портов (Port binding) — Экспортируйте сервисы через привязку портов
8. Параллелизм — Масштабируйте приложение с помощью процессов
9. Утилизируемость (Disposability) — Максимизируйте надёжность с помощью быстрого запуска и корректного завершения работы
10. Паритет разработки/работы приложения — Держите окружения разработки, промежуточного развёртывания (staging) и рабочего развёртывания (production) максимально похожими
11. Журналирование (Logs) — Рассматривайте журнал как поток событий
12. Задачи администрирования — Выполняйте задачи администрирования/управления с помощью разовых процессов
Если интересно покопаться глубже в каждом пункте, камон сюды.