Scale a Stateless Web App and Make PostgreSQL Highly Available?

Implement scalability and elasticity. Implement highly available and resilient environments.
Answer Correct answer: B, D — Run the stateless web tier in an Auto Scaling group behind an Application Load Balancer and move PostgreSQL to an Amazon RDS Multi-AZ deployment.

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.)

  1. Create an Amazon CloudFront distribution. Specify the EC2 instance as the origin.
  2. Configure an EC2 Auto Scaling group of web servers behind an Application Load Balancer. Correct Answer
  3. Upgrade the existing EC2 instance to a larger instance type with more CPU and memory resources.
  4. Use an Amazon RDS for PostgreSQL Multi-AZ deployment for the database. Point the application to the new endpoint. Correct Answer
  5. Upgrade the PostgreSQL database on the EC2 instance to a newer version.

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)

Bad_Mat 👍 1 Selected: BD
To resolve the performance issues and make the application highly available, choose B and D.

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

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.

More SOA-C03 FAQ →

Related Analysis

Practice All SOA-C03 Questions

Access 100 questions with complete answers and detailed explanations.

View Full SOA-C03 Practice Test →

← Back to SOA-C03 Study Guide