Skip to content

[DRAFT] RFC: GCP-to-AWS Migration Plugin #50

@icarthick

Description

@icarthick

Is this related to an existing feature request or issue?

New Feature Request

Summary

The GCP-to-AWS Migration Plugin analyzes GCP infrastructure from multiple sources and produces detailed migration plans for AWS. It supports three complementary discovery modes:

  • IaC Mode: Analyzes Terraform files for high-confidence resource extraction
  • Billing Mode: Parses GCP billing exports to infer infrastructure when code unavailable
  • Code Mode: Scans application code to identify architectural patterns (AI/ML, auth, caching, messaging)

The plugin guides users through five sequential phases (Discover → Clarify → Design → Estimate → Execute), producing structured JSON outputs at each stage for programmatic access and iteration.

Use case

Target Audience:

  • AWS customers planning or executing GCP-to-AWS migrations
  • Cloud architects evaluating AWS equivalents for GCP services
  • Teams needing detailed cost projections before migration commits
  • Organizations with mixed GCP/AWS infrastructure seeking consolidation

Motivation & Problem:
GCP-to-AWS migrations are complex because they require:

  1. Deep technical knowledge — Understanding both GCP and AWS service ecosystems and their architectural differences
  2. Manual analysis — Extracting infrastructure details, understanding dependencies, and grouping related resources requires significant effort
  3. Multiple tools — Orchestrating different tools for inventory, mapping, and cost estimation
  4. Validation & iteration — Reviewing migration decisions across teams, managing feedback loops

Business Impact:

  • Accelerates migration timelines from months to weeks
  • Reduces migration risks through structured analysis and confidence tracking
  • Enables informed decision-making with detailed cost projections upfront
  • Provides reusable, documented migration assets (IaC + runbooks)

Proposal

Holistic Migration Analysis Approach

The plugin goes beyond simple resource translation. It:

  • Multi-source discovery — Synthesizes insights from infrastructure code (Terraform), billing data, and application code patterns
  • Understands deployed infrastructure — Extracts complete inventory with configuration, dependencies, and relationships
  • Identifies application patterns — Recognizes how applications use services (AI/ML, auth, caching, messaging) to recommend appropriate AWS equivalents
  • Creates logical clusters — Groups related resources into migration units based on data dependencies, network membership, and operational boundaries
  • Produces cluster-level recommendations — Generates migration strategy per cluster, considering interdependencies and architectural coherence
  • Tracks decision confidence — Distinguishes between deterministic mappings and inferred recommendations

This ensures migrations are architecturally sound rather than a collection of individually-translated resources.

Core Features

  1. Discover Phase (Three Complementary Modes)

    Mode A: IaC Discovery (discover-iac.md)

    • Extracts all GCP resources from Terraform files (50+ resource types supported)
    • Classifies resources as primary or secondary with role annotations
    • Groups resources into migration clusters based on dependencies
    • Generates typed dependency edges (data_dependency, network_membership, iam_binding)

    Mode B: Billing Discovery (discover-billing.md)

    • Parses GCP billing exports (Cloud Console CSV or BigQuery JSON)
    • Infers infrastructure from SKU descriptions and billing labels
    • Generates synthetic inventory with confidence levels

    Mode C: Application Code Discovery (discover-code.md)

    • Scans application code for architectural patterns:
      • AI/ML model usage (recommend Claude on Bedrock, Nova)
      • Authentication patterns (Supabase, Firebase → recommend supabase)
      • Can run independently or synthesize findings with IaC/Billing modes
  2. Clarify Phase (Interactive)

    • Captures migration strategy and preferences
    • Questions cover: target region, compute model, database tier, pricing commitment, availability
    • Applies sensible defaults if unanswered
  3. Design Phase (Service Mapping)

    • Maps each GCP resource to AWS equivalents using a combination of well-known service mappings and multi-criterion evaluation
    • Incorporates user preferences from Clarify phase
    • Tracks confidence levels (deterministic/inferred) for each mapping decision
  4. Estimate Phase (API or LLM Mode)

    • API Mode: Live AWS Pricing API for ±5-10% accuracy
    • LLM Mode: Embedded rate tables for ±15-25% accuracy
    • Side-by-side GCP vs AWS cost comparison (if billing data available)
    • Per-resource, per-cluster cost breakdown
  5. Execute Phase (Asset Generation)

    • Generates Infrastructure-as-Code (Terraform, CloudFormation, CDK)
    • Produces migration runbook with step-by-step execution timeline
    • Creates operational documentation and runbooks
    • Validates prerequisites and environment readiness

Supported GCP Resources

Compute: Cloud Run, GKE, Compute Engine, Cloud Functions
Database: Cloud SQL, Cloud Spanner, Firestore, Bigtable
Storage: Cloud Storage (GCS)
Networking: VPC, Cloud NAT, Firewall, Cloud LB, Cloud DNS, VPC Connector, VPC Service Controls
Messaging: Pub/Sub
Platform: Cloud KMS, Cloud IAM, Cloud Monitoring, Cloud Logging, Project Services
Caching: Memorystore Redis, Memorystore Memcached

Plugin Architecture

The plugin follows awslabs/agent-plugins marketplace standards with a modular design:

High-Level Structure:

  • Single plugin entry point under skills/
  • Phase-specific instruction files (discover, clarify, design, estimate, execute)
  • Reference materials organized by category (discovery rules, design mappings)
  • Integration with AWS MCP servers (Pricing, Knowledge, IAC)

Example Skills Layout:

gcp-to-aws-migration/
├── .claude-plugin/plugin.json
├── .mcp.json
└── skills/
    └── gcp-to-aws-migration/
        ├── SKILL.md (orchestrator)
        └── references/
            ├── phases/
            │   ├── discover-iac.md
            │   ├── discover-billing.md
            │   ├── discover-code.md
            │   ├── clarify.md
            │   ├── design.md
            │   ├── estimate.md
            │   └── execute.md
            ├── discover/
            │   └── [discovery reference materials]
            └── design/
                └── [design reference tables & mappings]

Key Differentiators

  • Determinism Focus: Strict parsing rules, lookup tables, confidence tracking
  • Incremental Execution: Run phases independently, preserve prior outputs for re-iteration
  • Structured Outputs: JSON at every stage for programmatic analysis
  • Dependency Graph: Automatic extraction of resource relationships and clustering
  • Cost Comparison: Side-by-side GCP actual vs AWS projected spending
  • Confidence Tracking: All decisions labeled deterministic/inferred for informed decision-making

Out of scope

  • Automated Infrastructure Deployment — Plugin generates IaC and runbooks; actual deployment is user's responsibility with their own CI/CD pipelines
  • Real-time Monitoring & Drift Detection — Analyzes point-in-time infrastructure snapshots; does not provide continuous monitoring
  • Source Code Analysis & App Migration — Focuses on infrastructure; application code analysis and app migration strategies are out of scope
  • Data Migration Execution — Identifies data sources and recommends AWS services; actual data transfer/replication tools are out of scope
  • Multi-Cloud Strategy — Focused on GCP-to-AWS; multi-cloud or hybrid cloud architectural planning is out of scope
  • AWS Account Setup & Prerequisites — Assumes target AWS account exists; does not handle account provisioning or IAM setup
  • Compliance & Security Audit — Identifies resources; detailed compliance mapping and security audit are out of scope
  • Training & Change Management — Produces documentation; organizational change management and team training are out of scope

Potential challenges

Challenge: Terraform Complexity

  • Edge Case: Dynamic blocks, for_each with complex expressions, variable references across modules
  • Mitigation: Strict parsing rules with fallback to billing-only mode if Terraform is too complex

Challenge: Billing Data Ambiguity

  • Edge Case: SKU descriptions insufficient to infer exact configuration (e.g., HA vs single-zone)
  • Mitigation: Confidence levels on all inferred decisions; preference for IaC mode when available; user can override inferred values

Challenge: AWS/GCP Service Evolution

  • Edge Case: New services launched, deprecated services, service renames
  • Mitigation: Modular reference files allowing community contributions; regular KB updates

Challenge: Multi-Region & Complex Architectures

  • Edge Case: Migrations spanning multiple regions, cross-region replication, global load balancing
  • Mitigation: Clarify phase captures region preferences; Design phase considers regional constraints

Challenge: Unresolved Areas

  • How to handle vendor-specific features with no AWS equivalent (e.g., GCP-specific IAM roles)
  • How to manage complex migration sequencing (dependencies between clusters)
  • Recommended Solution: Document as limitations in output, provide manual override capability in future versions

Dependencies and Integrations

Required Dependencies:

  • AWS Pricing MCP server — For live cost estimates (API mode) during Estimate phase
  • AWS Knowledge MCP server — For architecture consultation during Design phase
  • AWS IAC MCP server — For IaC best practices during Execute phase

Future Integration Opportunities:

  • AWS Well Architected MCP Server

Alternative solutions

**Alternative 1: Manual Migration Planning**
- Approach: Spreadsheets, documentation, manual mapping
- Limitations: Time-consuming, error-prone, lacks structured dependency analysis, no cost automation
- When to use: Very small infrastructure (<20 resources)

**Alternative 2: AWS Migration Services (AWS MGN, DMS)**
- Approach: AWS Application Migration Service, Database Migration Service
- Limitations: Focused on replication, not on architectural re-planning; doesn't provide AWS equivalent recommendations
- When to use: Infrastructure lift-and-shift without architectural changes; database replication

**Alternative 3: Third-Party Migration Platforms (CloudEndure, Cloudamize, Movere)**
- Approach: Discovery tools with cloud recommendations
- Limitations: Proprietary vendors, limited to their supported use cases, may not cover GCP→AWS specifically
- When to use: When integrated with existing enterprise migration programs

**Why This Plugin is Different:**
- **Holistic analysis** — Understands dependencies and creates logical clusters, not just individual resources
- **Two entry modes** — Works with IaC or billing exports (covers both known and unknown infrastructure)
- **Confidence tracking** — Distinguishes deterministic from inferred decisions
- **Structured outputs** — JSON at every stage for programmatic integration
- **Iterative & reversible** — Each phase can be run independently, decisions can be revised

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions