CertNote/ Commute Study Notes
Roadmap
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
  • Week 1
    • 1.The Game Called the SAP Exam: Hands-On Techniques for Decomposing Scenarios
    • 2.IAM, STS, and Federation: Splitting the Word "Permission" into Six Layers
    • 3.The Anatomy of a VPC: What Route Tables Really Decide
    • 4.Four Compute Pillars in Depth: Revisiting Nitro, EBS, ELB, and Auto Scaling Through a Pro Lens
    • 5.Week 1 Integration: When IAM, VPC, and EC2 Meet in a Single Scenario
  • Week 2
  • Week 3
  • Week 4
  • Week 5
  • Week 6
    • 1.7R Migration Strategies: Decision Language for Cloud Migration
    • 2.AWS MGN Deep Dive: The Physics of Block-Level Replication, Comparison with DRS, and Migration Hub Orchestrator
    • 3.AWS DMS + SCT: The Science of Database Migration
    • 4.Migration Acceleration Tools: App2Container, MAP, Migration Hub
    • 5.Week 6 Review: Integrated Migration Strategy Scenarios
  • Week 7
  • Week 8
  • Week 9
  • Week 10
  • Week 11
  • Week 12
  • Week 13
  • Week 14
  • Week 15
  • Week 16
DOP-C02 · ProfessionalDevOps Engineer - Professional
Linux Master 2 · 2급KAIT Linux Master - Level 2
SCS-C03 · SpecialtySecurity - Specialty
Linux Master 1 · 1급KAIT Linux Master - Level 1
MLA-C01 · AssociateMachine Learning Engineer - Associate
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
SQLD · 개발자SQL Developer (SQLD)

© CertNote · 주간랩스

  • About
  • Changelog
  • Contact
  • Terms
  • Privacy
← SAP-C02/Week 6/Day 4

Based on the SAP-C02 exam guide·Report an error

SAP-C02· ProWeek 6 · Day 4~28 min read

Day 4 - Migration Acceleration Tools: App2Container, MAP, Migration Hub

In migration projects, "transfer" is only half the journey. The other half is Discovery (deciding what to migrate), TCO analysis (understanding cost), building Landing Zones (ensuring safe company-wide transfer), and dashboards (tracking transfer status). AWS provides specialized tools and programs for each stage.

Today, beyond the 7Rs, MGN, and DMS we've covered, we'll explore the tools that complete the migration ecosystem: App2Container (containerization), Porting Assistant (code porting), Migration Hub (unified tracking), MAP (funding program), Refactor Spaces (gradual monolith decomposition). Precisely distinguishing between similar-looking tools is key to the Pro exam.

App2Container (A2C): Containerization Without Code

App2Container is an AWS CLI tool converting currently running Java or .NET IIS apps to Docker images without source code.

The Problem A2C Solves

Historically, moving legacy apps from EC2 or on-premises to containers required two approaches: (1) obtain source code and write Dockerfile manually, or (2) import VM snapshots. Both were complex and time-consuming. A2C analyzes running processes, auto-extracts dependencies, environment variables, ports, and file mounts to generate a Dockerfile.

A2C Supported Apps

Technology StackSupported
Java + Tomcat✅
Java + JBoss✅
Java + WebSphere✅
Java + WebLogic✅
.NET Framework + IIS (Windows Container)✅
Python Flask/Django❌ (not A2C, manual containerization)
Node.js❌

⚠️ Pitfall: A2C containerizes apps only. Databases (MySQL, Oracle) are not A2C targets. "Migrate Tomcat app to EKS" → use A2C for app containerization + DMS for DB separately.

⚠️ Pitfall 2: A2C containerizing .NET Framework app creates a Windows Container. To switch to Linux Container requires .NET Core (current .NET 8) porting, which Porting Assistant supports.

A2C 5-Step Workflow

1. init        ─── Initialize A2C, set IAM and region

2. inventory   ─── Discover running apps, assign IDs
                   (PID, port, classpath, bind mounts)

3. analyze     ─── Deep dependency analysis
                   (external calls, environment vars, static resources)

4. extract     ─── Extract artifacts for containerization
                   (WAR/JAR, DLL, config files)

5. containerize ── Auto-generate Dockerfile + build image + push to ECR

6. generate    ── Generate ECS Task Definition / EKS Deployment YAML / App Runner config

A2C Output Artifacts

  • Dockerfile
  • docker-compose.yml (local testing)
  • ecs-task-def.json (ECS deployment)
  • deployment.yaml (EKS deployment)
  • CloudFormation Template (including infrastructure)

A2C Can Inject Sidecars

During containerization, auto-inject these sidecars:

  • CloudWatch Agent: collect container metrics
  • X-Ray Daemon: distributed tracing

💡 Related Theory: Containers use Linux Namespaces (PID, Network, Mount, IPC, UTS) and cgroups (CPU/memory limits) for process isolation. A2C analyzes the running process's namespace info and environment, reproducing it in a container image. Theoretically, replicating via Docker the isolation OS provides.

Porting Assistant for .NET: Code Porting Analysis Tool

Most confused with A2C. Critical difference:

App2ContainerPorting Assistant
RolePackage current OS to containersConvert .NET Framework → .NET code itself
Code changesNoneYes (replace APIs, NuGet packages)
OutputDocker imageCode analysis report + some auto-migration
Use whenContainerize while keeping OSModernize to .NET Core/8

Porting Assistant operation:

  1. Load solution file (.sln)
  2. Analyze all .NET Framework API calls
  3. Check .NET Core/.NET 8 compatibility (compatible/incompatible)
  4. Check NuGet package compatibility
  5. Auto-suggest compatible packages when available
  6. Generate report (color-mark items needing manual work)

🔍 Deeper Dive: Separation of .NET Framework and .NET Core (current .NET 8). .NET Framework is Windows-only; .NET Core is cross-platform (Linux/macOS/Windows). Microsoft open-sourced .NET Core in 2016, opening the path to run .NET apps on Linux containers on AWS. But some .NET Framework APIs (Windows Registry, COM, some WCF) aren't supported in .NET Core, requiring code changes. Porting Assistant identifies this gap.

End-of-Support Migration Program (EMP)

Windows Server 2003 (EoS 2015), Windows Server 2008 (EoS 2020)—legacy apps may run on OSes no longer receiving MS security patches. Simply upgrading to EC2 Windows 2019 may not work.

EMP applies compatibility packages (Compatibility Shim) to legacy apps, enabling them on newer Windows versions. MGN transfer to EC2 followed by EMP package application is standard.

ScenarioSolution
Win 2008 app → Win 2019EMP + MGN
Win 2008 app → Linux containerPorting Assistant (port code first)
Win 2008 .NET Framework app → AWS ECSA2C (Windows Container)

Migration Hub: Enterprise Migration Control Tower

Migration Hub isn't a migration tool—it's a unified tracking dashboard. See progress from MGN, DMS, ADS, and partner tools in one console.

Core Capabilities

Progress tracking: Manage server/app lifecycle "Discovery → Not Ready → Ready → Testing → Cutover Complete."

Home Region: Migration Hub stores all data in one region. Cannot change after initial setup. Choose one authoritative region for company-wide migration governance.

Strategy Recommendations: Based on server inventory and source code analysis, auto-recommend which 7R to use. Integrate with A2C, Porting Assistant, MGN, etc., recommending specific tools.

Migration Hub Orchestrator (2022~): Automate migration-stage workflows. Example: "ADS discovery → Wave approval → MGN agent install → Test Launch approval → Cutover → validation" executed step-by-step by Orchestrator with approval gates.

📚 Case Study: Deutsche Bank's large-scale migration (2023). Migrating 5,000+ servers to AWS, Deutsche Bank used Migration Hub Orchestrator for wave management and approval automation. Per financial regulations, Orchestrator configured approval gates by IT risk management before each Wave Cutover. Lesson: Large migrations' Orchestrator approval workflows solve both governance and audit trails.

Application Discovery Service (ADS): Inventory's Starting Point

ADS is migration's prerequisite. Without knowing "what's where," neither 7R decisions nor wave design are possible.

Two Collection Modes

Agentless Collector (VMware vCenter):

  • Deploy virtual appliance in vCenter
  • Collect VM metadata and performance metrics at ESXi level
  • Discover hundreds to thousands of VMs simultaneously without agents
  • Limitation: app-level dependencies (TCP connections) less precise than Agent

Discovery Agent (Linux/Windows install):

  • Install agent on each OS
  • Map TCP connections to understand server-to-server dependencies (5-second snapshots)
  • Capture app process info, environment variables, installed software
  • More detailed than Agentless but requires agent deployment overhead
ItemAgentless CollectorDiscovery Agent
InstallationvCenter virtual applianceAgent on each OS
Dependency mapLimited (network-level)Detailed (TCP, process)
vCenter requiredYesNo
Physical server support❌✅

Collected data stored in S3, queryable via Amazon Athena SQL. Enables analysis like "servers with specific Oracle version" or "server pairs communicating on specific port."

Migration Evaluator: Financial Decision Tool

If ADS is technical inventory, Migration Evaluator is financial inventory.

Key capabilities:

  • Calculate current on-premises infrastructure cost (hardware depreciation, electricity, labor, licenses)
  • Calculate expected post-AWS cost (EC2, RDS, storage, support)
  • Generate 5-year TCO comparison report
  • Include Right-Sizing recommendations (identify over-provisioning)

Migration Evaluator vs AWS Pricing Calculator:

  • Migration Evaluator: migration-specific TCO comparing on-premises vs AWS post-migration
  • Pricing Calculator: general tool estimating cost for specific AWS configuration

Refactor Spaces: Managed Strangler Fig Implementation

Refactor Spaces provides the Strangler Fig pattern for gradual monolith-to-microservices conversion as an AWS managed service.

Why Strangler Fig?

"Big-bang Refactor" converting monolith to microservices at once takes years and high risk. Strangler Fig keeps the existing monolith running, develops new features as microservices, and gradually replaces existing functionality.

Refactor Spaces Operation

Refactor Spaces auto-configures API Gateway, VPC Link, Route 53 resources to create a routing layer.

Client
    │
    ▼
API Gateway (Refactor Spaces managed)
    ├── /api/orders/* → new microservice (Lambda + DynamoDB)
    ├── /api/products/* → new microservice (ECS)
    └── /* → existing monolith (ALB → EC2)

Develop new features as microservices, then add routing rules to Refactor Spaces. Gradually monolith's endpoints are replaced, and when no traffic reaches the monolith, decommission it.

Refactor Spaces vs manual API Gateway setup:

  • Manual: configure API Gateway + VPC Link + Route 53 + ALB separately; routing rule management across teams complex
  • Refactor Spaces: abstraction layer provides UI/API for adding/modifying routing rules; independent service management per team

💡 Related Theory: Martin Fowler's Strangler Fig Application (2004). When replacing legacy system functions with new services one-by-one, the original system still runs but handles diminishing functionality. The name "Strangler" (uncomfortable-sounding) comes from the tropical strangler fig tree wrapping and eventually replacing its host tree. It's become widely adopted as the most realistic and safe modern strategy for software modernization.

Complete Tool Selection Map

Judge every exam scenario with this map:

ScenarioToolRationale
Auto-collect server inventoryADSTechnical inventory
Agentless VMware vCenter discoveryADS Agentless CollectorvCenter integration
5-year TCO comparison reportMigration EvaluatorFinancial analysis
VM → EC2 Rehost (lift-and-shift)MGNBlock-level replication
Oracle/SQL Server → AuroraDMS + SCTHeterogeneous DB migration
MySQL → RDS MySQLDMS onlyHomogeneous DB migration
SQL Server → Aurora (minimal code)BabelfishTDS compatibility
Java (Tomcat/JBoss) → ECS/EKS containerApp2ContainerJava containerization
.NET IIS → ECS/EKS containerApp2Container.NET IIS containerization
.NET Framework → .NET Core portingPorting AssistantCode porting analysis
Win 2003/2008 EoS → AWSEMP + MGNCompatibility package
Monolith → microservices gradual replacementRefactor SpacesStrangler Fig
Enterprise-wide migration unified dashboardMigration HubProgress tracking
Auto-recommend 7RMigration Hub Strategy RecommendationsAI-driven recommendation
Migration stage automation and approvalMigration Hub OrchestratorWorkflow
Enterprise funding, consulting, partner programMAP3-stage program

🎯 Scenario: "On-premises data center has 3,000 servers. IT team doesn't know which apps run where. Need server inventory and DB complexity assessment, submit 5-year TCO report to executives, then secure enterprise migration funding." → ADS (inventory) + Fleet Advisor (DB complexity) + Migration Evaluator (TCO) + MAP (funding and program).

📝 Practice Questions

Click a choice to reveal the answer and explanation.

Question 1

A JBoss Java EE app is running on-premises. You want to migrate to EKS without modifying code, auto-generating container image and EKS manifest. Most suitable tool?

Question 2

Company wants to run .NET Framework 4.7 IIS app on Linux ECS. Currently Windows-only. What's first?

Question 3

Company's migration team simultaneously runs MGN (EC2 transfer), DMS (DB transfer), partner tool (file server transfer). Executive wants "entire progress on one screen." Which service?

Question 4

Large monolithic Java app → microservices transition. Full redesign is too risky. Keep monolith while developing new features as microservices, gradually replacing. Which service manages this routing?

Question 5

1,500 VMware vCenter servers' CPU, memory, network dependencies without agents. Suitable tool?

Question 6

Executives want "AWS saves how much over 5 years?" Need report comparing current on-premises cost (hardware, electricity, labor, licenses) with expected AWS post-migration cost. Which tool?

Question 7

Company starting 24-month project transferring 2,000 servers. Wants AWS partner expert support, AWS migration credits, Mobilize-stage Landing Zone setup support. What provides all?

PreviousAWS DMS + SCT: The Science of Database MigrationWeek 6 · Day 3Next Week 6 Review: Integrated Migration Strategy ScenariosWeek 6 · Day 5

Official references

  • SAP-C02 official exam page(opens in a new tab)
  • Amazon EC2 documentation(opens in a new tab)
  • Amazon ECS · Fargate documentation(opens in a new tab)
  • Amazon EKS documentation(opens in a new tab)
  • AWS DMS documentation(opens in a new tab)
  • Amazon API Gateway documentation(opens in a new tab)

On this page

  • App2Container (A2C): Containerization Without Code
  • The Problem A2C Solves
  • A2C Supported Apps
  • A2C 5-Step Workflow
  • A2C Output Artifacts
  • A2C Can Inject Sidecars
  • Porting Assistant for .NET: Code Porting Analysis Tool
  • End-of-Support Migration Program (EMP)
  • Migration Hub: Enterprise Migration Control Tower
  • Core Capabilities
  • Application Discovery Service (ADS): Inventory's Starting Point
  • Two Collection Modes
  • Migration Evaluator: Financial Decision Tool
  • Refactor Spaces: Managed Strangler Fig Implementation
  • Why Strangler Fig?
  • Refactor Spaces Operation
  • Complete Tool Selection Map
  • Practice Questions