Основные принципы SRE | OTUS

Основные принципы SRE

Концепция SRE включает в себя довольно много конкретных практик. Но в их основе все равно лежат базовые принципы. О них и поговорим.

Принятие рисков

Если рассуждать с точки зрения бытовой логики, то корпорации типа Google должны стремиться к созданию сервисов со 100%-ной надежностью. Однако на самом деле в компании Google уверены, что такое стремление -- это в большей степени вред, чем польза. Почему? Потому что оно недостижимо на практике и, по сути, серьезно ограничивает число новых возможностей, а также скорость, с которой эти возможности реализуются. Ну и, понятное дело, при таком положении дел кратно увеличивается цена сервисов для конечных пользователей.

"Надейся на лучшее, однако готовься к худшему" -- говорят в Google. С этим сложно спорить, ведь предусмотреть все невозможно, как невозможно все взять под контроль. От случайностей мы не застрахованы: люди периодически ошибаются, а экскаваторы повреждают кабели. Но надежда стратегией не является, а вот учет рисков и готовность к неблагоприятному развитию обстоятельств -- это уже гораздо лучше.

SRE_logo_main_transp_1-1801-1012dd.png

Закрепление уровня обслуживания

Вместо слепой веры в удачу, SRE-подход дает нам возможность внедрять практику управления рисками, что он, собственно говоря, и предлагает. То есть компании следует принять, что падения и ошибки все равно неизбежны, следовательно, важно определить уровень надежности сервиса, который можно назвать приемлемым для системы.

И вот тут-то на сцену выходит SLO — внутренний документ, причем метрики, в нем отмеченные, должны быть максимально близки к пользователю, не говоря уже о том, что они должны быть максимально конкретны. На практике команда применяет SLO для оценки своей работы и приоритизации задач. Как раз таки на основании SLO и определяют Error budget -- бюджет на ошибки.

1-1801-78ccdd.png

Мониторинг

Если нет мониторинга, то и отслеживать выполнение SLO у вас не получится. Именно поэтому в рамках SRE должен быть настроен и сбор, и обработка, и агрегирование, и отображение данных о системе. При этом, исходя из задач бизнеса, SRE-подход решает, какие именно из вышеуказанных данных надо отслеживать регулярно, а о каких показателях надо сразу же сообщать в случае изменений.

monitoring_1-1801-78d96a.jpg

Отказ от рутины и автоматизация

Одной из ключевых задач SRE является обеспечение надежности. Например, если речь идет о рутинных и повторяющихся задачах, то скрипт выполнит их как быстрее, так и качественнее, чем человек, причем разница может быть в десятки и сотни раз. Именно поэтому все рутинные операции обязаны быть автоматизированы.

2-1801-72e0e8.png

Релиз-инжиниринг

Выпуск новых функциональных возможностей оказывает значительное влияние на стабильность сервисов. Именно поэтому SRE-инженеры также участвуют и в разработке CI/CD-пайплайнов. Главная цель тут та же — автоматизировать все, что можно автоматизировать. Ну и, разумеется, подготовиться к непредвиденным ситуациям, снизив риски возникновения этих ситуаций к минимуму, к примеру, посредством тех же «канареечных релизов».

3-1801-301d4d.png

Хотите знать больше? Вот вам первоисточники от Google.

По материалам https://rb.ru/opinion/SRE-for-what/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто