DevOps
GCP и Azure
Spotify работает на GCP (один из крупнейших GCP клиентов - $450M контракт). Spotify выбрал GCP за BigQuery для аналитики слушаний и Kubernetes (Google изобрёл его). Понимание GCP и Azure открывает 40% рынка вакансий DevOps за пределами AWS-экосистемы.
- **Spotify** деплоит 10 миллионов Kubernetes подов в день на GKE - scale требующий Autopilot и Workload Identity для безопасного доступа к BigQuery из каждого пода
- **SAP** перевёл enterprise клиентов с on-premise на Azure - интеграция с Active Directory позволила 80000 сотрудников использовать существующие корпоративные credentials
- **Twitter/X** использует multi-cloud: основная инфраструктура в собственных ДЦ + GCP для ML задач (TensorFlow создан Google) + Cloudflare для CDN - типичная гибридная архитектура Tier 1
GKE (Google Kubernetes Engine)
GKE - managed Kubernetes от Google. Google изобрёл Kubernetes (внутренний проект Borg), поэтому GKE исторически самый зрелый managed K8s. Autopilot mode - полностью serverless K8s: платишь за Pod ресурсы, Google управляет нодами, security patching и scaling нод автоматически. Standard mode - контроль над node pools как в EKS.
Уникальные GKE возможности: Workload Identity (Pod получает GCP IAM роль без service account key файлов), Binary Authorization (деплой только подписанных образов), GKE Dataplane V2 на базе Cilium (eBPF networking с встроенным network policy). GKE Autopilot SLA 99.9% для control plane и data plane - редкость для managed K8s.
В чём главное преимущество GKE Autopilot над Standard mode?
Cloud Run
Cloud Run - serverless платформа для контейнеров в GCP. В отличие от Lambda, деплоит любой Docker контейнер (не ограничен runtime и размером). Масштабируется от 0 до тысяч экземпляров, оплата за фактическое время обработки запросов. Cloud Run Jobs - для batch задач без HTTP.
Cloud Run vs Lambda: Lambda проще (нет Docker образа), но ограничена 15 минутами и 10GB памяти. Cloud Run поддерживает любой контейнер, до 60 минут, 32GB RAM, GPU (Cloud Run on GKE). Cloud Run особенно хорош для существующих containerized приложений - деплой в 1 команду без Kubernetes сложности.
Чем Cloud Run принципиально отличается от AWS Lambda?
Azure DevOps
Azure DevOps - комплексная платформа: Repos (Git), Pipelines (CI/CD), Boards (Jira-аналог), Artifacts (npm/Maven registry), Test Plans. Azure Pipelines поддерживает деплой в AWS, GCP и Azure из одного места - популярен в enterprises с Microsoft лицензиями. AKS (Azure Kubernetes Service) - managed K8s с глубокой интеграцией в Azure AD.
Azure уникален интеграцией с Active Directory / Entra ID: корпоративные пользователи входят в AKS через LDAP/SSO без дополнительной настройки. Azure Arc позволяет управлять Kubernetes кластерами в любом облаке и on-premise через единый Azure control plane. Для enterprise с Windows Server и .NET - Azure часто наиболее органичный выбор.
Почему Azure особенно популярен в enterprise-компаниях?
Multi-Cloud стратегия
Multi-cloud - использование нескольких облачных провайдеров. Мотивы: избежание vendor lock-in, compliance (данные граждан EU в Azure EU, данные российских пользователей локально), лучшая цена для конкретных сервисов, disaster recovery между провайдерами. Terraform - главный инструмент для единого управления multi-cloud.
Реальность multi-cloud: сложность операций растёт экспоненциально - нужно expertise в нескольких платформах. Большинство компаний используют primary cloud (AWS/GCP/Azure) + вспомогательные сервисы (Cloudflare CDN, Fastly, MongoDB Atlas). Настоящий multi-cloud разумен для Tier 1 компаний с сотнями инженеров DevOps.
Multi-cloud автоматически обеспечивает высокую доступность - если один провайдер упадёт, трафик переключится на другой
Автоматическое переключение между провайдерами требует сложной реализации: репликация данных в реальном времени, глобальный DNS failover, тестирование сценариев. Большинство компаний называют себя multi-cloud, используя Cloudflare поверх AWS - это не disaster recovery
Переключение трафика - прямолинейно; синхронизация состояния (БД, очереди, кэши) между провайдерами в реальном времени - крайне сложно
Главный риск multi-cloud стратегии?
Ключевые идеи
- **GKE Autopilot** - наиболее зрелый managed K8s от создателей Kubernetes; Workload Identity устраняет key файлы для доступа к GCP сервисам
- **Cloud Run** - serverless для любого Docker контейнера без K8s сложности; лучше Lambda для существующих containerized приложений
- **Azure DevOps + Multi-cloud** - Azure выигрывает у enterprise с Microsoft-стеком; multi-cloud оправдан когда выгоды превышают операционную сложность
Связанные темы
GCP и Azure используют те же паттерны что и AWS, но с разными сервисами:
- AWS: основные сервисы — GKE - аналог EKS, Cloud Run - аналог Lambda+Fargate, Cloud Storage - аналог S3; концепции одинаковые
- Multi-Cloud и Hybrid — Terraform и Anthos/Azure Arc - инструменты управления multi-cloud и hybrid cloud инфраструктурой
Вопросы для размышления
- Для стартапа с 5 инженерами - какой managed Kubernetes (GKE Autopilot, EKS, AKS) оптимален и почему?
- Если компания уже вложила $2M в Azure AD и Office 365 лицензии - как это влияет на выбор cloud провайдера для новых приложений?
- Когда Cloud Run предпочтительнее GKE для деплоя микросервисов?