[1/2] A Field Guide to Reliability Engineering at Zalando • Heinrich Hartmann • GOTO 2024 (Рубрика Management)
Недавно я посмотрел интересное выступление от Heinrich Hartmann, Head of Reliability Engineering at Zalando SE, про их подходы к обеспечению надежности.
Основные идеи доклада следующие:
- Heinrich отмечает, что он рассказывает про опыт Zalando, компании, что не является бигтехом и не может себе позволить размах Google в плане SRE. Поэтому цель выступления - поделиться знаниями и опытом для малых и средних компаний.
- У ребят миссия в Zalando есть четко сформулированная миссия у SRE
Mission: Protect the User Experience from operational failures while keeping an eye on Developer Productivity and On-Call Health Дальше это превращается в Zalando rule of operations: 3) Rule of operations #1: Obsess about user experience Опыт пользователя должен стремиться к идеалу, но есть метрики productivity и on-call health являются компенсирующими при попытке повышения надежности. Условно, легко быть надежным, если не менять свои системы (это уменьшает productivity) или сжигать людей в дежурствах (это уменьшает on-call health). В итоге, это объединяется в SRE-треугольник: Reliability - Productivity - On-Call Health. Интересно, что по нашим отчетам в рамках фреймворка SPACE в Т-Банке видно, что ниже всего удовлетворенность как раз у SRE инженеров (про сам фреймворк SPACE я рассказывал здесь). 4) Rule of operations #2: Engineering for reliability involves people as much as involves technology По-факту, надежность это не только про технику, но и про людей. И чем больше компания, тем больше это про людей и процессы:) В итоге, нам надо рассматривать это с точки зрения социотехнической системы. Автор рекомендует изучить для этого системное мышление и рекомендует книгу "Азбука системного мышления" ("Thinking in Systems: A Primer"), про которую я уже рассказывал. Системное мышление позволит научиться учитывать вторичные и третичные эффекты за счет учета feedback loops. Интересно, что feedback loops являются частью другого фреймворка для developer productivity, что называется DevEx, про который я рассказывал раньше 5) Дальше автор вспоминает закон Конвея и мантру "You build it you run it" как руководящие принципы для организации технологической и организационной структуры 6) Автор приводит системную модель Заландо, которую он использует в размышлениях:
- Менеджмет наверху (25 директоров)
- Engineering в середине (250 команд и 3.5к приложений)
- Платформа в основании (k8s, Postgres, Kafka, CI/CD, Observability, ..., 20 команд) В итоге, сложные задачки ребята пытаются унести в возможности платформы и снять нагрузку с команд. Нарпимер, масштабируемость и планирование ресурсов интегрированы в платформу, или возможность проводить нагрузочные тесты
- Дальше автор отмечает в чем Zalando хороши: backend и инфра под микросервисы, а также observability этого, а в чем хочется улучшаться: понимание user experience, а также надежность data systems и бизнес-процессров 8.) Дальше автор рассказывает пр алертинг и делится еще одним operations правилом: Rule of operations #3: Alert on user experience ("symptoms") not on server experience ("causes"). Технические директора отсматривают отчеты по дежурствам по своим командам, чтобы отслеживать нагрузку на инженеров. Если нагрузка слишком велика, то требуется с этим разобраться
Продолжение обзора в следующем посте.
#SRE #Architecture #DistributedSystems #Software #Observability