DevOps
Platform Engineering
В 2020 году Spotify опубликовал концепцию Backstage и golden paths. К 2023 году 1800+ компаний используют Backstage, а Platform Engineering стал одним из самых быстрорастущих направлений. Проблема которую они решают универсальна: при 100+ микросервисах и 200+ разработчиках без IDP каждая команда изобретает свой велосипед, DevOps становится bottleneck, а новый сервис создаётся неделями.
- **Spotify** создал Backstage для 2000+ инженеров - Software Catalog содержит 10000+ компонентов; создание нового сервиса занимает 2 минуты вместо 2 недель
- **Airbnb** использует golden paths для создания сервисов - все новые сервисы автоматически получают SAST scanning, Datadog monitoring, PagerDuty integration без ручной настройки
- **Zalando** внедрил Crossplane для self-service БД - разработчики создают PostgreSQL в AWS через kubectl apply; Platform team не является bottleneck для 200+ команд
Internal Developer Platform (IDP)
Internal Developer Platform (IDP) - набор инструментов и процессов, позволяющий разработчикам самостоятельно создавать, деплоить и управлять сервисами без обращения к DevOps/Platform команде. IDP абстрагирует Kubernetes, Terraform, CI/CD - разработчик видит кнопку 'Create Service', а не 200 строк YAML.
CNCF Platform Engineering Definition: IDP = набор capabilities поверх инфраструктуры. Уровни: L1 (бесформенная инфраструктура), L2 (знакомые концепции), L3 (документированные golden paths), L4 (managed service через UI). Gartner предсказывает что к 2026 году 80% engineering организаций будут иметь Platform Engineering команду.
Какую главную проблему решает Internal Developer Platform?
Golden Paths
Golden Path (Spotify term) - рекомендованный, задокументированный и автоматизированный способ выполнения общих задач. Не обязателен, но значительно дешевле в поддержке. Примеры: 'New Node.js service' = создаёт repo, Dockerfile, Helm chart, CI/CD pipeline, Datadog monitors, PagerDuty integration - автоматически, за 2 минуты.
Проблема без golden paths: 50 команд, 50 способов создать сервис. Разные Dockerfile структуры, разные CI/CD паттерны, отсутствие security scanning в половине pipeline, inconsistent monitoring. Golden paths: platform team поддерживает 5 шаблонов, остальные команды их используют - единообразие и security by default.
Почему golden paths называют 'рекомендованными', а не 'обязательными'?
Backstage
Backstage - open-source Developer Portal от Spotify. Ключевые компоненты: Software Catalog (все сервисы с владельцами, docs, deps), Software Templates (golden paths с scaffolding), TechDocs (docs как код), Plugin System (200+ плагинов: Kubernetes, PagerDuty, Datadog, GitHub). Backstage - frontend для IDP, объединяющий все инструменты в одном месте.
Software Catalog в Backstage решает проблему service discovery: кто владеет этим сервисом? Какие зависимости? Есть ли runbook? Какой SLO? catalog-info.yaml в каждом репозитории содержит эту метаинформацию. При инциденте инженер открывает Backstage -> находит сервис -> видит владельца и PagerDuty schedule -> escalate за 30 секунд.
Какую проблему Software Catalog в Backstage решает при инциденте в 3 ночи?
Self-Service Infrastructure
Self-service инфраструктура - разработчик запрашивает ресурсы (БД, очередь, storage bucket) через UI/API, платформа автоматически provision их с правильными настройками безопасности, мониторинга и cost tags. Crossplane - K8s-native подход: БД в AWS создаётся через `kubectl apply -f database.yaml`, как любой K8s ресурс.
Crossplane vs Terraform: Terraform state хранится в S3/Terraform Cloud, применяется через CI/CD pipeline. Crossplane работает как K8s controller: managed resources постоянно reconcile с desired state. Crossplane лучше для self-service (нет ручного terraform apply), Terraform лучше для сложных зависимостей и существующей инфраструктуры.
Platform Engineering - это просто DevOps с другим названием
DevOps = collaboration между dev и ops, автоматизация деплоев. Platform Engineering = создание продукта (IDP) для internal customers (разработчиков). Platform инженеры применяют product thinking: user research, roadmap, metrics (DORA metrics), NPS от разработчиков. Это другой mindset - не 'автоматизировать всё', а 'создать platform как product'
DevOps команды часто реагируют на запросы; Platform Engineering команды проактивно строят capabilities основываясь на потребностях разработчиков
Чем Crossplane отличается от Terraform для self-service инфраструктуры?
Итоги
- **IDP** устраняет cognitive load разработчиков и bottleneck DevOps команды; разработчик самостоятельно создаёт полноценный сервис через UI за минуты
- **Golden Paths + Backstage** - рекомендованные шаблоны со встроенной безопасностью и мониторингом; Backstage как единая точка истины для всех сервисов организации
- **Self-Service через Crossplane** - K8s-native provisioning инфраструктуры через kubectl; platform team определяет композиции, разработчики используют как абстракцию
Связанные темы
Platform Engineering объединяет все DevOps практики в единую платформу:
- DevSecOps — Security scanning встраивается в golden path templates - каждый новый сервис автоматически получает SAST/DAST без ручной настройки
- K8s: продвинутые паттерны — Crossplane, ArgoCD и Backstage работают на базе Kubernetes API как custom controllers
Вопросы для размышления
- При каком количестве команд и сервисов имеет смысл инвестировать в полноценный IDP с Backstage?
- Как измерить успех Platform Engineering команды? Какие метрики использовать?
- Чем отличается подход 'platform as product' от традиционного DevOps при работе с внутренними customers?