The Reliability Map (The R9y Map) — это открытая модель и практический инструмент для развития практик Reliability Engineering, развиваемый сообществом r9y.dev с 2021 года. Модель представлена на
конференции SREcon 2022, одним из участников проекта, Aaron Bowden, который на тот момент работал консультантом по SRE в Google Cloud Professional Services и помогал клиентам развивать практики SRE внутри организаций. Проект развивается в соответствии с Google’s Open Source Community Guidelines и изначально задуман как Open Source инициатива, а не как коммерческий продукт или вендорское решение. Наибольший вклад в развитие модели сделал
Steve McGhee.
Цель и идея моделиАвторы называют модель — картой надежности (
Reliability Map). Ее основная цель — описать и визуализировать набор способностей (
Capabilities), которые организации развивают, когда говорят о Reliability Engineering.
Ключевая идея модели заключается в работе с контекстом. Прежде чем обсуждать лучшие практики (
Best Practices), необходимо понять, в каком контексте существует проблема: является ли она организационной, связана ли с архитектурой, процессами, командами или конкретными техническими ограничениями. Только после извлечения этого контекста пространство проблем можно сузить до понятного набора, в котором Best Practices начинают работать как ориентиры, а не как универсальные рецепты.
Модель предполагает итеративный подход: определить контекст, выбрать способности и действия, внедрить изменения и проверить их эффективность через обратную связь.
Структура The Reliability MapПо своей структуре карта напоминает дерево навыков или технологическое дерево (
Tech Tree). Карта построена как эволюционная модель надежности и разделена на эры (
Era), каждая из которых соответствует определенному уровню доступности.
Каждая 9-ка доступности связана с отдельной эрой и отражает качественно новый уровень инвестиций, процессов и организационных изменений. Переход от одной эры к следующей в среднем означает рост затрат примерно в 10 раз, что подчеркивает необходимость осознанного выбора целевого уровня надежности.
Эры The Reliability Map- Demo — 90.0
- Deterministic — 99.0
- Reactive — 99.9 (Well engineered software)
- Proactive — 99.99 (Well engineered operations)
- Autonomic — 99.999 (Well engineered business)
Таким образом карта демонстрирует, что надежность — это не бинарное состояние, а путь с возрастающей сложностью и стоимостью.
Категории и охват практикThe Reliability Map охватывает не только технические аспекты, но и организацию в целом. Действия (
Actions), представленные на карте, распределены по следующим направлениям:
- Development
- Infrastructure
- Operations
- Observability
- People
Это позволяет рассматривать надежность как системное свойство организации, а не как ответственность отдельной команды или набора инструментов. Улучшения в одной области на карте наглядно показывают зависимости и приводят к улучшениям в других областях.
Действия и уровень детализацииКаждое действие на карте имеет собственную страницу с подробным описанием:
- как выполнить действие;
- какие существуют предварительные условия;
- какие способности должны быть развиты заранее;
- ссылки на полезные материалы и справочные источники.
В
репозитории на GitHub представлены формализованные описания действий и их предпосылок, включая, например, определения централизованного сбора логов или требований к процессам реагирования на инциденты.
Практическое использование моделиС точки зрения технического руководителя или инженера, внедряющего SRE практики, The Reliability Map отвечает на ключевой вопрос: какие способности развивать в первую очередь.
Авторы предлагают начинать с честной самооценки текущих способностей. Наличие технологии само по себе не считается достаточным. Например, Smoke тесты или Unit тесты могут существовать формально, но реально использоваться только одной командой или даже одним инженером. Это указывает на низкий уровень организационной зрелости соответствующей способности.
После самооценки карта позволяет:
- определить приоритетные шаги с наибольшей отдачей;
- выделить небольшие инициативы с быстрым эффектом;
- сформировать аргументированный запрос на инвестиции для более крупных изменений.
В этом смысле карта становится инструментом диалога с бизнесом, позволяя обсуждать требования уровня 99.99 не абстрактно, а через конкретные способности, этапы и инвестиции.
Тактическая и стратегическая ценностьThe Reliability Map дает два уровня ценности:
- тактический — помогает определить краткосрочные действия для улучшения текущего уровня надежности;
- стратегический — позволяет сформировать роадмап развития SRE и обосновать долгосрочные инвестиции.
Ключевой вывод авторов — важность честной самооценки. Разные команды внутри одной организации могут находиться на разных уровнях зрелости, и это необходимо учитывать при планировании.
Сообщество и развитие картыКарта надежности The Reliability Map развивается как открытое сообщество. Участники ежемесячно собираются для обсуждения практик Reliability Engineering,
текстовые саммари встреч публикуются в открытом доступе, и к обсуждениям можно свободно присоединяться. Дополнительно авторы выпускают
подкаст Google SRE Prodcast, посвященный практикам SRE и надежности на примерах из реальных организаций.
Недостатки модели- Отсутствие эмпирической и индустриальной валидации. Карта не опирается на исследования или данные, подтверждающие корреляцию между уровнями доступности и набором практик. Используемые 9-ки и эры представляют экспертную гипотезу, не подтвержденную статистикой или широкой проверкой за пределами небольшего сообщества;
- Несогласованность действий и направлений. Действия в разных направлениях не согласованы между собой. В результате такие элементы, такие как SLI, SLO и Error budgets, появляются раньше, чем соответствующие роли, ответственность и организационные структуры, что создает логические разрывы между техническими и организационными аспектами надежности;
- Подмена практик перечнем действий и артефактов. Карта фиксирует конкретные действия и инструменты, но не описывает практики как воспроизводимые способы работы с целями, границами применимости и вариативностью реализации. Это превращает модель в чек-лист, а не в полноценный каталог практик или набор Capabilities;
- Неполнота и неравномерная проработка элементов. Часть действий не имеет описаний, предпосылок или критериев применения. Зависимости между элементами задекларированы, но не всегда явно выражены. Это повышает риск формальной оценки при использовании карты.