Scale a Stateless Web App and Make PostgreSQL Highly Available?
A company is running a stateless application. The application consists of a web server and a PostgreSQL database that run on a single Amazon EC2 instance. The EC2 instance becomes overloaded during times of high application traffic, leading to slow response times. A CloudOps engineer needs to implement a solution to resolve the application's performance issues. The solution must accommodate increased application traffic as the number of users continues to grow. The solution also must make the application highly available. Which combination of steps will meet these requirements? (Choose two.)
Community Insight
The exam is testing whether you can map stateless application scaling to an Auto Scaling group behind an ALB and database high availability to RDS Multi-AZ; the trap is choosing a larger EC2 instance, which adds capacity but not resilience.
This scenario tests decoupling a stateless web tier with an Auto Scaling group and Application Load Balancer while moving PostgreSQL to an Amazon RDS Multi-AZ deployment. The correct combination is B and D because it adds horizontal elasticity and removes the single database failure point.
A common mistake is selecting C, upgrading the existing EC2 instance, because it appears to address overload. Vertical scaling is finite and leaves both the web server and PostgreSQL on one failure domain, so it does not satisfy the requirement for high availability.
Community Discussion (1 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Because the application is stateless, the web tier can be scaled horizontally by placing EC2 instances in an Auto Scaling group behind an Application Load Balancer. The ALB distributes incoming traffic, and Auto Scaling adds or removes web servers as user demand grows. Moving PostgreSQL to Amazon RDS for PostgreSQL Multi-AZ provides a synchronous standby in another Availability Zone and automatic failover if the primary fails. Together, B and D remove the single EC2 bottleneck and the single database failure point while allowing the application to accommodate continued traffic growth.Why the Other Options Are Wrong
A is insufficient because CloudFront only caches and delivers content closer to users; the EC2 origin and the single PostgreSQL database would still be overloaded and remain single points of failure. C is vertical scaling, which can temporarily increase CPU and memory but does not provide high availability and cannot scale indefinitely as users continue to grow. E only upgrades the PostgreSQL version on the same instance, so it does not improve horizontal scalability, separate the database from the web server, or create a failover capability. The requirements call for both elasticity and resilience, which the single-instance design cannot deliver through CloudFront, a larger instance, or a database version change.Community Comment Notes
The sole comment, from Bad_Mat, records answer BD and states that the combination is needed to resolve performance issues and make the application highly available. That aligns with the architecture required here: the comment endorses the same stateless web-tier scaling and managed Multi-AZ database approach, with the key phrase "choose B and D." No vote distribution was available, so the community record is limited to that single supporting observation rather than a broad consensus.Official Reference
Exam Strategy
When a question says the application is stateless and must both scale with growth and be highly available, look for horizontal scaling of the web tier plus a managed Multi-AZ database. Eliminate options that only add capacity to the same single instance or only cache content, because neither removes the single points of failure.
Frequently Asked Questions
Why is upgrading the single EC2 instance not enough for this stateless app?
Vertical scaling adds temporary capacity but leaves the web server and database on one failure domain. It does not provide horizontal elasticity or automatic failover for PostgreSQL.
Does CloudFront solve the EC2 and PostgreSQL overload in this scenario?
No. CloudFront can cache and offload some content delivery, but it does not scale the stateless web server or make the single PostgreSQL database highly available.
Related Analysis
Practice All SOA-C03 Questions
Access 100 questions with complete answers and detailed explanations.
View Full SOA-C03 Practice Test →