Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Site Reliability Engineering (SRE) Надежность

Зачем

  • Обеспечение эксплуатационной надежности системы, набор инженерных практик, поддерживающих надежную и безотказную работу приложений в настоящем и будущем, с учетом требуемой масштабируемости и внезапных форс-мажоров.
  • Цель инженера по SRE — обеспечить надёжную работу системы
  • Определяют, что такое надёжность Reliability системы, договариваются о показателях и вырабатывают стандарты действий в случае проблем

ИТ услуга

  • ИТ-услуга - услуга, предоставляемая поставщиком ИТ-услуг. ИТ-услуга включает в себя информационные технологии, процессы и людей. ИТ-услуга, ориентированная на Заказчика, непосредственно поддерживает бизнес-процессы одного или более Заказчиков.
  • Бизнес-владелец - это основной заказчик услуги со стороны Бизнеса, использующий ее ценность для получения конечного результата.
  • ИТ-владелец - это лицо, ответственное за управление ИТ-услугой в течение ее жизненного цикла, начиная с проектирования и заканчивая выводом из эксплуатации.
  • Пользователь - лицо, использующее ИТ-услугу для выполнения конкретной функции или получения результатов ее функционирования.
  • Операция по ИТ-услуге - любая предопределенная деятельность или транзакция

Метрики

  • SLI - Service Level Indicator - индикаторы уровня обслуживания - метрики
  • доступности вырабатываются вместе с продакт-оунером и закрепляются в соглашении о целевом уровне обслуживания (метрик) — Service-Level Objective (SLO) по определенным SLI
  • Service Level Agreement (SLA) - обязанности компании перед потребителями закрепляются. Это соглашение описывает работоспособность всего сервиса и штрафы за превышение времени простоя или другие нарушения
    • описывает ИТ-услугу
    • документирует целевые показатели качества услуги
    • указывает зоны ответственности сторон
    • заключается между Бизнес-владельцем и поставщиком ИТ-услуги

Метрики оценки качества ИТ-сервиса

Бюджет ошибок

  • Бюджет ошибок — это допустимое количество ошибок за выбранный период. Мы считаем его, чтобы измерить надёжность приложения, так как отдельные метрики не дают полной картины.
  • Наш бюджет ошибок — это ситуации, когда микросервис нарушает нефункциональные требования:
    • отдаёт ответ с одним из кодов (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

Оповещения

Технологии