Обзор Platform Engineering Maturity Model

В конце 2023 года рабочая группа CNCF по платформам (Platforms WG) представила первый релиз модели зрелости Platform Engineering (Platform Engineering maturity model). По мере развития Platform Engineering стали очевидны определенные паттерны, организуя эти паттерны и наблюдения в виде прогрессивной модели зрелости (Maturity model), авторы модели стремятся сориентировать платформенные команды относительно вызовов, с которыми они могут столкнуться, и возможностей, к которым они могут стремиться.

Новая модель представляет Platform Engineering как практику, используемую для предоставления внутренней платформы как продукта (Platform as a product) за счет инвестиций во все аспекты создания платформ и их возможностей, включая людей, процессы, политики и технологии, которые, в свою очередь, приводят к достижению бизнес результатов.

Цель данной модели — предоставить инструмент развития платформ, который поможет практикам Platform Engineering, стейкхолдерам и другим заинтересованным сторонам. Модель основана на первом документе рабочей группы — CNCF Platforms White Paper, в котором даны основные определения и характеристики, связанные с внутренними платформами.

Целевая аудитория, для которой предназначена модель зрелости:
  • CTO, VP и директора по технологиям: руководители, стремящиеся выстроить маршрут цифровой трансформации и повысить продуктивность разработчиков (Developer Productivity);
  • Engineering managers: группы и отдельные руководители, которые стремятся дать инженерам возможность создавать ценность с меньшими накладными расходами и более высокой эффективностью;
  • Enterprise architects: эксперты, ориентирующиеся в современном технологическом ландшафте и ищущие взгляд на технологические проблемы;
  • Platform engineers и platform product managers: команды и эксперты, стремящиеся создать наилучший возможный опыт для разработчиков платформ и пользователей платформ;
  • Вендоры продуктов и инструментов: организации и инженеры, которые хотят создавать инструменты и помогать пользователям успешно с ними работать
  • Разработчики приложении и продуктов: пользователи платформ, которые хотят более детально понять, чего они могут ожидать от внутренней платформы

Модель включает 5 аспектов (Investment, Adoption, Interfaces, Operations, Measurement) и 4 уровня зрелости (Provisional, Operational, Scalable, Optimizing):
  • Каждый аспект представлен как непрерывная шкала характеристик, отражающих различия в подходах команд и организаций на разных уровнях зрелости;
  • Каждый аспект предназначен для независимой оценки и развития, может оказаться, что для улучшения одного аспекта необходимо достичь минимального уровня зрелости и в другом аспекте;
  • Аспекты часто находятся не в зоне полной ответственности одной внутренней команды, а требуют взаимодействия между командами как внутри инженерного подразделения, так и в более широком масштабе всей организации;
  • Каждый уровень зрелости описывает качества, которые должны проявляться на соответствующем этапе, поэтому достижение наивысшего уровня не должно быть целью, сначала необходимо оценить, принесут ли эти качества пользу внутри организации;
  • Начальные уровни в большей степени включают тактические решения, тогда как высшие уровни носят более стратегический характер;
  • Каждый следующий уровень зрелости сопровождается более высокими требованиями.

Модель зрелости Platform Engineering формирует потенциальный процесс развития и повышения зрелости платформ, аналогичный другим подходам к разработке цифровых продуктов: сначала выявляется проблема и потребность в новом решении, затем разрабатываются минимально жизнеспособные продукты (Minimal Viable Products, MVP) как предполагаемые решения, далее проводится итеративное улучшение для более точного решения проблемы и обеспечения соответствия потребностям пользователей, и, наконец, продукт масштабируется и оптимизируется для решения проблемы для множества команд и пользователей.

Результатом оценки по модели зрелости является не уровень, на котором находятся ваши платформы, а список того, над чем вам необходимо работать для улучшения. Текущий уровень — это лишь промежуточный результат, необходимый для определения списка возможностей, которые следует развивать дальше. Авторы рекомендуют определить свое текущее положение в модели, а затем выявить возможности на соседних уровнях.

Пять аспектов модели зрелости Platform Engineering:
  1. Investment (Инвестиции). Как организованы платформенные команды и их финансирование? Данный аспект отражает то, как масштаб и широта инвестиций влияют на успех платформ;
  2. Аспект Adoption (Принятие). Как пользователи используют и переходят на платформенные сервисы? Данный аспект описывает не только то, как и в каком объеме организация использует платформенные возможности, но и то, что мотивирует ее к этому;
  3. Аспект Interfaces (Интерфейсы). Как пользователи взаимодействуют с платформенными сервисами? Данный аспект отражает как интерфейсы, предоставляемые платформами, определяют то, как пользователи взаимодействуют с платформенными сервисами для заказа, управления и наблюдения за сервисами;
  4. Аспект Operations (Развитие). Как планируются, приоритизируются, разрабатываются и поддерживаются платформенные сервисы? Данный аспект описывает как в организации создают и поддерживают платформенные сервисы на всех этапах жизни: от приема новых запросов и первичных релизов до обновлений, расширений, регулярного сопровождения и эксплуатации, поддержки пользователей, а также вывода сервисов из эксплуатации и завершения их использования;
  5. Аспект Measurement (Измерение). Как платформенные команды работают с метриками и обратной связью? Данный аспект показывает как организован процесс сбора и использования обратной связи и обучения.

Модель зрелости Platform Engineering от CNCF в виде таблицы представлена ниже:
Полный разбор модели зрелости Platform Engineering от CNCF с характеристиками каждого аспекта и сценариями применения доступен в материалах Enabling Community. Если вам интересно развитие Platform Engineering в вашей компании или команде, обращайтесь к нам за помощью. Мы помогаем создавать и улучшать внутренние платформы, формируем и развиваем платформенные команды, проводим анализ платформенных сервисов, процессов и практик, готовим рекомендации по повышению зрелости платформ и платформенных команд, помогаем реализовать рекомендации на практике.

Не забывайте подписываться на наш канал Enabling.team Insights, чтобы оставаться в курсе технологических трендов.