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

Блог · Mirko Peters

Платформенная инженерия 101: отказ от традиционных систем заявок в Azure

By ·

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

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

▶ BLOGPlatform Engineering101: Moving Beyond…M365.FM
Titelbild: Platform Engineering 101: Moving Beyond Traditional Ticketing Systems in Azure

Добро пожаловать обратно, слушатели и читатели, на очередное глубокое погружение в развивающийся мир облачной архитектуры, опыта разработчиков и современного DevOps. Если вы слушали наш последний выпуск подкаста, вы знаете, что значительную часть времени мы посвятили разбору одного из самых раздражающих узких мест современной разработки ПО: традиционной системы заявок в ИТ. Вы знакомы с этой картиной. Разработчику нужна новая база данных, тестовая среда или простое обновление DNS. Он создаёт заявку. Заявка висит в очереди. Её сортируют, назначают, переназначают, и наконец, спустя дни или даже недели, выполняются ручные операции. К тому моменту, когда инфраструктура готова, спринт уже закончился, импульс пропал, а все вымотаны.

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

Введение: узкое место традиционных заявок в Azure

Представим знакомую картину. Ваша организация перенесла рабочие нагрузки в Microsoft Azure. Вы освоили облако, используете Azure Kubernetes Service (AKS), Azure SQL, Cosmos DB и App Service. На бумаге вы современны. Но если присмотреться к рабочему процессу, окажется, что разработчики работают с Azure так же, как раньше работали с серверной в офисе: через стену бюрократии и очереди заявок.

Каждый раз, когда команде нужен ресурс, она не может создать его сама. Защитные механизмы реализованы как заграждения, а не как направляющие дорожки. Команда отправляет заявку в центральную платформенную или операционную команду. Это создаёт огромную когнитивную нагрузку и полностью подрывает гибкость, которую должно было дать облачное вычисление. Azure предлагает невероятную скорость и программное управление, но разработчики часто отрезаны от этих возможностей. Традиционная система заявок работает как налог на инновации. Каждый запрос требует участия человека, что вносит человеческие ошибки, недопонимание и мучительные задержки. Пора перестать относиться к разработчикам как к детям, которым нельзя доверить инфраструктуру, и начать видеть в них полномочных creators, которым нужны средства самообслуживания, подкреплённые автоматизированными защитными механизмами.

Что такое платформенная инженерия и почему это важно?

Итак, как это исправить? На сцену выходит платформенная инженерия. В последние годы она стала определяющей эволюцией DevOps. Если DevOps в теории сломал стену между разработкой и эксплуатацией, то на практике многие организации просто переложили всю операционную нагрузку на разработчиков. От них внезапно потребовали быть экспертами в Kubernetes, Terraform, сетевой безопасности и политиках Azure IAM, и при этом писать бизнес-логику.

Платформенная инженерия признаёт, что такое положение дел нежизнеспособно. Вместо того чтобы заставлять разработчиков становиться специалистами по инфраструктуре или ждать в очереди заявок, платформенная инженерия рассматривает опыт разработчика как продукт. Выделенная платформенная команда создаёт внутреннюю платформу для разработчиков (IDP), которая скрывает от них базовую сложность Azure.

Почему это важно? Потому что когнитивная нагрузка — это незаметный убийца инженерной продуктивности. Когда разработчики тратят 40 процентов времени на возню с конфигурациями инфраструктуры, чек-листами соответствия и ожиданием согласований, они не создают функции, которые радуют клиентов. Платформенная инженерия важна, потому что возвращает командам разработки состояние потока. Она предоставляет golden paths — заранее одобренные, высокозащищённые, соответствующие требованиям архитектуры, которые разработчики могут развернуть одним кликом или командой.

Отказ от ручного администрирования: видение внутренних платформ для разработчиков

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

Проблема ad-hoc скриптов и хаотичного провижининга («Дикий Запад»)

Некоторые организации понимают, что согласование через тикеты работает медленно, и поэтому выдают разработчикам роль Contributor на подписки Azure, позволяя им создавать любые ресурсы по своему усмотрению. Это противоположная крайность, и она так же губительна. Довольно скоро появляются неуправляемые ресурсы, стремительно растущие счета за облако, серьёзные уязвимости в безопасности и отсутствие единого способа мониторить или обновлять что-либо. Это настоящий Дикий Запад.

Золотая середина IDP

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

Ключевые опоры построения платформы разработчика на Azure

Когда вы строите внутреннюю платформу разработчика (Internal Developer Platform) на Microsoft Azure, вам нужна надёжная архитектурная основа. Разберём основные опоры, которые делают платформу на Azure успешной.

1. Infrastructure as Code (IaC) и каталоги модулей

В основе любой облачной платформы лежит Infrastructure as Code. В экосистеме Azure это обычно Terraform, Bicep или шаблоны Azure Resource Manager (ARM). Однако одного написания файлов Bicep недостаточно. Команде платформы нужно создать курируемый каталог модульных, повторно используемых и безопасных шаблонов. Например, вместо того чтобы разработчик писал конфигурацию базы данных с нуля, платформа предоставляет модуль Azure SQL, который уже включает шифрование корпоративного уровня, правильную интеграцию с сетью и предварительно настроенные политики резервного копирования. Разработчику остаётся указать имя приложения и уровень.

2. Политика как код с Azure Policy

Управление не может опираться на то, что люди будут проверять галочки. Оно должно быть автоматизировано. Встраивая Azure Policy и Azure Blueprints в платформу, вы гарантируете, что каждый ресурс, создаваемый через IDP, автоматически соответствует нормативным требованиям и внутренним корпоративным стандартам. Если разработчик попытается создать учётную запись хранения без шифрования при передаче, платформа мгновенно это обнаружит и отклонит запрос до того, как он вообще дойдёт до Azure.

3. Бесшовная интеграция CI/CD и GitOps

Ваш IDP не должен существовать в отрыве от остального. Он должен нативно интегрироваться с системой контроля версий и конвейерами развёртывания. Используете ли вы GitHub Actions, Azure DevOps или ArgoCD для GitOps, платформа должна бесшовно оркестрировать конвейер от коммита кода до развёртывания в Azure. Разработчики должны иметь возможность запускать создание или удаление окружений прямо из своих запросов на слияние (pull request).

4. Единая наблюдаемость и мониторинг

Нельзя управлять тем, что нельзя измерить. Хорошая платформа обеспечивает наблюдаемость «из коробки», подключая приложения напрямую к Azure Monitor, Application Insights и Azure Log Analytics. Когда разработчик создаёт новый микросервис через платформу, логирование, метрики и трассировка настраиваются автоматически, без ручной инструментации.

Ускорение сроков поставки и снижение трений для разработчиков

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

Время выхода на рынок и частота развёртываний

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

Устранение выгорания разработчиков

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

Лучшие практики внедрения platform engineering в вашей организации

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

Относитесь к платформе как к продукту

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

Начните с минимально жизнеспособной платформы (MVP)

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

Уделите особое внимание документации для разработчиков и портальному опыту

Даже самая мощная автоматизация на стороне бэкенда бесполезна, если разработчики не знают, как ею пользоваться. Инвестируйте в портал для разработчиков: такие инструменты, как Backstage от Spotify, стали необычайно популярны именно для этой задачи. Совместив Backstage с интеграциями Azure, вы получите для своих команд единую точку доступа, где можно просматривать документацию, изучать каталоги сервисов и запускать действия самообслуживания.

Заключение: развитие современных команд разработки на будущее

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

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

Entities in this article

Platform engineering DevOps Microsoft Azure Internal developer platform Cognitive load Kubernetes Terraform Azure Kubernetes Service (AKS) Azure Policy Bicep

Related articles

RSS