AWS Certified Solutions Architect – ProfessionalContinuously Improve Existing SolutionsMedium

A large e-commerce company operates a monolithic application on Amazon EC2 instances that experiences performance bottlenecks during peak sales events, leading to customer dissatisfaction and lost revenue. The application relies on a single, large relational database. The company wants to improve scalability and resilience without a complete rewrite of the core business logic. Which architectural improvement should a solutions architect recommend?

  1. AIncrease the instance size and count of the existing EC2 instances and upgrade the relational database to a larger instance type.
  2. BMigrate the entire monolithic application to AWS Lambda functions and Amazon DynamoDB.
  3. CImplement a global accelerator using AWS Global Accelerator to distribute traffic across multiple regions.
  4. DIdentify and extract frequently accessed, read-heavy components into microservices, backed by Amazon ElastiCache for Redis.
Show answer & explanation

Correct answer: D. Identify and extract frequently accessed, read-heavy components into microservices, backed by Amazon ElastiCache for Redis.

Extracting read-heavy components into microservices and leveraging a caching layer like ElastiCache for Redis can significantly offload the primary database and improve response times for frequently accessed data, addressing performance bottlenecks without a full rewrite. This approach also introduces modularity for future scalability.

Why the other options are wrong

  • A. While increasing instance sizes and counts might offer temporary relief, it does not fundamentally address architectural bottlenecks inherent in a monolithic design, especially for a single, large relational database. It's often a vertical scaling limit.
  • B. Migrating an entire monolithic application to serverless (Lambda/DynamoDB) without a complete rewrite is a significant undertaking and likely constitutes a full rewrite, which goes against the requirement. It's also not the first step for improving an existing monolith.
  • C. AWS Global Accelerator helps improve global access performance and availability but does not address internal application or database bottlenecks within a single region or the fundamental monolithic architecture.

Strangler Fig Pattern

The Strangler Fig Pattern is an incremental refactoring technique where new system capabilities are built around an old system, gradually 'strangling' the old system until it can be retired.

  • Enables incremental modernization of monolithic applications.
  • Reduces risk by not requiring a complete rewrite.
  • Allows new services to coexist with the legacy system.
  • Often involves extracting microservices or specific functionalities.

Memory trick: The 'Strangler Fig' gradually cuts away the old, letting new growth thrive.

More Continuously Improve Existing Solutions questions