DOP-C02 · Question #477
A company has a public application that uses an Amazon API Gateway REST API, an AWS Lambda function, and an Amazon RDS for PostgreSQL DB cluster. Users have recently received error messages as…
The correct answer is D. Migrate from Amazon RDS to Amazon DynamoDB. Enable API caching in API Gateway. For an application experiencing RDS connection limits and a high volume of GET requests, migrating to Amazon DynamoDB and enabling API Gateway caching provides a scalable, serverless solution.
Question
A company has a public application that uses an Amazon API Gateway REST API, an AWS Lambda function, and an Amazon RDS for PostgreSQL DB cluster. Users have recently received error messages as application demand increased. The company's DevOps engineer discovered that the errors were caused by RDS connection limits being reached. The DevOps engineer also discovered that more than 90% of the API requests are GET requests that read from the DB cluster. How should the DevOps engineer solve this problem with the LEAST development effort?
Options
- AMigrate from Amazon RDS to Amazon DynamoDB. Add an Amazon CloudFront distribution in
- BAdd a proxy from Amazon RDS Proxy in front of the RDS DB cluster. Enable API caching in API
- CAdd an Amazon RDS Proxy in front of the RDS database cluster. Provision an Amazon
- DMigrate from Amazon RDS to Amazon DynamoDB. Enable API caching in API Gateway.
How the community answered
(70 responses)- A4% (3)
- B7% (5)
- C16% (11)
- D73% (51)
Why each option
For an application experiencing RDS connection limits and a high volume of GET requests, migrating to Amazon DynamoDB and enabling API Gateway caching provides a scalable, serverless solution.
Migrating from Amazon RDS to Amazon DynamoDB is a significant architectural change that involves schema re-design and application code modifications, making it a high development effort, contrary to the requirement for 'LEAST development effort'. CloudFront is primarily for CDN, not direct database connection management.
Adding Amazon RDS Proxy helps with connection pooling and enabling API caching in API Gateway effectively reduces database load. However, the problem statement implies a fundamental scalability challenge with the relational database itself under high read demands, suggesting a more architectural shift like DynamoDB might be considered a 'least effort' solution in the context of long-term operational overhead for serverless applications.
While adding Amazon RDS Proxy addresses connection limits, the truncated option doesn't provide a complete solution. For 90% GET requests, a caching strategy is paramount, and a potential architectural shift to a serverless NoSQL database as in option D could be seen as a more comprehensive solution for scalability.
Given that over 90% of requests are read-heavy GETs and RDS connection limits are being reached, migrating to Amazon DynamoDB, a highly scalable NoSQL database, fundamentally addresses connection constraints by offering a serverless, connectionless model. Combined with enabling API caching in API Gateway, this solution dramatically reduces the load on the database by serving cached responses, resulting in an architecture optimized for high-demand, read-intensive workloads with improved scalability and potentially reduced long-term operational effort.
Concept tested: Database scaling for read-heavy serverless workloads
Source: https://aws.amazon.com/dynamodb/
Topics
Community Discussion
No community discussion yet for this question.