Which EC2 purchase model mix for unpredictable SQS load?

Answer Correct answer: C — Use Reserved Instances for the baseline capacity and Spot Instances for the additional burst capacity in the SQS worker fleet.

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.

Community Insight

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.

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.

Community Discussion (168 comments)

faeshal 👍 1 Selected: D
Unpredictable + interruption-tolerant → Spot Unpredictable + must keep running → On-Demand
Neeraja2023 👍 2 Selected: C
C. Use Reserved Instances for the baseline capacity and use Spot Instances to handle additional capacity. - Baseline capacity is handled by Reserved Instances, ensuring no downtime for the minimum required processing. - Spot Instances handle traffic spikes cost-effectively. Combines reliability (RIs) with cost savings (Spot) for unpredictable workloads. Recommended by AWS for workloads with variable traffic and parallel processing tasks.
Darius_W 👍 2 Selected: C
Answer: C Use Reserved Instances for the steady baseline and Spot Instances for burst capacity. Cost-effective: RIs cover always-on load at discounted rates; Spots are cheapest for intermittent spikes. Continuous processing: If Spot capacity is interrupted, baseline RIs keep consumers running; the SQS queue buffers until Spot capacity returns.
Darius_W 👍 2 Selected: C
C. Use Reserved Instances for the baseline capacity and Spot Instances for burst capacity. Baseline (RIs): Guarantees steady, always-on processing so there’s no downtime during normal traffic. Bursts (Spot): Adds cheap, interruptible capacity for unpredictable spikes; if Spot is reclaimed, baseline RIs keep the system running and SQS buffers excess messages.
Jarranymo 👍 2 Selected: C
Use Reserved Instances to handle predictable base load, and Spot Instances to handle unpredictable spikes — that's the most cost-effective way to ensure availability and performance.
111380c 👍 3 Selected: C
no downtime
lalaraj 👍 2 Selected: C
Reserved capacity esnures no downtime and additional capacity can be handled with spot instances cost effectively
network_enthusiast 👍 2 Selected: C
C is the correct answer
Yak_Yeti 👍 2 Selected: C
"MOST cost-effectively" - Spot Instances to handle additional capacity The application will process the messages with the reserved instances - slowly - with no downtime.
chest_jd 👍 2 Selected: C
Cost-effective - C.
Faraz999 👍 2 Selected: C
I am leaning towards C because the idea of having a queue is to decouple the processing.
triptimandal01 👍 2 Selected: C
Spot Instances can be used to handle additional capacity to accommodate intermittent traffic. Spot Instances are ideal for variable and unpredictable workloads because they allow you to take advantage of unused EC2 capacity at a significantly lower cost than On-Demand Instances.
tch 👍 2 Selected: D
baseline capacity" refers to the normal or expected capacity performance of a system or process, so use reserved instance - this to fulfil without any downtime and cost-effective if "additional capacity" refers to resources or capabilities beyond the standard or baseline capacity needed to handle normal operations, allowing for flexibility and the ability to handle surges in demand or unexpected events - then we should use on-demand instances
iamroyalty_k 👍 2 Selected: C
C is correct because it balances cost and reliability using a combination of: - Reserved Instances for steady-state traffic (ensuring continuous processing). - Spot Instances for handling spikes in traffic (reducing costs significantly). A - ❌ Not Reliable – Spot Instances can be interrupted at any time. Using them exclusively could cause processing delays or failures. B - ❌ Not Cost-Effective – RIs are best for predictable workloads, but over-provisioning for peak loads leads to unnecessary costs when traffic is low. D - ❌ More Expensive Than Spot Instances – On-Demand Instances are more costly than Spot Instances for handling additional capacity.
Dharmarajan 👍 4 Selected: 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.
Mrigraj12 👍 2 Selected: C
Easily the most cost effective
mayorpasca32 👍 2 Selected: C
Spot Instances – Can be scaled up dynamically when message volume increases, at a much lower cost than On-Demand instances.
skybrink 👍 2 Selected: C
Why Option C is Correct: Reserved Instances: Provide a cost-effective solution for the baseline capacity (predictable, steady traffic) with a significant discount compared to On-Demand Instances. Spot Instances: Are highly cost-effective (up to 90% cheaper than On-Demand Instances) and can be used for handling additional, variable traffic since the application processes messages in parallel and can tolerate instance interruptions. Combining these instance types ensures a balance of cost savings and availability.
henrikamirbekyan 👍 2 Selected: C
I think it is C The instance will remove the message from the queue when it is already processed, there is one downside here when the spot instance is terminated before message removal, it will lead to double processing. The question is not talking about time, so having baseline + spot is the most cost effective here.
HiraPBI 👍 2 Selected: C
C - Because of cost effectiveness.
wellzz5422 👍 1 Selected: D
D. Use Reserved Instances for the baseline capacity and use On-Demand Instances to handle additional capacity. Most Voted
tom_cruise 👍 3 Selected: D
"without any downtime" rules out spot instance.
PaulGa 👍 3 Selected: D
Ans D - "Continual processing" rules out Spot; so its Reserved Instances for the baseline capacity and use On-Demand Instances for peak
Mish 👍 2 Selected: C
without any downtime - Reserved Instances for the baseline capacity cost-effectively - Spot Instances to handle additional capacity
Mish 👍 1
C. Use Reserved Instances for the baseline capacity and use Spot Instances to handle additional capacity.
aturret 👍 4 Selected: D
First we need to ensure that no downtime. Then we can talk about cost-effective.
XXXXXlNN 👍 3
without any downtime... this imediately exclude spot instances...
bignatov 👍 2 Selected: D
I think it is D, because NOWHERE is mentioned that it should be the most cost effective scenario. It is mentioned that it must process messages without any downtime.
MatAlves 👍 3
it LITERALLY says: "Which solution meets these requirements MOST cost-effectively?"
jaradat02 👍 1
C is definitely the most cost-effective, also the application shouldn't face any downtime because of the reserved instances always running.
jatric 👍 5 Selected: D
Dude without downtime - spot instances might interrupt the processing if it goes away. So correct answer is D
ChymKuBoy 👍 2 Selected: C
C for sure
shil_31 👍 2 Selected: C
Reserved Instances (RIs) provide a cost-effective way to cover the baseline capacity, ensuring a predictable number of instances are always available. Spot Instances can handle additional capacity during traffic spikes, providing scalability without committing to a specific number of instances. This combination (C) offers the most cost-effective solution, as RIs cover the baseline and Spot Instances handle variable demand. Why not D? On demand is expensive than Spot instances.
pipisyokunin 👍 3 Selected: D
If it is a spot instance, it may become unusable. Since the question states that there is no downtime, I think D is more in line with the purpose.
ManikRoy 👍 3 Selected: D
key word - production System & without any down time. This excludes spot instance.
TruthWS 👍 1
C is correct because MOST cost-effective reason
Uzbekistan 👍 1 Selected: C
Using Reserved Instances (RIs) for baseline capacity ensures a lower cost for the instances that are constantly required to maintain the application's baseline workload. RIs offer significant cost savings compared to On-Demand instances, making them a cost-effective choice for steady-state workloads. Spot Instances can then be utilized to handle additional capacity during periods of higher message volume. Spot Instances provide spare EC2 capacity at significantly reduced prices compared to On-Demand instances, allowing for cost savings during peak workloads. Since the message volume is unpredictable and often intermittent, Spot Instances can efficiently handle the fluctuating demand without incurring high costs.
escalibran 👍 2
Missing some information to make a proper decision. What does "without downtime" mean? We are already outside of Realtime processing, and messages can remain in the queue until picked up. Purely using Spot instances _might_ do just fine, but there could be times when no spare capacity is available. How much delay is acceptable? I'd go with reserved+spot, but reserved+on demand may be required for priority on bursty load. B is the one option i would rule out completely. The workload is unpredictable, we can't reserve infinity instances for all eternity.
Hrishi_707 👍 2
Keywords are - Production, without any downtime. I would prefer D option as AWS itself recommends, spot instances should not be used in Prod environment.
NayeraB 👍 6 Selected: 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.
MrPCarrot 👍 1
Answer is C Reserved Instances for the baseline capacity can be used to handle downtime issue and Spot Instances to handle additional capacity is the most cost effective
Charumathi 👍 5 Selected: 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.
Leybiuk 👍 2 Selected: C
Cheaper option which meets requirement
awsgeek75 👍 3 Selected: D
reserved for baseline + on-demand for additional C will work but spot does not guarantee "continually process messages without any downtime" spot instance may not even be available so what happens with the messages which exceed baseline requirements?
SVDK 👍 1
C is correct. Because - This application should continually process messages without any downtime -> RI for baseline workload - The message volume is unpredictable and often has intermittent traffic. -> Spot instances or on demand instances - Which solution meets these requirements MOST cost-effectively -> Spot instances (ruling out/dismissing on demand instances
farnamjam 👍 4 Selected: D
Although Spot instance is cheaper, but it might be terminated so it's not a reliable solution.
bi11 👍 2 Selected: C
cccccccccccc
ale_brd_111 👍 2 Selected: C
On-Demand Instances are generally more expensive compared to Spot Instances. In scenarios with unpredictable and intermittent traffic, using On-Demand Instances for additional capacity may result in higher costs than leveraging Spot Instances. In summary, Option C is more cost-effective because it leverages the potential cost savings of Spot Instances for handling increased demand during unpredictable traffic spikes, providing a balance between cost predictability (with Reserved Instances) and cost efficiency (with Spot Instances).
ansagr 👍 2 Selected: C
This option combines the cost savings of Reserved Instances for the baseline workload with the flexibility and potential cost savings of Spot Instances for handling bursts of additional capacity. It provides a balance between cost-effectiveness and ensuring continuous processing even during peak periods. Messages are read from SQS, meaning that if a Spot instance is terminated while processing a message, the message will remain in the queue for retry.
Marco_St 👍 2 Selected: C
The traffic itself is also intermittent so for additional capacity, spot instance along with SQS should be good to go to handle these traffic to avoid downtime and also have least cost of instances. Of course for based line capacity, reserved instance is reliable and also cheaper than on-demand. C
slots 👍 2 Selected: D
spot instance is not reliable solution
Richi0907 👍 2 Selected: C
cccccccccc
Alex1atd 👍 7 Selected: 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)
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
rlamberti 👍 3 Selected: D
"process messages without any downtime" Spot instances can be terminated anytime, so C is not an option. Answer is D.
awashenko 👍 5 Selected: 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.
Ramdi1 👍 2 Selected: C
C is correct, it is not just relying on the spot instance, when the instance become available it can be added back in.
mildewCake 👍 1 Selected: D
D: On-demand instances would always be available, whereas Spot (C) would not.
Guru4Cloud 👍 5 Selected: D
without any downtime = NO Spot Instances
awashenko 👍 3
The reserve instances would cover for this. There still shouldnt be downtime. I think Spot instance is correct. The only issue I could possibly see here is if you got a massive influx of data coming in and couldnt get any spot instances. I'm not sure if thats ever been an issue though.
daniel33 👍 2 Selected: D
D is the answer - the question states "should continually process messages without any downtime". So, spot instances can offer up to 90% discount but quickly get interrupted.
TariqKipkemei 👍 1 Selected: D
'This application should continually process messages without any downtime'. With spot instances there are chances of downtime. On-demand will handle the peak times with no downtime.
Valder21 👍 2 Selected: D
without any downtime=no spot instances
coolkidsclubvip 👍 2 Selected: C
C has no downtime either
AKBM7829 👍 2
D is correct answer Keyword: unpredictable and often has intermittent traffic is ON-Demand
samiizduma 👍 2 Selected: C
El proceso es continuo con las instancias reservadas y las instancias spot son más rentables para procesos adicionales.
040AG 👍 2 Selected: D
D is CORRECT (NOT C) The question states "... application should continually process messages without any downtime." it then asks which solution meets the requirements MOST cost-effectively. Hence, GIVEN that there can be no downtime, which is most cost-effective? This therefore eliminates option C as it is vulnerable to "Spot Instance Interruptions", i.e. downtime. In addition to this, from the perspective of scaling out for increased application demand, you are at the mercy of spot instance availability which at that given time might be scarce / limited and thus there is wait time before capacity is freed up and a new spot instance can be added to the target group, i.e. downtime.
miniranda 👍 1 Selected: D
D가 정답입니다
Sat897 👍 2 Selected: D
D is correct without any doubts.. Even though cost effectiveness: required is - unpredictable and often has intermittent traffic - On-Demand
Moss2011 👍 2 Selected: D
The EC2 instance fleet does not mention any external storage. If you are processing data, where are you saving it? I will choose D just to have the flexibility to add more instances from a snapshot if necessary
n43u435b543ht2b 👍 3 Selected: C
C for cost-effectiveness. Reserved instances will cover the baseline compute, and spot instances can be utilized for the unpredictable workloads. Even if a spot instance is unavailable when required, the base reserved compute can handle the workload until a spot instance becomes available. While using on-demand for the unpredictable workloads would mean that they are always available when required, this question asks for the most cost effective solution, and does not specify for the most operationally efficient solution.
oguzbeliren 👍 2
Common confusion about the C and D. Both sounds suitable but using spot instance for additional capacity is more cost-effective than using on-demand instance. In the quieston, it doesnt have any restriction for the instance cutdown. The answer is C
Nazmul123 👍 1
With reserved instances your service will never have any downtime. Given that you have spot-instances, the quality of the service may degrade but you will not get any downtime C is correct.
Smart 👍 3 Selected: C
C is correct. If spot instances are unavailable, then, it may cause the queue length to increase. However, reserved instances could catch up due to unpredictable traffic. Basically, at worst, there will be some throttling but not unavailability.
allanm 👍 1
No way you're considering Spot instances! What if an instance goes down? Then your job is ruined which is unacceptable for the requirement
Macadam 👍 5
Spot instances cannot be an option as it is unreliable and the question requires the messages to be continuously processed
MutiverseAgent 👍 1 Selected: A
How can I have reserved instances if the traffic is unpredictable? I think that is the purpose of spot instances. Spot instances sound attractive as well as reserved instances, but if traffic is unpredictable and intermitent (12 hrs without traffic) reserved instances are not the best option.
MutiverseAgent 👍 2
Correction on my previous comment... "(...) I think that is the purpose of ON-DEMAND instances"
diabloexodia 👍 2
so i think C is incorrect*. the Correct ans is D.
Destravna 👍 2 Selected: D
The application might face downtime even if we have reserved capacity when the server gets overwhelmed, spot instances aren't always available so we have option to use either on demand or reserved instances in case of heavy workloads, using reserved instances for heavy workloads might help reduce the cost but may also increase the cost as we may not use the reserved capacity for the entire duration, also since the traffic is unpredictable there is a chance of even extra reserved capcity to run out, hence we use on demand
sbnpj 👍 2 Selected: C
cost effectiveness.
fuzzycr 👍 2 Selected: C
C: you have some instances to support the traffic considered normal and if you require more capacity you use spoot instances. Understanding that the application is volatile, but you can average its consumption and leave it as a baseline
aadityaravi8 👍 3
D right answer. Reserved Instances are a more expensive way to run Amazon EC2 instances, but they offer guaranteed capacity and pricing. Reserved Instances are a good option for applications that need to run continuously. Spot Instances are a cost-effective way to run Amazon EC2 instances when you have unpredictable or intermittent traffic. Spot Instances are available at a discounted price, but they can be interrupted if there is higher demand for EC2 instances. In question it is clearly mentioning that the application should run without any downtime. hence On Demand instance is best fit here for additional capacity needed.
cookieMr 👍 5 Selected: 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.
teja54 👍 2 Selected: C
c is correct based on cost-effectiveness
beginnercloud 👍 1 Selected: D
D is correct.
antropaws 👍 1 Selected: D
I'd say C if it was a Spot Fleet, not spot instances.
abhishek2021 👍 2 Selected: D
number of EC2 instances needs to scale with guarantee for high volume of traffic. Spot instances dosen't give that guarantee therefore may cause downtime. Hence, D not C.
Jumagul 👍 1 Selected: D
D is correct
Kumaran1508 👍 3 Selected: C
Downtime means a service is completely down. Opting C will not cause downtime as we have baseline reserved instances. Performance may degrade if spot instances are not available. But overall , spot instances are cost effective than on-demand instances and the requirement is satisfied.
creamymangosauce 👍 2
When traffic spikes and there happens to an increase in the spot price, if the price exceeds the threshold set then there would be downtime as no additional compute can be acquired. Hence even if spot instances are more cost effective, I would interpret the cost effective requirement to be the ability to reliably acquire new instances and dispose of when not needed, hence on demand instances
Sutariya 👍 2
Baseline reserved instances and ondemand Spot instance is cost saver
Bmarodi 👍 2 Selected: C
Option C is MOST cost-effectively.
ruqui 👍 2 Selected: D
D is the answer. C is wrong because "the application should continually process messages without any downtime" ... you can't be certain to find spot instances when you need them
studynoplay 👍 1 Selected: D
without any downtime = NO Spot Instances
Konb 👍 3 Selected: C
Key requirements: - no downtime - most cost-effective Reserved instances for baseline capacity satisfy both requirements Spot-instance satisfy cost-effectiveness. Since we're not talking about performance AND we already have instances reserved D is not solving "no downtime" while loses to C in cost-effectiveness
OAdekunle 👍 4 Selected: D
Most important phrase "without any downtime"- D
jayce5 👍 4 Selected: D
"process messages without any downtime" -> D. Spot Instances are cost-effective, but they may produce downtime.
john_nch 👍 4 Selected: 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
HelloTomorrow 👍 2
D - as you can get spot instance by provide marginal price and may also reprocess the queue msg when spot instance is not available. It would server both - cost and avoid downtime
seifshendy99 👍 2 Selected: C
Option C correct , most cost-effectively
darn 👍 3 Selected: D
D, WITHOUT DOWNTIME
Robrobtutu 👍 4 Selected: 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.
ErfanKh 👍 2 Selected: D
I say D, with Spot you can have downtime.
f9ly 👍 2 Selected: C
the question states that the processing is on a fleet of EC2 instances so basically it runs a distributed application with fault tolerance (SPOT INSTANCE), (ON-DEMAND) if there is no fault tolerance in that application.
Diyang 👍 2 Selected: D
D for sure, if your argument is most cost-effective, you can just go with all spots, which you can't because there should be no downtime.
notacert 👍 1 Selected: C
C makes more sense, Spot instances will result in reduced availability
notacert 👍 1
I meant D, there is no way to edit the comment or delete it
Sutariya 👍 1
Intermediate data stored in SQS queue so once free then it take data and process.
kraken21 👍 2 Selected: D
I vote D because the baseline is unpredictable and spot availability can cause downtime.
MutiverseAgent 👍 1
For this reason I think correct answer is A
Antonio1999 👍 2 Selected: D
The key is "This application should continually process messages without any downtime" Answer is D
Kumaran1508 👍 3
Why downtime when there are baseline reserved instances?
MssP 👍 3 Selected: C
"continually process messages without any downtime" is just for making noise, Sopt instances do it when there is a SQS. C is the most cost-effective.
Tofu13 👍 3 Selected: C
Key to answering this question is how you think AWS interprets "continually process messages without any downtime". As suggested by the info provided by Alhaz and others, applications can minimize the impact of a Spot Instance interruption. Data will not be lost because another instance will poll the message again. As Reserved Instances are being used for the baseline capacity continuously processing should be ensured (even if slowed down due to Spot Instance interruption). As they want the most cost-effectively solution, C looks right to me.
Alhaz 👍 3 Selected: C
https://aws.amazon.com/blogs/compute/running-cost-effective-queue-workers-with-amazon-sqs-and-amazon-ec2-spot-instances/
bdp123 👍 4 Selected: 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/
bdp123 👍 4 Selected: 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
Ouk 👍 3 Selected: D
Without downtime so On-demand
diabloexodia 👍 1
AWS has stopped issuing spot instances so i think C
sezer 👍 14
if you cannot find enough spot instance you will have downtime you cannot always find spot instance
Deepak_k 👍 2 Selected: C
Answer : C (Explained clearly when spot instance terminated and what happens to the message in queue) https://aws.amazon.com/blogs/compute/running-cost-effective-queue -workers-with-amazon-sqs-and-amazon-ec2-spot-instances/
Deepak_k 👍 1
Handling Spot Instance interruptions Applications can minimize the impact of a Spot Instance interruption. To do so, an application catches the two-minute interruption notification (available in the instance’s metadata), and instructs itself to stop fetching jobs from the queue. If there’s an image still being processed when the two minutes expire and the instance is terminated, the application does not delete the message from the queue after finishing the process. Instead, the message simply becomes visible again for another instance to pick up and process after the Amazon SQS visibility timeout expires. Alternatively, you can release any ongoing job back to the queue upon receiving a Spot Instance interruption notification by setting the visibility timeout of the specific message to 0. This timeout potentially decreases the total time it takes to process the message.
omarinux 👍 2 Selected: D
Explanation/Reference: We recommend that you use On-Demand Instances for applications with short-term, irregular workloads thatcannot be interrupted.
AndyMartinez 👍 2 Selected: C
I think the right option is C based on the cost-effectively request.
remand 👍 2 Selected: C
This is the sneaky way of saying processing can be terminated anytime. Because messages can go back to SQS if Spot instance is pulled back, C is correct
LuckyAro 👍 1 Selected: B
The message volume is unpredictable and often has intermittent traffic = No Baseline period = C % D are incorrect. This application should continually process messages without any downtime = No Spot Instances = A is Incorrect. B is the answer = On demand instances due to unpredictable pattern.
joric 👍 2 Selected: C
c - most cost effective: spot instanes for traffic peaks
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.
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.
LuckyAro 👍 2 Selected: D
Because cost was not a consideration in the question, I would reluctantly vote D. Autoscaling group filled with spot instances would have made better architecture due to cost consideration.
mj61 👍 3
It is the main question. Which solution meets these requirements MOST cost-effectively?
ShinobiGrappler 👍 48
Dude, read the question, "Which solution meets these requirements MOST cost-effectively?"
JayBee65 👍 1
There is no sensible logical explanation given for D. The explanations below are all flawed. C is explained accurately
ocbn3wby 👍 1
Weeks later and I think you're right. Goddamn this exam
aba2s 👍 2 Selected: D
Arguments from SAA-CO2 A. Nop, we need to process messages without any downtime. B. It would be a waste to have instances running when there is intermittent traffic. C. Could be, but we can't use Spot Instances D. Sounds about right, even though on-demand is expensive, there can't be any downtime.
HayLLlHuK 👍 52 Selected: C
"without any downtime" - Reserved Instances for the baseline capacity "MOST cost-effectively" - Spot Instances to handle additional capacity
kraken21 👍 4
How can you have baseline capacity when your message volume is unpredictable and often has intermittent traffic?
LuckyAro 👍 3
Dude, read the question, cost consideration was not mentioned in the question.
gustavtd 👍 2 Selected: C
C, you have a Reserved Instances of EC2 handle part of capacity which is baseline volume, and you config to have many Spot instance to handle additional task if the queue is filled up
Zerotn3 👍 3 Selected: C
https://www.examtopics.com/discussions/amazon/view/35772-exam-aws-certified-solutions-architect-associate-saa-c02/ So many people keep arguing that a spot instance can be interrupted and that would mean downtime. Guys, please understand the difference between downtime and delay. If a spot instance is interrupted the SQS has a retry mechanism built in (message not deleted and a new consumer can consume the same message. The default time setting for message visibility is 30 seconds. Assume it doesn`t get processed and deleted by a spot instance, that means it will be put back in the queue and a new consumer (reserved instance) will be available to process that message. Please learn the differences between no delay and no downtime.
OR2 👍 2
There is SQS, so spot instance makes perfect sense
Zerotn3 👍 3 Selected: 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.
Buruguduystunstugudunstuy 👍 4 Selected: 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).
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.
Buruguduystunstugudunstuy 👍 3
Not a suitable solution. Option A (using Spot Instances exclusively) would not be a suitable solution as Spot Instances may not provide a consistent and reliable capacity. Option B (using Reserved Instances exclusively) would not be a suitable solution as it may not be cost-effective to pay the higher On-Demand prices for capacity that is not always used. Option D (using Reserved Instances for the baseline capacity and On-Demand Instances to handle additional capacity) would not be a cost-effective solution as On-Demand Instances are generally more expensive than Spot Instances.
BENICE 👍 1
Looks like C is correct answer
Sahilbhai 👍 1
answer is c
career360guru 👍 2 Selected: D
Option D to avoid any downtime due to spot instances going away as load is unpredictable.
JayBee65 👍 1
That is not a requirement of the question. The reserved instance would continually process the queue
Qjb8m9h 👍 2
"This application should continually process messages without any downtime"- Spot Instance could be distrupted. but requirement wants persistency Hence Answer is : D
JayBee65 👍 1
The reserved instance would continually process the queue
ocbn3wby 👍 2 Selected: D
I've read the C002 discussions on the same question. Ppl selecting C are doing so because there is a baseline of EC2 involved. However, what if the baseline is full, and it cannot provide any more answers to the customers? This is why we need additional instances after all (in the cheapest way) -> to handle additional workload - not supported by baseline. More costly than C, but C defeats the purpose of the question.
JayBee65 👍 1
That explanation makes no sense "what if the baseline is full, and it cannot provide any more answers to the customers?" Then messages will Q, which is fine.
Rameez1 👍 4 Selected: 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.
JayBee65 👍 1
The reserved instance would continually process the queue if the spot instance was not available
romko 👍 3 Selected: C
A - it's out because it's not ok to use full spot coverage. B - it's hard to predict how much resources are needed to buy ahead, so it's suitable to no have any down time but not the best from cost perspective C - possible to be correct answer such as use cover baseline with RI and rest with spot that is cheaper. Regarding don't time. there is no downtime because vaseline covered with RI and all communication is via SQS (distributed model) D - possible but less cost effective then C
Wpcorgan 👍 1
D is correct
ds0321 👍 2 Selected: D
D is the correct answer
taer 👍 30 Selected: D
D is the correct answer
Drayen25 👍 7
C is correct, read for cost effectiveness
Danny23132412141_2312 👍 2
D is the correct answer
mabotega 👍 3 Selected: D
Answer D: unpredictable and often has intermittent traffic
babaxoxo 👍 4 Selected: D
No downtime required so the answer is D
bora4motion 👍 1
there wont be any downtime due to the reserved instances. C is correct.
mricee9 👍 2 Selected: C
C https://www.examtopics.com/discussions/amazon/view/35772-exam-aws-certified-solutions-architect-associate-saa-c02/
Nigma 👍 3
Answer is D because you CAN NOT use spot instances for unpredictability
goatbernard 👍 3 Selected: C
reserved instance and spot instance

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

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 →

Related Analysis

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