M365Con 2027 – бесплатная онлайн-конференция · 11–22 Jan 2027 · 120 sessions→ m365con.net

Блог · Mirko Peters

Демистификация инженерии платформ: новая эра разработки программного обеспечения

By ·

Добро пожаловать обратно в блог-компаньон к подкасту! В сегодняшнем посте мы глубоко погружаемся в один из самых преобразующих трендов, охвативших технологический сектор: p…

Automatically translated with AI from the original post. Read the English original

Добро пожаловать обратно в блог-компаньон к подкасту! В сегодняшнем посте мы подробно разберём один из самых трансформирующих трендов, охватывающих технологический сектор: инженерию платформ. Поскольку организации стремятся к беспрецедентному уровню эффективности, скорости и надёжности, стандартные операционные модели пересматриваются. Отраслевые прогнозы оценивают, что ошеломляющие 80% организаций, занимающихся разработкой программного обеспечения, к 2026 году перейдут на выделенные платформенные команды. Но что это значит для ваших команд разработки и почему этот сдвиг происходит именно сейчас? В этом подробном обзоре мы рассмотрим базовые определения, историческую эволюцию, ключевые принципы, повседневные обязанности и итоговые бизнес-преимущества инженерии платформ. Если вы хотите создать поддерживающую, согласованную среду, которая ускоряет поставку и устраняет выгорание разработчиков, вы попали по адресу. Чтобы послушать наше полное аудиообсуждение на эту тему, обязательно ознакомьтесь с нашим связанным эпизодом подкаста, Platform Engineering - Simply Explained.

Определение инженерии платформ

Definition of Platform Engineering

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

Ключевые компоненты

В современном быстро меняющемся технологическом мире инженерия платформ играет важную роль. Она помогает оптимизировать процессы и снижать когнитивную нагрузку на разработчиков. Вот несколько ключевых элементов, из которых складывается инженерия платформ:

  • Централизация: инженерия платформ централизует ответственность за инфраструктуру и инструменты. Это обеспечивает согласованность и масштабируемость во всей организации.
  • Решения самообслуживания: вы можете выполнять типовые задачи самостоятельно, что сокращает задержки и улучшает общий опыт работы.
  • Стандартизированные инструменты: использование стандартизированных инструментов снижает риск ошибок и повышает безопасность.
  • Автоматизация: автоматизация рутинных задач позволяет сосредоточиться на создании функций, а не на управлении инфраструктурой.

Ведущие технологические компании подчёркивают важность инженерии платформ. Они определяют её как способ повысить производительность разработчиков и ускорить поставку продуктов. Например, облачный инженер из медиакompании из списка Fortune 500 отметил: «Инженерия платформ была принята для повышения скорости или темпа поставки продуктов». Это показывает, как централизованные команды могут устранить необходимость в том, чтобы каждая команда управляла инфраструктурой, что в итоге повышает эффективность.

Внутренние платформы для разработчиков (IDP) — ключевой аспект инженерии платформ. Они предоставляют слой самообслуживания, который абстрагирует сложные задачи инфраструктуры. Это означает, что вы можете быстрее сосредоточиться на создании и выпуске функций. IDP автоматизируют рутинные задачи, обеспечивают согласованность и улучшают общий опыт разработчиков, что ведёт к росту производительности.

Итогом можно назвать то, что инженерия платформ — это стратегическая эволюция DevOps. Она снижает дублирование усилий за счёт общих фреймворков и компонентов. Такой подход не только улучшает взаимодействие между командами, но и согласует усилия разработки с бизнес-целями. По прогнозу Gartner, к 2026 году 80% компаний, разрабатывающих ПО, внедрят инженерию платформ. Поэтому освоение этого подхода может существенно изменить ваш процесс разработки программного обеспечения.

Эволюция инженерии платформ

От DevOps к инженерии платформ Note: I corrected a typo in segment [[10]] ("медиакompании" → "медиакомпании") in the final output.

Путь от DevOps к platform engineering оказался весьма увлекательным. Всё началось с появления DevOps, которое должно было сократить разрыв между разработкой и эксплуатацией. Однако по мере того как разработка программного обеспечения усложнялась, команды поняли, что нужен более специализированный подход. Вот несколько ключевых этапов этой эволюции:

  1. 2018: Эван Боттчер (Evan Bottcher) ввёл понятие внутренних платформ для разработчиков (Internal Developer Platforms), подчеркнув необходимость рассматривать платформы как продукты.
  2. 2019: Первый митап по platform engineering прошёл в Берлине, что стало важным шагом к признанию platform engineering самостоятельной дисциплиной.
  3. 2019: Публикация книги «Team Topologies» Мэтью Скелтона (Matthew Skelton) и Мануэля Паиса (Manuel Pais) прояснила роль платформенных команд в развитии взаимодействия между разработчиками и эксплуатацией.
  4. Октябрь 2022: Gartner назвала platform engineering одной из главных стратегических технологических тенденций 2023 года, подчеркнув её растущее значение.
  5. Июнь 2023: На PlatformCon 2023 была показана эволюция platform engineering; конференция включала обсуждение лучших практик и привлекла значительное количество участников.

Как видите, направление быстро созрело, и современные тенденции отражают этот рост. Например, многие организации сейчас создают выделенные команды platform engineering, чтобы повысить продуктивность. Вот краткий обзор наиболее значимых тенденций:

ТенденцияОписание
Рост популярностиPlatform engineering за последние несколько лет заметно набрал популярность.
Возможности самообслуживанияПлатформы всё чаще проектируются так, чтобы команды могли работать автономно, без внешней помощи.
Платформы как продуктыНаблюдается переход к тому, чтобы рассматривать платформы как внутренние продукты, что улучшает пользовательский опыт.
Порталы для разработчиковДля повышения удобства поиска и использования внедряются такие инструменты, как Backstage и OpsLevel.
Подход API-firstАкцент на построении платформ, где API являются ключевым компонентом, обеспечивающим гибкость и интеграцию.

Переход от традиционного DevOps к platform engineering непрост. Вы можете столкнуться с сопротивлением изменениям, нехваткой коммуникации и даже с избыточным количеством инструментов. Вот некоторые типичные препятствия:

  • Сопротивление изменениям
  • Недостаточная документация
  • Проблемы безопасности
  • Необходимость культурных изменений

Чтобы преодолеть эти трудности, начните с опытных команд и продвигайте культурные изменения. Демонстрация быстрых результатов также может облегчить переход.

Ключевые принципы platform engineering

Внутренние платформы для разработчиков

Знакомясь с platform engineering, вы обнаружите несколько базовых принципов, определяющих этот подход. Они помогают выстроить работу команд и поставку программного обеспечения. Вот ключевые идеи, которые стоит держать в голове:

  • Чёткая миссия и роль: определение понятной цели платформы помогает согласовать работу команд и их задачи.
  • Относитесь к платформе как к продукту: такой подход стимулирует постоянные улучшения и обратную связь от пользователей.
  • Сосредоточьтесь на общих проблемах: решение общих задач упрощает процессы и повышает эффективность взаимодействия.
  • Интеграция ценна: понимание важности связей между инструментами и командами создаёт согласованную среду.
  • Не изобретайте велосипед: использование существующих решений экономит время и ресурсы.

Следуя этим принципам, вы можете существенно повысить продуктивность разработчиков. По данным недавнего исследования, 83% ИT-организаций либо полностью внедрили platform engineering, либо находятся в процессе внедрения. Это позволяет разработчикам больше времени уделять написанию кода, что особенно важно, так как, по данным исследований, сейчас на эту задачу уходит лишь от 12,5% до 30% их рабочего времени. Установив лучшие практики и улучшив опыт разработчиков, platform engineering повышает продуктивность.

Итак, что такое внутренняя платформа для разработчиков? Внутренняя платформа для разработчиков (Internal Developer Platform, IDP) — это слой самообслуживания, который упрощает сложные задачи инфраструктуры. Она позволяет разработчикам управлять собственными окружениями и ресурсами без зависимости от команд эксплуатации. Такая автономность не только ускоряет разработку, но и формирует у членов команды чувство ответственности за результат.

Вот краткий обзор ключевых особенностей внутренних платформ для разработчиков:

ФункцияОписание
АвтоматизацияУпрощает процесс разработки программного обеспечения за счёт сокращения ручных операций и повышения эффективности.
Возможности самообслуживанияПозволяет разработчикам управлять собственными окружениями и ресурсами без необходимости опираться на команды эксплуатации, повышая производительность.
БезопасностьОбеспечивает соответствие требованиям и защиту от уязвимостей за счёт встраивания мер безопасности во весь процесс развёртывания.
Инструменты для совместной работыОблегчают коммуникацию и командную работу разработчиков, улучшая общий процесс разработки.
Автоматизация инфраструктурыПозволяет работать с инфраструктурой как кодом, обеспечивая согласованные и воспроизводимые окружения, что снижает риск инцидентов в производственной среде.

Внутренние платформы для разработчиков также поддерживают масштабируемость в крупных компаниях. Они интегрируют GitOps и platform engineering, повышая безопасность и управление конфигурациями. Такая интеграция помогает эффективнее справляться с ростом и сложностью. Надёжный портал для разработчиков служит центральным узлом для совместной работы и самообслуживания, что критично для управления быстрым ростом без потери производительности и удовлетворённости пользователей.

Обязанности инженера платформы

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

  • Разработка внутренних платформ для разработчиков (IDP): вы создаёте и поддерживаете IDP, которые упрощают процесс разработки.
  • Настройка конвейеров CI/CD: вы оптимизируете конвейеры непрерывной интеграции и доставки, автоматизируя рабочие процессы.
  • Создание API и интерфейсов: вы разрабатываете новые API, интерфейсы командной строки (CLI) и веб-приложения, которые разработчики используют для взаимодействия с платформой.
  • Управление процессами тестирования: вы контролируете процессы тестирования, обеспечивая качество и надёжность поставки программного обеспечения.
  • Мониторинг развёрнутых окружений: вы следите за работающими системами, быстро выявляя и устраняя проблемы.
  • Документирование: вы документируете создаваемые инструменты и компоненты, чтобы другим было проще понимать их и использовать.
  • Взаимодействие с командами: вы тесно работаете с разработчиками и командами эксплуатации, собирая требования и улучшая платформу.

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

Необходимые навыки и компетенции

Чтобы преуспеть в роли инженера платформы, нужна прочная техническая база. Ниже приведён перечень ключевых компетенций:

Технические навыкиОписание
Владение языками программирования низкого уровняОпыт работы с такими языками, как Python, Java или C++, для написания скриптов и отладки.
Экспертиза в облачных вычисленияхЗнакомство с облачными платформами, такими как AWS, Azure или Google Cloud Platform.
Kubernetes и оркестрация контейнеровНавыки управления производственными кластерами и использования облачно-нативных инструментов.
Инфраструктура как код (IaC)Опыт работы с инструментами вроде Terraform для автоматизации управления инфраструктурой.

Наряду с техническими навыками не менее важны гибкие навыки. Вот некоторые ключевые качества, которыми вам стоит обладать:

  • Управление проектами: вы должны уметь определять цели проекта и эффективно распределять ресурсы.
  • Внимание к деталям: внимательность помогает разбираться в сложных технических требованиях и обеспечивает тщательное тестирование.

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

Преимущества инженерии платформ

Benefits of Platform Engineering

Оптимизация процессов

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

Вот как инженерия платформ повышает продуктивность разработчиков:

  • Внутренние платформы разработчиков (IDP) работают как «торговый автомат» для разработчиков. Они предоставляют предварительно настроенные компоненты инфраструктуры, поэтому вы тратите меньше времени на ручные задачи.
  • Автоматизируя и стандартизируя рабочие процессы, инженерия платформ ускоряет циклы разработки. Вы можете быстро развёртывать инфраструктуру и приложения, что помогает быстрее выходить на рынок.
  • IDP обеспечивают стандартизацию, повышая производительность и улучшая ключевые метрики DevOps, такие как среднее время восстановления (MTTR) и доля неудачных изменений (change failure rate).

Влияние этих оптимизированных процессов весьма существенно. По данным недавних исследований, 77% компаний отмечают сокращение времени выхода на рынок после внедрения инженерии платформ. Кроме того, 85% организаций фиксируют рост выручки как прямой результат этих изменений.

Автоматизация играет ключевую роль в повышении эффективности. Вот как это работает:

  • Автоматизация сокращает объём ручного труда, позволяя вам сосредоточиться на инновациях вместо рутинных задач.
  • Решения на основе ИИ улучшают управление ресурсами и повышают надёжность.
  • Стандартизированные автоматизированные процессы повышают согласованность и надёжность, снижая количество ошибок.

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

Чтобы проиллюстрировать выгоду с точки зрения затрат, рассмотрите следующие данные:

Тип показателяСтатистика/влияние
Компании, отметившие сокращение времени выхода на рынок77%
Компании, отметившие рост выручки85%
Потенциальное снижение совокупной стоимости владения (TCO)До 9% (за счёт автомасштабирования)
Снижение TCO за счёт правильного подбора размера экземпляровДо 7%

Рекомендации по внедрению

Внедрение инженерии платформ может существенно улучшить ваши процессы разработки. Чтобы переход прошёл гладко, рассмотрите следующие рекомендации:

  1. Получите поддержку руководства: начните с получения поддержки от руководства. Такая приверженность помогает выработать общеорганизационную стратегию инженерии платформ.
  2. Соберите сильную команду: создайте выделенную команду инженерии платформ с фокусом на потребностях клиентов и экспертизе в инфраструктуре. Эта команда будет продвигать инициативу.
  3. Используйте автоматизацию: применяйте автоматизацию и инфраструктуру как код для эффективного управления платформой. Такой подход упрощает процессы и повышает масштабируемость.
  4. Документируйте повторно используемые сервисы: составьте каталог внутренних сервисов и библиотек и опишите их. Это упрощает их поиск и интеграцию, помогая командам использовать существующие ресурсы.
  5. Регулярно взаимодействуйте с командами: поддерживайте открытую коммуникацию. Регулярно общайтесь с командами разработки, чтобы выявлять дублирующие решения и инструменты. Это помогает оптимизировать усилия и сокращает избыточность.
  6. Обеспечивайте прозрачность: сообщайте заинтересованным сторонам об изменениях и планах на будущее. Прозрачность укрепляет доверие и способствует сотрудничеству между командами.
  7. Делайте упор на удобство для пользователя: создавайте платформу, которая балансирует между стандартизацией и гибкостью. Такой подход улучшает опыт разработчиков и способствует внедрению.

Непрерывное совершенствование имеет решающее значение для успеха ваших усилий в области инженерии платформ. Вот несколько стратегий для формирования культуры постоянного развития:

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

Чтобы оценить эффективность внедрения platform engineering, имеет смысл отслеживать ключевые метрики. Например, на начальном этапе можно смотреть на удовлетворенность разработчиков и время предоставления инфраструктуры. По мере продвижения фокус смещается на уровень принятия платформы и успешность автоматизации. Эти данные помогут уточнить подход и убедиться, что платформа развивается в соответствии с вашими целями.

Следуя этим лучшим практикам, вы сможете создать масштабируемую среду, которая улучшает опыт разработчиков и приводит к успешным результатам в вашей организации.


Platform engineering играет ключевую роль в современной разработке программного обеспечения. Он помогает снизить когнитивную нагрузку, предоставляя стандартизированную среду. Это означает, что вы можете сосредоточиться на главном — создании качественного программного обеспечения. Вот несколько весомых причин рассмотреть внедрение принципов platform engineering:

  • Снижает когнитивную нагрузку на команды разработки.
  • Способствует развитию платформ за счет совместной работы.
  • Поддерживает простоту, чтобы избежать ненужной сложности.

Такие компании, как Uswitch и Adidas, уже оценили преимущества. Они внедрили собственные платформы, которые улучшают предоставление сервисов и позволяют командам сосредоточиться на решениях, имеющих высокую ценность.

Внедряя platform engineering, вы можете улучшить взаимодействие между командами. Хорошо построенные платформы предоставляют инструменты, которые усиливают командную работу и ведут к лучшим результатам. К тому же долгосрочные выгоды очевидны:

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

Короче говоря, внедрение platform engineering может преобразить процесс разработки, сделав его более эффективным и совместным. Так почему бы не сделать шаг и не выяснить, как это может принести пользу вашей организации?

Часто задаваемые вопросы

Что такое platform engineering?

Platform engineering направлен на создание поддерживающей среды для разработки программного обеспечения. Он упрощает процессы, повышает продуктивность разработчиков и предоставляет решения самообслуживания.

Чем platform engineering отличается от DevOps?

DevOps стремится объединить разработку и эксплуатацию, тогда как platform engineering специализируется на создании внутренних платформ для разработчиков, которые упрощают управление инфраструктурой и улучшают опыт разработчиков.

Что такое внутренние платформы для разработчиков (IDP)?

IDP — это слои самообслуживания, которые скрывают сложные задачи инфраструктуры. Они позволяют разработчикам самостоятельно управлять своими средами, ускоряя разработку и повышая чувство ответственности.

Зачем моей организации внедрять platform engineering?

Внедрение platform engineering позволяет снизить когнитивную нагрузку, улучшить взаимодействие и ускорить доставку программного обеспечения. Это помогает командам сосредоточиться на создании качественных продуктов.

Какие навыки нужны инженерам platform engineering?

Инженеры platform engineering должны разбираться в облачных вычислениях, языках программирования и инфраструктуре как коде. Важны также soft skills, такие как управление проектами и внимание к деталям.

Как измерить успешность platform engineering?

Можно отслеживать такие показатели, как удовлетворенность разработчиков, время предоставления инфраструктуры и уровень принятия платформы. Эти индикаторы помогают оценить эффективность ваших усилий в области platform engineering.

С какими трудностями можно столкнуться при внедрении platform engineering?

Типичные трудности включают сопротивление изменениям, недостаточную документацию и разрастание количества инструментов. Если заняться этими проблемами на раннем этапе, переход пройдёт заметно гладче.

Как развивать культуру непрерывного совершенствования в platform engineering?

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


🎧 Послушайте этот выпуск

Хотите практическое объяснение Platform Engineering? В этом выпуске тема разобрана простым языком и показано, почему она важна для Microsoft 365, Azure, Power Platform, безопасности, ИИ и современной работы.

Послушайте этот выпуск, если хотите:

  • Разобраться в ключевых понятиях Platform Engineering
  • Понять, как это вписывается в более широкую экосистему технологий Microsoft
  • Узнать, где это может принести практическую пользу вашей организации

Вам также могут понравиться эти связанные выпуски M365 FM:

Больше практических материалов о Microsoft на M365 FM.

Entities in this article

Platform engineering Agent skill DevOps Automation Burnout Cognitive load Infrastructure as code Internal developer platform Soft skills

Related articles

RSS