Site Reliability Engineering (SRE) Надежность
Зачем
- Обеспечение эксплуатационной надежности системы, набор инженерных практик, поддерживающих надежную и безотказную работу приложений в настоящем и будущем, с учетом требуемой масштабируемости и внезапных форс-мажоров.
- Цель инженера по SRE — обеспечить надёжную работу системы
- Определяют, что такое надёжность Reliability системы, договариваются о показателях и вырабатывают стандарты действий в случае проблем
- стабильность resilience
- доступность availability
ИТ услуга
- ИТ-услуга - услуга, предоставляемая поставщиком ИТ-услуг. ИТ-услуга включает в себя информационные технологии, процессы и людей. ИТ-услуга, ориентированная на Заказчика, непосредственно поддерживает бизнес-процессы одного или более Заказчиков.
- Бизнес-владелец - это основной заказчик услуги со стороны Бизнеса, использующий ее ценность для получения конечного результата.
- ИТ-владелец - это лицо, ответственное за управление ИТ-услугой в течение ее жизненного цикла, начиная с проектирования и заканчивая выводом из эксплуатации.
- Пользователь - лицо, использующее ИТ-услугу для выполнения конкретной функции или получения результатов ее функционирования.
- Операция по ИТ-услуге - любая предопределенная деятельность или транзакция
Метрики
- SLI - Service Level Indicator - индикаторы уровня обслуживания - метрики
- доступности вырабатываются вместе с продакт-оунером и закрепляются в соглашении о целевом уровне обслуживания (метрик) — Service-Level Objective (SLO) по определенным SLI
- Service Level Agreement (SLA) - обязанности компании перед потребителями закрепляются. Это соглашение описывает работоспособность всего сервиса и штрафы за превышение времени простоя или другие нарушения
- описывает ИТ-услугу
- документирует целевые показатели качества услуги
- указывает зоны ответственности сторон
- заключается между Бизнес-владельцем и поставщиком ИТ-услуги
Метрики оценки качества ИТ-сервиса
- доступность (availability)
- производительность (performance)
- надежность (reliability)
- сопровождаемость (maintainability)
- обслуживаемость (serviceability)
- безопасность (security)
Бюджет ошибок
- Бюджет ошибок — это допустимое количество ошибок за выбранный период. Мы считаем его, чтобы измерить надёжность приложения, так как отдельные метрики не дают полной картины.
- Наш бюджет ошибок — это ситуации, когда микросервис нарушает нефункциональные требования:
- отдаёт ответ с одним из кодов (400, 500, 503, 504)
- или отвечает слишком медленно (Latency 100 мс)
- Что даёт расчёт бюджета ошибок?
- Микросервис становится предсказуемым. Например, если указать, что микросервис ответит за 300 мс в 99,9% случаев, то все прочие подключившиеся микросервисы будут ожидать ответ за это время.
- Появляется простор для манёвров. Разработчики могут экспериментировать в рамках бюджета ошибок без риска положить сервис.
SLI
Что мониторить:
- Client-side monitoring (Sentry и тп): Error, Performance
- Network monitoring: Latency, Throughput, Utilization
- CDN
- Load Balancer
- Router
- DNS
- VPCs
- Server-side monitoring
- system
- application