· · 2 минут чтения

Устранение Рутинной Работы Миграции с Помощью Agentic Platform Engineering

Git-Ape демонстрирует миграцию реального AWS Terraform-развёртывания в Azure Bicep — извлекая намерение развёртывания и переопределяя архитектуру вместо конвертации синтаксиса 1:1.

.NET Azure Migration Platform Engineering
Эта статья также доступна на:English, Español, Català, Deutsch, Français, Português, Italiano, 日本語, 中文, 한국어, हिन्दी, Polski, Türkçe, العربية, Bahasa Indonesia, Nederlands

Этот пост был переведён автоматически. Для оригинальной версии нажмите здесь.

Removing the Monkey Work of Migration with Agentic Platform Engineering — руководство по Git-Ape (инструменту git для агентной инженерии платформ), который мигрирует реальный репозиторий AWS Terraform в Azure, фокусируясь на извлечении намерения вместо построчного преобразования.

Входные данные: contoso-migration

Источником является реальный проект Terraform (contoso-migration), который разворачивает приложение Next.js на AWS — EC2 для вычислений, ALB для балансировки нагрузки, S3 для артефактов и ключи IAM для идентификации. Стоимость: ~34 $/месяц. Цель — не воспроизвести ту же инфраструктуру в Azure; речь идёт о том, чтобы понять, что развёртывание действительно пытается сделать, и воссоздать это с помощью нативных сервисов Azure.

Шаг 1: Валидация и аутентификация

Git-Ape начинает с проверки всех необходимых инструментов CLI — az, aws, gh, jq, git — и подтверждения активных сеансов аутентификации перед тем, как что-либо трогать. Никаких частичных запусков.

Шаг 2: Извлечение намерения

Агент читает весь исходный репозиторий через API GitHub и извлекает намерение развёртывания: среда выполнения (Node.js), тип вычислений, шаблон ingress, обработка артефактов, модель идентификации, сеть и мониторинг. Это ключевой шаг — строится семантическая модель того, что делает развёртывание, а не какие ключевые слова Terraform оно использует.

Шаг 3: Сопоставление сервисов

Сервисы AWS сопоставляются с эквивалентами Azure:

  • EC2 → App Service (Linux, Node 20 LTS)
  • ALB → Встроенная балансировка нагрузки App Service
  • Роли/ключи IAM → Managed Identity
  • Terraform → Bicep + GitHub Actions

Шаг 4: Агент-критик

Перед генерацией вывода запускается агент-критик, который обнаруживает две блокирующие проблемы:

  1. Антипаттерн сборки при запуске — исходный Terraform запускал npm install && npm run build на EC2 при старте. Исправление: собирать в CI, разворачивать готовый артефакт.
  2. Ненужный Blob Storage — S3 использовался для промежуточного хранения артефактов, что можно устранить при правильном CI/CD. Агент-критик полностью удалил его.

Шаг 5: Сгенерированный вывод

Результатом являются ~80 строк Bicep вместо оригинальных 200+ строк Terraform. Агент создал новый репозиторий GitHub с infra/main.bicep и .github/workflows/deploy.yml и удалил все файлы, специфичные для AWS.

Сравнение уровня безопасности

Миграция также принесла значительное улучшение безопасности:

AWS оригиналВывод Azure
Только HTTPТолько HTTPS, TLS 1.2
SSH открыт для 0.0.0.0/0Нет SSH-экспозиции
Ключи доступа IAMOIDC + Managed Identity
Нет мониторингаApplication Insights

Стоимость: ~13 $/месяц против первоначальных 34 $/месяц.

Чем это отличается от конвертора синтаксиса

Шаг агента-критика — вот что отличает это от механического перевода. Он обнаружил паттерны, которые работали бы на AWS, но были бы неверны на Azure — и исправил их вместо того, чтобы воспроизводить. Вывод — это не «AWS в синтаксисе Azure»; это нативное для Azure развёртывание, которое достигает той же цели более чисто.

Смотрите полное руководство для полной трассировки агента и сгенерированных файлов.

Поделиться:
Просмотреть исходный код этой статьи на GitHub ↗
← A2A v1 Здесь: Кросс-Платформенная Коммуникация Агентов в Microsoft Agent Framework для .NET
Расширение WinApp для VS Code: Запускайте, Отлаживайте и Упаковывайте Windows-приложения Не Выходя из Редактора →