AWS Certified Solutions Architect – ProfessionalAccelerate Workload Migration and ModernizationMedium

An e-commerce company is migrating its monolithic application to AWS. The application experiences unpredictable traffic spikes during promotional events. The company wants to break down the monolith into smaller, independently scalable services, with a focus on improving developer agility and reducing infrastructure management overhead. Which modernization approach should be recommended?

  1. ARehost the monolith onto Amazon EC2 instances within an Auto Scaling Group and configure a Network Load Balancer.
  2. BRefactor the monolith into microservices, deploying them as AWS Lambda functions and Amazon API Gateway endpoints.
  3. CRepurchase a commercial off-the-shelf e-commerce platform hosted on AWS.
  4. DReplatform the monolith into a containerized application running on Amazon ECS with AWS Fargate.
Show answer & explanation

Correct answer: B. Refactor the monolith into microservices, deploying them as AWS Lambda functions and Amazon API Gateway endpoints.

Refactoring the monolith into microservices deployed as AWS Lambda functions and API Gateway endpoints directly addresses the requirements for breaking down the monolith, achieving independent scalability, improving developer agility, and significantly reducing infrastructure management overhead through a serverless architecture.

Why the other options are wrong

  • A. Rehosting does not break down the monolith or improve developer agility, and while Auto Scaling helps with spikes, it still involves managing EC2 instances.
  • C. Repurchasing replaces the existing application entirely, which might meet some goals but sidesteps the modernization of their *existing* monolithic application and the goal of improving *their* developer agility.
  • D. Replatforming to ECS/Fargate containerizes the monolith, reducing some management overhead and improving portability, but it doesn't break down the monolith into independently scalable services or fully leverage serverless for maximum agility and minimal ops.

Monolith to Microservices

A modernization strategy involving breaking down a large, single-tiered application (monolith) into smaller, independent, and loosely coupled services (microservices).

  • Improves scalability, fault isolation, and developer agility.
  • Often implemented with containers (ECS/EKS) or serverless functions (Lambda).
  • Requires significant re-architecture and careful planning.

Memory trick: Break the big one, build small ones.

More Accelerate Workload Migration and Modernization questions