4 of the 6 questions we have for this objective, shown with the answer and the reasoning.
Design a solution to meet performance objectives
Ingleby Retail runs 3,000 Amazon EC2 instances across 30 accounts in AWS Organizations. Finance believes many are oversized, but application owners refuse to downsize based on CPU data alone because several applications are memory-bound. Owners also want recommendations to reflect a quarterly sales cycle, so at least three months of utilization history must be considered. The cloud team wants a repeatable, organization-wide process with the least custom tooling.
Which approach should the solutions architect recommend?
- AUse AWS Trusted Advisor low utilization checks in each account and downsize every flagged instance by one size.Trusted Advisor flags low-utilization instances but does not consider memory or a three-month window, and blindly downsizing one size ignores instance family changes such as moving to a memory-optimized type.
- BUse the default Compute Optimizer settings and accept only recommendations rated as low performance risk.The default lookback period is 14 days, which misses the quarterly cycle, and without the CloudWatch agent memory utilization is not considered.
- CExport 90 days of CloudWatch CPU metrics to Amazon S3 and build an Amazon Athena query that flags instances with average CPU below 20 percent.This is custom tooling that ignores memory, and an average CPU threshold does not produce instance type recommendations or performance risk assessments.
- DOpt the organization in to AWS Compute Optimizer from the management account, activate enhanced infrastructure metrics, install the CloudWatch agent to publish memory utilization, and review recommendations with owners each month.Compute Optimizer analyzes utilization across all member accounts. Enhanced infrastructure metrics extend the lookback period to about three months, and memory metrics from the CloudWatch agent let recommendations account for memory-bound workloads.
Why: A sound rightsizing strategy uses complete utilization data over a period that reflects the business cycle and makes recommendations repeatable. AWS Compute Optimizer provides organization-wide EC2 recommendations with performance risk ratings, and enabling enhanced infrastructure metrics extends the analysis window to about three months. Publishing memory metrics through the CloudWatch agent addresses the owners' main objection. The distractors use shorter windows, ignore memory or require custom analysis.
Design a solution to meet performance objectives
Hollinsby Sports runs a live-score mobile backend that reads match state from an Amazon DynamoDB table named matches. During major games, reads of the same few hundred items reach 400,000 per second, read costs have spiked, and the product team wants read latency in microseconds. Eventually consistent reads are acceptable. The developers want to avoid writing cache population and invalidation logic.
Which solution meets these requirements?
- ADeploy an Amazon ElastiCache for Valkey cluster and add cache-aside logic to the backend for every read and write.ElastiCache can deliver similar latency, but the developers would have to write and maintain cache population and invalidation code, which they want to avoid.
- BDeploy a DynamoDB Accelerator (DAX) cluster in the VPC with nodes in multiple Availability Zones and switch the backend to the DAX client.DAX is an in-memory, write-through cache that is API-compatible with DynamoDB. It serves eventually consistent reads from memory in microseconds, handles cache population and item updates for writes made through it, and reduces read capacity consumed on hot items.
- CSwitch matches to on-demand capacity mode.On-demand mode removes capacity planning but still charges for every read and keeps single-digit millisecond latency, so it does not reach microsecond reads or reduce read cost.
- DAdd replicas to matches in two more Regions with global tables.Global tables provide multi-Region replication, not caching. Each replica still serves reads at DynamoDB latency and adds replicated write cost.
Why: When a DynamoDB workload has hot items and can accept eventually consistent reads, DynamoDB Accelerator is the purpose-built cache. Because DAX exposes the same API as DynamoDB, applications switch clients rather than writing caching logic, and the cache returns reads in microseconds. Offloading repeated reads also lowers read capacity consumption on the table. The deciding constraints are microsecond latency and no custom cache code, which separate DAX from ElastiCache.
Design a solution to meet performance objectives
Ravensholt Bank's fraud team needs to find rings of accounts connected through shared phone numbers, devices and addresses up to six hops apart, and to answer these queries in under a second while transactions are being approved. The current relational database needs many self-joins for these queries, which take minutes.
Which database service should the solutions architect select for this workload?
- AAmazon Keyspaces (for Apache Cassandra)Keyspaces is a wide-column store suited to high-volume key-based access. It has no native graph traversal, so multi-hop queries would need application-side joins.
- BAmazon RedshiftRedshift is a data warehouse optimized for large analytical aggregations, not low-latency relationship traversals during transaction approval.
- CAmazon NeptuneNeptune is a managed graph database designed for traversing highly connected data. Multi-hop relationship queries that require many joins in a relational database are efficient graph traversals in Neptune.
- DAmazon Timestream for LiveAnalyticsTimestream is a time-series database for metrics and events over time, not for querying relationships between entities.
Why: A practical method for choosing a purpose-built database starts from the data model and the dominant access pattern rather than from the current platform. Here the data is a network of entities, and the critical query is a multi-hop traversal with a sub-second latency requirement. Graph databases such as Amazon Neptune store relationships directly, so traversals avoid repeated joins. The distractors are real purpose-built services matched to different models: analytics, wide-column key access and time series.
Design a solution to meet performance objectives
Thistledown Marketplace serves product detail pages from an API backed by Amazon RDS for PostgreSQL with five read replicas, which are all above 80 percent CPU during sales. Product data changes a few times a day, and pages may show data up to 5 minutes old. The product team wants sub-millisecond reads for product lookups and wants to reduce database cost rather than add more replicas.
Which solution should the solutions architect recommend?
- ADeploy an Amazon ElastiCache for Valkey cluster with replicas across Availability Zones and use a lazy-loading cache-aside pattern with a 5-minute TTL for product lookups.An in-memory cache returns hot product data in sub-millisecond time and absorbs most reads, which allows replicas to be removed. Lazy loading populates the cache on misses, and a 5-minute TTL keeps staleness within the stated limit.
- BAdd five more read replicas and distribute reads across all of them with Amazon RDS Proxy.More replicas raise cost, and relational reads remain in the millisecond range, so neither the cost nor the latency goal is met.
- CPlace DynamoDB Accelerator (DAX) in front of the RDS read replicas.DAX is a cache for DynamoDB only and cannot cache queries against RDS for PostgreSQL.
- DMove the product tables to an Amazon Redshift cluster and query it from the API.Redshift is designed for analytical queries over large datasets, not for high-concurrency, low-latency key lookups from a web API.
Why: Read-heavy workloads whose data changes infrequently and can tolerate brief staleness are ideal for an in-memory cache in front of the database. Amazon ElastiCache returns results in sub-millisecond time, and a cache-aside pattern with a TTL bounds how old cached data can become. Offloading reads to the cache reduces the number of read replicas required, which lowers cost. The 5-minute staleness tolerance is the deciding constraint that makes caching safe here.