Что является критичным, а что нет в контексте DevOps?

Ответ

В моей работе DevOps-инженера классификация на критичное и некритичное основана на влиянии на бизнес-процессы и пользователей.

Критичные (Critical) компоненты:

  • Базовые сервисы инфраструктуры: DNS, шлюзы, балансировщики нагрузки (Nginx, HAProxy), кластеры баз данных (PostgreSQL, Redis в режиме primary). Их отказ приводит к недоступности всего приложения.
  • Ключевые бизнес-сервисы: Платежный шлюз, сервис аутентификации, основной API бэкенда.
  • Системы координации: Consul, etcd или мастер-ноды Kubernetes. Без них перестает работать оркестрация.

Некритичные (Non-Critical) компоненты:

  • Вспомогательные системы: Сервисы мониторинга (Grafana, Alertmanager), агрегаторы логов (Loki, Elasticsearch для логов), тестовые среды. Их временная деградация допустима.
  • Улучшающие компоненты: Кэширующие слои (Redis для кэша, CDN), фоновые воркеры для обработки не срочных задач (отправка email, генерация отчетов).
  • Реплики данных: Реплики БД для чтения, резервные инстансы приложений.

Пример из практики: В одном из проектов мы определяли приоритеты для алертов в Prometheus. Алерт на недоступность балансировщика имел наивысший приоритет (P0) и вел к немедленному пейджингу, в то время как алерт на высокую загрузку ЦП в сервисе аналитики был P3 и обрабатывался в рабочее время.

Ответ 18+ 🔞

А, ну это, блядь, классика жанра! Сидишь такой, пьешь кофе, а тут — ёпта — алерты как из пулемёта. И первая мысль: «На какого хуя?» А вторая: «Что горит по-настоящему, а что просто дымит?» Так вот, вся эта ебля с классификацией — она как раз про это.

Критичное (Critical) — это когда всё, пиздец, караул. Представь: базовые сервисы инфраструктуры — DNS, балансировщики (типа Nginx или HAProxy), главные базы данных (PostgreSQL, Redis в роли primary). Это, блядь, фундамент. Если это легло — у тебя не просто «ой, лагает», а у тебя всё приложение накрылось медным тазом. Пользователи видят белую страницу или ошибку 500, деньги не идут, бизнес стоит. Вот это вот — «в рот меня чих-пых» уровень. Сюда же ключевые бизнес-сервисы: платежка, сервис логина, основной API. Упало — всем пидарасам шерстяным из бизнеса сразу звонок, и они начинают орать. И, конечно, системы координации вроде Consul или мастер-ноды кубера. Без них вся оркестрация — просто куча железа, которая нихуя не делает.

Некритичное (Non-Critical) — это когда можно выдохнуть и не бздеть. Вспомогательные системы: Grafana, Alertmanager, Loki для логов. Ну упала Grafana — графики не посмотришь, терпения ноль ебать, но пользователи-то нихуя не заметили! Тестовые среды — там вообще да похуй, пусть горят, лишь бы не на прод. Улучшающие компоненты: Redis как кэш (не primary!), CDN, фоновые воркеры для рассылок. Без них жить можно, просто медленнее или не так красиво. Реплики БД для чтения — основная-то жива, значит, не всё потеряно.

Пример из жизни, чтобы вообще ни хуя себе стало понятно: В одном проекте мы настраивали алерты в Prometheus. Так вот, алерт на смерть балансировщика — это был P0, наивысший приоритет. Сразу пейджинг, звонок среди ночи, все гомосеки налетели в войс. А алерт на высокую загрузку ЦП в каком-нибудь сервисе аналитики — это P3. Утром посмотрим, может, само рассосётся. Разница — как между пожаром в серверной и тем, что в комнате отдыха кончилось печенье. Вот и вся философия, чувак.