← AWS Solutions Architect Associate: architecture decisions
24 / 25 · 75 MIN

Select compute, capacity, and deadlines

Select capacity by executable workload, dependencies, and the complete deadline; compare alternatives using equivalent measurements.

Start with the workload contract

Describe duration, resident memory, permitted parallelism, native artifacts, persistence, and the accepted result. Distinguish service, capacity, and orchestration: ECS organizes containers, Fargate supplies execution without administering EC2 hosts, and Batch organizes jobs.

An existing job may need adaptation to fit a function. The option with the shortest CPU time can lose once reading, publication, and dependency waits are included. Do not compare a trial missing a required library with the complete execution.

Compatibility is an entry requirement: an arm64 image needs compatible binaries and libraries; a tag does not transform them.

Define the scope of the Lambda option

For the conventional invocations considered here, the per-invocation limit is 900 seconds. Current documentation describes exceptions for Lambda Managed Instances in certain modes; do not generalize the limit without identifying the option.

Configured memory also influences allocated CPU. Measure duration after changing memory: more memory can reduce GB-s, increase GB-s, or leave an external wait unresolved. A 24-minute computation can be split into three eight-minute stages only if valid boundaries, durable intermediate outputs, and defined resumption exist.

Splitting does not authorize repeated payments or duplicate result publication.

Count usable capacity

Aggregate resources do not guarantee placement. Eight indivisible jobs needing 2 vCPU and 6 GiB require four hosts of 8 vCPU and 16 GiB: each host fits only two jobs because of memory. Three hosts total 48 GiB but do not allow one job’s memory to span hosts.

Include operating reserves, licenses, and dependency limits. Ninety ten-second jobs within sixty seconds need fifteen workers across six waves. If available connections are 24−8−4=12, adding CPU does not make that plan feasible.

Change a constraint through an explicit decision and repeat the trial.

Scale by work and readiness

Two queues of one hundred jobs can represent radically different loads. If each job takes one second in one queue and thirty seconds in the other, equal backlogs require different capacity. Measure service time, arrivals, pending work, and external limits.

A requested task is not yet a ready task: if startup takes forty seconds, a burst that cannot queue requires advance capacity. During container replacement, preserve required availability and count temporary resources, including addresses. One spare address can permit replacing one task at a time, provided the new task becomes healthy before an old task is removed.

Separate attempt, progress, and result

A scheduler can report failure after the destination has received the result. Decide how to recognize the same operation on retry. If the destination supports atomic publication by a stable key, reuse the key and reconcile an existing result; a new key for each attempt removes that protection.

A checkpoint reduces repeated work only if it survives worker loss and represents confirmed progress. Count startup, replay, and validation: losing three minutes, starting in four, and validating in two gives nine. Retaining less progress can be worse despite faster startup.

These calculations are decision models; production timings require measurement.

Workshop: select using a complete dossier

Fictional inputs: ten indivisible jobs, six minutes per job, 8 vCPU per job, 120 vCPU available, four licenses, one per job, instantaneous startup, and a fifteen-minute deadline. First predict whether doubling CPU suffices. Then compare acquiring a fifth license with reducing duration to five minutes while adding two final validation minutes.

Solution: four licenses impose three waves and eighteen minutes; doubling CPU does not help. Five licenses permit two waves and twelve minutes. The five-minute alternative gives 3×5+2=17 and fails.

Finally, record what the model omits: real startup, duration variation, failures, and evidence that licensing permits deployment. The code below calculates only the published models locally, without creating AWS resources. Save it as compute-models.mjs and run it with Node.js; change one constraint at a time and compare the prediction.

// Synthetic deterministic models; no AWS calls or performance predictions.
function waves(jobs, slots, duration, startup=0, validation=0) {
  if (![jobs,slots].every(Number.isInteger) || jobs<0 || slots<1 ||
      ![duration,startup,validation].every(x=>Number.isFinite(x)&&x>=0)) throw Error('invalid input');
  return jobs===0 ? 0 : startup+Math.ceil(jobs/slots)*duration+validation;
}
function placement(jobs, cpu, memory, jobCpu, jobMemory) {
  if (![jobs,cpu,memory,jobCpu,jobMemory].every(Number.isFinite) ||
      !Number.isInteger(jobs) || jobs<0 || [cpu,memory,jobCpu,jobMemory].some(x=>x<=0)) throw Error('invalid input');
  const perHost=Math.min(Math.floor(cpu/jobCpu),Math.floor(memory/jobMemory));
  return jobs===0 ? 0 : perHost===0 ? null : Math.ceil(jobs/perHost);
}
console.log(JSON.stringify({hosts:placement(8,8,16,2,6),fourLicenses:waves(10,4,6),
 fiveLicenses:waves(10,5,6),shorterWithValidation:waves(10,4,5,0,2),coldPool:waves(12,6,20,30)}));
IN PRACTICE

The option with the least CPU time or lowest unit price is eligible only if it delivers the complete workload within constraints.

Common pitfalls

Adding memory across hosts for an indivisible job; omitting startup; confusing attempt failure with absence of an effect.

Related topics: Resilience, capacity, and recovery · Events, queues, and processing · Compute: commitments and batch recovery

Take this idea with you

First select executable, eligible options; then optimize the complete result.

Create account

References

AWS is a trademark of Amazon.com, Inc. or its affiliates. bigsavant.com is an independent preparation platform and is not affiliated with, associated with, sponsored, authorised or endorsed by AWS. Content and questions are original, are not official exam questions, and completing our tests does not award or guarantee any certification. Names are used only to identify the subject. All other trademarks belong to their respective owners.