Which EC2 purchase model mix for unpredictable SQS load?

SAA-C03 By islever Editorial Last updated

Short answer

C Use Reserved Instances for the baseline capacity and Spot Instances for the additional burst capacity in the SQS worker fleet.

Question

A company runs a production application on a fleet of Amazon EC2 instances. The application reads the data from an Amazon SQS queue and processes the messages in parallel. The message volume is unpredictable and often has intermittent traffic. This application should continually process messages without any downtime.
Which solution meets these requirements MOST cost-effectively?
  1. Use Spot Instances exclusively to handle the maximum capacity required.
  2. Use Reserved Instances exclusively to handle the maximum capacity required.
  3. Use Reserved Instances for the baseline capacity and use Spot Instances to handle additional capacity. Correct Answer
  4. Use Reserved Instances for the baseline capacity and use On-Demand Instances to handle additional capacity.

Key Takeaways

The question tests cost-optimized compute sizing for a queue-buffered fleet; the trap is reading 'without any downtime' as a ban on Spot Instances when SQS's retry/visibility behavior already makes the pipeline interruption-tolerant.

For an SQS-driven EC2 worker fleet with unpredictable, intermittent message volume, the most cost-effective design is Reserved Instances covering the steady baseline plus Spot Instances absorbing the bursts. Because SQS durably buffers messages, worker interruptions do not create message loss or application downtime, so Spot capacity satisfies the availability requirement.

Common mistake: Option D (Reserved + On-Demand) is the most-voted wrong answer: learners equate 'no downtime' with 'never use Spot' and pay the On-Demand premium for burst capacity, ignoring that interrupted workers simply return messages to the queue and that the RI baseline keeps processing alive.

Expert Analysis

Why the Answer Is Correct

Reserved Instances cover the always-on baseline at the lowest predictable rate, while Spot Instances — typically 60–90% cheaper than On-Demand — absorb the unpredictable spikes, which is exactly the AWS cost-optimization pattern for elastic, queue-backed worker fleets. The "continually process messages without any downtime" clause is satisfied by the architecture as a whole: Amazon SQS durably stores messages, so when a Spot worker is interrupted its in-flight message becomes visible again and is retried by another instance, and the RI-based baseline keeps draining the queue throughout the burst. AWS guidance for SQS/Event-Driven Lambda-and-EC2 architectures explicitly recommends Reserved Instances for steady state and Spot for the variable portion, so C meets both the cost and availability requirements.

Why the Other Options Are Wrong

A, Spot only, offers no guaranteed baseline: Spot capacity can be reclaimed and spot supply is not assured at the maximum capacity point, so a price spike plus capacity shortage could stall processing. B, Reserved only provisioned for maximum capacity, guarantees the requirement but is grossly wasteful — the peak instances sit idle during the frequent intermittent low-traffic periods, defeating the "MOST cost-effectively" constraint. D adds On-Demand for the burst, which does provide interruption-free capacity but at a large price premium; it is not wrong on availability grounds, yet it is dominated by Spot on cost because the SQS buffer already makes the fleet interruption-tolerant, which is why D loses on the cost axis rather than the downtime axis. Options A and B also illustrate MrSaint's point that cost-effectiveness means the cheapest option that still satisfies every requirement, not simply the cheapest option overall.

Community Comment Notes

Several voters, including Alex1atd and Charumathi, argue that "without any downtime" kills Spot and therefore D is right; taer and jatric make the same claim, with jatric writing "Dude without downtime - spot instances might interrupt the processing." That reasoning over-reads the phrase: an interruption of one worker is not downtime of the application, since SQS re-delivers the message to another worker and the RI baseline keeps running. HayLLlHuK parses the wording the way AWS intends, noting "without any downtime" maps to Reserved Instances for baseline and "MOST cost-effectively" maps to Spot for additional capacity, and MrSaint's reading that cost-effectiveness requires the cheapest solution that still meets all requirements points the same way once the queue's buffering behavior is factored in.

Official Reference

Exam Strategy

On SAA-C03 cost questions, always split capacity into a predictable baseline (Reserved/Savings Plans) and an elastic burst tier, then pick the cheapest burst tier that the workload's failure semantics can tolerate — SQS/SNS/Kinesis buffering means Spot is usually acceptable. Watch for 'MOST cost-effectively' as the tiebreaker that rules out all-Reserved or all-On-Demand designs.

Frequently Asked Questions

Why is Reserved + On-Demand (option D) not the most cost-effective choice?

On-Demand burst capacity costs far more than Spot, and because the queue already absorbs interruption, the extra reliability is unneeded — so D is dominated on cost by C.

More SAA-C03 FAQ →

Discussion 164 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 30 of 164

  1. HayLLlHuK 👍 52 Answered C
    "without any downtime" - Reserved Instances for the baseline capacity "MOST cost-effectively" - Spot Instances to handle additional capacity
  2. ShinobiGrappler 👍 48
    Dude, read the question, "Which solution meets these requirements MOST cost-effectively?"
  3. MrSaint 👍 19
    cost-effectively means, Cheapest solution (cost) that achieve all the requirements (effectively). Its not cost-effectively if is just cheapest solution that fail to address all the requirements, in this case. (This application should continually process messages without any downtime) no matter the volume, since it is unpredictable. B for example, address the requirement but not the cheapest solution that achieve it. D is the cheaper choice that address the requirement (without any downtime). and C is cheaper than D but do not garantee that you wont have downtime since it is SPOT instances.
  4. sezer 👍 14
    if you cannot find enough spot instance you will have downtime you cannot always find spot instance
  5. Alex1atd 👍 7 Answered D
    NO Downtime != spot instance Yes, C is cheaper, but you could have downtime. The request is to be Cost-effective, but also no downtime. To accomplish both, the answer is D (it will cost more than C, this is for sure, but you will have no downtime)
Show 25 more comments
  1. Drayen25 👍 7
    C is correct, read for cost effectiveness
  2. NayeraB 👍 6 Answered D
    I think this phrase "This application should continually process messages without any downtime." killed the idea of using Spot instances, not 100% sure though.
  3. cookieMr 👍 5 Answered C
    By reserving instances in advance, the company can benefit from discounted pricing compared to On-Demand instances. As the message volume is unpredictable and intermittent, utilizing Spot Instances can provide additional capacity during peak periods at a much lower cost. By combining both, the company can optimize costs while ensuring continuous processing of messages without downtime. Option A (using Spot Instances exclusively) may result in interruptions or terminations when the Spot price exceeds the bid or there is a capacity constraint, leading to potential downtime or message processing delays. Option B (using Reserved Instances exclusively) may result in higher costs as Reserved Instances are more suitable for predictable or baseline workloads, and the company may incur unused capacity during periods of low message volume. Option D (using Reserved Instances for baseline capacity and On-Demand Instances for additional capacity) can be costlier compared to using Spot Instances for additional capacity as On-Demand Instances do not offer the same level of cost savings as Spot Instances.
  4. awashenko 👍 5 Answered D
    I commented on a few post arguing for C but I spent 20 mins just thinking about this question. Its tricky because your weighing the cost and downtime perspective. The reason I now think its D is because there is a chance you might not get a spot instance when you get an influx of data over the amount of your reserve. In this case, you would have downtime as there arent any spot instances available and you have more data than the reserve can handle. So I think D is the correct answer with On-Demand.
  5. Charumathi 👍 5 Answered D
    Reserved Instances for Baseline + On-Demand for unpredictable volume and intermittent traffic without downtime. Keywords: 1. Production Application 2. Unpredictable Volume and intermittent traffic 3. Without any down-time Spot-instances is a cheaper option, but cannot guarantee downtime, and it is subject to availability too, hence the best choice is to go for On-Demand instances.
  6. kraken21 👍 5
    I am leaning towards C because the idea of having a queue is to decouple the processing. If an instance goes down(spot) while processing will it not show up back after the visibility timeout? So using spot meets the cost-effective objective.
  7. Macadam 👍 5
    Spot instances cannot be an option as it is unreliable and the question requires the messages to be continuously processed
  8. jatric 👍 5 Answered D
    Dude without downtime - spot instances might interrupt the processing if it goes away. So correct answer is D
  9. Guru4Cloud 👍 5 Answered D
    without any downtime = NO Spot Instances
  10. Dharmarajan 👍 4 Answered D
    I believe the best fit for the scenario is D. D has a portion that is about 90% more expensive than C. However, Spot instances can be interrupted which means that some of the processes can be interrupted, which is not acceptable. So considering that I am choosing D.
  11. wsdasdasdqwdaw 👍 4
    C is more effective than D but it is not possible because of the last requirement "This application should continually process messages without any downtime." So spot instances are out of the games as well as C option. The correct one is option D
  12. Buruguduystunstugudunstuy 👍 4 Answered C
    The most cost-effective solution for continually processing messages without any downtime would be to use a combination of Reserved Instances for the baseline capacity and Spot Instances to handle additional capacity (Option C).
  13. Robrobtutu 👍 4 Answered D
    Yes, you have to find the most cost effective solution that meets the requirements, and the requirements demand that there is no downtime. With C (spot instances), you can have downtime, so you can't pick that.
  14. bdp123 👍 4 Answered D
    We recommend that you use On-Demand Instances for applications with short-term, irregular workloads that cannot be interrupted. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-on-demand-instances.html
  15. bdp123 👍 4 Answered C
    I change my answer to 'C' because of cost and explanation below: https://aws.amazon.com/blogs/compute/running-cost-effective-queue -workers-with-amazon-sqs-and-amazon-ec2-spot-instances/
  16. Rameez1 👍 4 Answered D
    No downtime eliminates option A and C, as spot instances can be lost unexpectedly. Unpredictable volumes directs towards on Demand instances. So Option D is the right answer.
  17. john_nch 👍 4 Answered D
    D is the correct answer. Keyword is without downtime, so spot instance is out of the question. D also addresses cost-effectiveness, by being more cost-effective than B
  18. kraken21 👍 4
    How can you have baseline capacity when your message volume is unpredictable and often has intermittent traffic?
  19. jayce5 👍 4 Answered D
    "process messages without any downtime" -> D. Spot Instances are cost-effective, but they may produce downtime.
  20. farnamjam 👍 4 Answered D
    Although Spot instance is cheaper, but it might be terminated so it's not a reliable solution.
  21. aturret 👍 4 Answered D
    First we need to ensure that no downtime. Then we can talk about cost-effective.
  22. OAdekunle 👍 4 Answered D
    Most important phrase "without any downtime"- D
  23. babaxoxo 👍 4 Answered D
    No downtime required so the answer is D
  24. Buruguduystunstugudunstuy 👍 3
    Explanation as to WHY Reserved/Spot Instances are suitable. Reserved Instances are a cost-effective option for instances that are used consistently over a longer period of time, as they offer a significant discount compared to On-Demand Instances. By using Reserved Instances for the baseline capacity, you can ensure that you have a consistent and reliable capacity available to process messages, without incurring the higher costs of On-Demand Instances. Spot Instances are instances that are available at a discounted price, in exchange for the ability to interrupt the instances when EC2 needs the capacity back. While Spot Instances can be a cost-effective option for handling unpredictable workloads, they may not be suitable for applications that require a consistent and reliable capacity. However, by using Spot Instances to handle additional capacity, you can take advantage of the discounted prices while still having a consistent and reliable capacity available through the Reserved Instances.
  25. Zerotn3 👍 3 Answered C
    option D is not the most cost-effective solution for this scenario. Option D states that the company should use Reserved Instances for the baseline capacity and On-Demand Instances to handle additional capacity. Using On-Demand Instances to handle additional capacity would likely be the least cost-effective option, as On-Demand Instances are generally more expensive than both Spot and Reserved Instances. The most cost-effective solution for this scenario would be to use a combination of Reserved Instances for the baseline capacity and Spot Instances to handle additional capacity. This would allow the company to take advantage of the lower costs of Spot Instances for the unpredictable, intermittent traffic, while also ensuring that there is a baseline of capacity available at all times through the use of Reserved Instances.

Reader comments & corrections

No reader corrections 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.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide