Ravindra BagaleCourses & study guides मराठी Track your progress

What Is Serverless Architecture? When to Use It and When Not To

Your friend opens a chai stall only when customers walk up. No rent for an empty shop at 3 AM. Serverless architecture is that idea for software: run code when work arrives, pay mainly for that work, and let the cloud own the servers. This chapter maps the whole patterns series and tells you when NOT to go serverless.

What you'll learn in this chapter

  • Explain serverless with an everyday story
  • List what you manage vs what AWS manages
  • Choose Lambda vs EC2 vs containers
  • Name anti-patterns (long jobs, sticky state)
  • Link existing Lambda/API/DDB/project chapters

1. Everyday example: the on-demand chai stall

Ravi boils water only when someone orders chai. Priya in Bengaluru runs a PDF invoice API the same way: quiet nights, then 50,000 INR invoices at month-end. Always-on EC2 wastes money at 3 AM. Lambda behind API Gateway sleeps and wakes per invoice. That is serverless architecture: managed services wired so you write business code, not patch Tuesdays.

Serverless does not mean no servers exist. Servers live inside AWS. You do not SSH, patch the OS, or size a fleet for 3 AM.

Refresh compute basics in What Is AWS Lambda? before designing a whole system. This chapter zooms out to architecture.

2. Why an architecture view?

Why do we need this?

Five pasted Lambda tutorials are not architecture. Production then hurts: recursive S3 triggers, no DLQ, 15-minute jobs in Lambda, surprise bills in USD or INR. Architecture forces fit, limits, failure and cost before code.

What is it?

Serverless architecture means default building blocks are managed event-driven services (Lambda, API Gateway, DynamoDB, SQS, SNS, EventBridge, Step Functions, Cognito) assembled into patterns: API backend, fan-out, saga, strangler, and more.

You manageAWS managesExample
Code, IAM intent, data model, alarmsServers, OS patching, metal capacityYou write handler; AWS places microVMs
Retry/idempotency/DLQ designQueue storage replicationYou set maxReceiveCount
Auth rules, WAF, secret rotation processKMS HSM, Cognito scalingYou pick authorizer

3. Vertical diagram: client to data

Client -> API -> Lambda -> Bus -> Workers -> DataSync answers fast; async levels load
Skip a box = hidden servers later
Client API Gateway / Function URL Lambda / Step Functions SQS / SNS / EventBridge Worker Lambdas DynamoDB / S3 Observe later: Logs + X-Ray + alarms
Vertical path for most serverless systems.

4. Building blocks you already studied

What is it?

Hands-on live projects: notes app project, URL shortener, plus more build-* chapters. Patterns link them; they do not paste source again.

5. When serverless shines

  • Spiky traffic: campus fest tickets, flash sale.
  • Glue: S3 resize, webhook validate then queue.
  • Many small APIs for small teams.
  • Cron/automation without a babysitting server.
  • Afternoon prototypes.

6. When NOT to use serverless

SmellBetter defaultWhy
30-120 min continuous jobECS/Batch/EC2Lambda 15 min cap
Sticky game with huge memoryECS/EKS/game serversLambda stateless between invokes
p99 under 5 ms VPC hairpinFleet near dataCold start + VPC risk
Always-warm 2 GB native monolithECS containersPackaging/cold starts hurt
All-day GPUEC2/SageMakerLambda GPU rare
Managed runtimes forbiddenEC2 CIS imageAsk GRC first

Ravindra Bagale's Tip

If every function needs provisioned concurrency to feel like a server, consider a small always-on container.

7. Decision table

QuestionIf yesIf no
Finishes in seconds to minutes?Lambda candidateECS/Batch/EC2
Traffic often near zero?Serverless saves idleReserved EC2 may win
Custom kernel/GPU/huge disk?EC2/ECSLambda OK
Team already on Kubernetes?Stay; Lambda for glueServerless API may be simpler

8. How to sketch a serverless system

How to do it (step by step)

  1. User journey in 5 bullets — no AWS names yet.
  2. Mark sync (user waits) vs async.
  3. Sync -> API Gateway+Lambda; async -> queue/bus+worker.
  4. Pick data from access patterns (link DynamoDB modeling).
  5. Add auth, observability, DLQ/saga.
  6. Cost model at 10x traffic before coding.
  7. Then console or IaC.

List functions (ap-south-1)

aws lambda list-functions --region ap-south-1 --query 'Functions[].FunctionName' --output table

Meaning: See existing functions before adding another hello.

Account concurrency ceiling

aws lambda get-account-settings --region ap-south-1 --query 'AccountLimit.[ConcurrentExecutions,UnreservedConcurrentExecutions]'

Meaning: Know the ceiling before load tests.

9. Lab: paper architecture + read-only console

Do this in ap-south-1 (Mumbai) unless your org forbids it. Set a budget alert first.

How to do it (step by step)

  1. Draw vertical diagram for create-order + async email.
  2. Label sync/async; circle idempotency points.
  3. Lambda Dashboard: note Throttles and Concurrent executions (read-only).
  4. One function Monitor: Duration p99 vs timeout.
  5. One sentence: we will/will not use Lambda because ...

Cleanup (stop billing)

  1. Delete any test function you created.
  2. Remove log groups only if you created them today.

10. Worked mini-examples

Python: prefer async?

def prefer_async(user_waits, work_ms):
    if not user_waits: return True
    return work_ms > 2500
print(prefer_async(True, 800))
print(prefer_async(True, 8000))
print(prefer_async(False, 100))

Output: False / True / True. Meaning: long waits belong behind a queue.

Node: GB-seconds gut-check

const gbSec=(mb,ms,n)=>(mb/1024)*(ms/1000)*n;
console.log(gbSec(512,200,1_000_000)); // 100000

Meaning: 1M x 200ms x 512MB ≈ 100k GB-seconds — often inside free tier. Re-check pricing pages.

11. Stack stories

  1. Python FastAPI on EC2: peel /invoices to Lambda+APIGW.
  2. Node Express: one Lambda per bounded context.
  3. Java nightly batch: EventBridge Lambda starts ECS task.
  4. .NET minimal API: AspNetCoreServer on Lambda for low traffic.
  5. Go SQS worker: event source mapping, no poll loop.
  6. PHP Laravel: queues on ECS; Lambda for S3/webhooks.

12. Per-concept commands with meaning

Get function config timeout

aws lambda get-function-configuration --function-name hello-lambda-lab --region ap-south-1 --query '[Timeout,MemorySize]'

Meaning: Compare timeout to your p99 duration.

Estimate log group presence

aws logs describe-log-groups --log-group-name-prefix /aws/lambda/ --region ap-south-1 --max-items 5

Meaning: Confirms functions are writing logs somewhere.

13. Same pattern across industries

  • Fintech (Aisha, Lagos): payment webhooks → SQS → Lambda; never block the bank callback thread.
  • Ecommerce (Rohan, Pune): checkout API on API Gateway+Lambda; inventory fan-out on SNS.
  • Healthcare (Mei, Singapore): appointment SMS via SNS; PHI stays in DynamoDB with fine-grained IAM.
  • EdTech (Diego, São Paulo): nightly cleanup EventBridge → Lambda on student drafts.
  • Logistics (Fatima, Casablanca): package scan events on EventBridge bus; Step Functions for customs saga.
  • Media (Kenji, Osaka): S3 upload → Lambda thumbnails; fan-out to moderation + CDN invalidate.
  • SaaS multi-tenant (Priya, Bengaluru): Cognito groups + DynamoDB partition per tenant.
  • Gov portal (Omar, Amman): strangler fig — peel one PDF form route per sprint to Lambda.

14. Troubleshooting checklist

  1. Confirm region (ap-south-1 vs us-east-1 for CloudFront/ACM quirks).
  2. Check CloudWatch Logs for the function name and request id.
  3. Verify IAM execution role allows the API you call.
  4. For async: check DLQ depth and SQS age of oldest message.
  5. For APIs: curl -v and compare status, CORS headers, body.
  6. For workflows: open Step Functions execution event history.
  7. Re-read the linked deep chapter before reinventing a service.
  8. If cost spikes: check concurrency, retries, and provisioned capacity.

15. Common errors and fixes

Each row is a real mistake students and juniors hit. Read the fix before you panic.

Error / symptomFix
One 2000-line Lambda for everythingSplit by route/domain.
No DLQ on asyncAdd SQS DLQ or on-failure destination.
Recursive S3 triggerDifferent prefix/bucket.
Video encode in LambdaMediaConvert/ECS/Batch.
Provisioned concurrency on nightly cronOn-demand + EventBridge.
Secrets in env varsSecrets Manager/SSM.
Ignore concurrency until launchLoad test + reserved caps.
Copy DynamoDB modeling into every pageLink modeling chapter.
Claim no-OpsYou own IAM, data, alarms, cost.
Big-bang monolith rewriteStrangler fig chapter.

16. FAQ

Q. Only Lambda?

No — DDB, SQS, Fargate, Aurora Serverless too. Series is Lambda-centric.

Q. Always cheaper?

No. Steady 24/7 may favor EC2/Savings Plans.

Q. Laravel as-is?

Painful; prefer strangler peel.

Q. Cold starts?

Real; deep dive in later chapter.

Q. Where do build-* projects fit?

Worked examples to link.

Q. Need Kubernetes first?

No.

17. Interview Q&A (Beginner / Mid / Senior + MNC)

Q. Beginner: serverless meaning?

No server management; on-demand run; servers still exist.

Q. Beginner: five building blocks?

Lambda, APIGW, DDB, SQS/SNS, EventBridge/SFN/Cognito.

Q. Mid: refuse Lambda when?

Long jobs, sticky state, banned runtimes, ultra-low latency.

Q. Mid: sync vs async?

Wait->sync; else 202+queue.

Q. Senior: surprise bills?

Budgets, anomaly, caps, DLQ, 10x model.

Q. MNC: payments webhooks?

SQS, idempotent ledger, least privilege, refund saga.

18. Tips in English, Marathi and Hindi

Ravindra Bagale's Tip (EN)

Draw the vertical path on paper before the console. Missing boxes become hidden servers.

Ravindra Bagale's Tip (MR)

Console आधी कागदावर vertical path. गायब box = hidden server.

Tip (HI)

कंसोल से पहले कागज़ पर vertical path बनाएं। छूटा बॉक्स hidden server बनता है।

Try at home

  1. One-page ADR: serverless vs ECS for a side project.
  2. List three anti-fits at work.

In short

  1. Start from a real story, then name the AWS services.
  2. Link existing chapters — do not copy their labs.
  3. Design for failure: retries, DLQ, idempotency, rollback.
  4. Measure before you buy provisioned concurrency or multi-region.

19. Cost gut-check before you code

Priya sketches a receipt API: 2 million invokes/month, 256 MB, 150 ms average. Rough GB-seconds = (256/1024) * 0.15 * 2e6 ≈ 75,000. Often inside free tier for compute; API Gateway request charges and DynamoDB reads still matter. Always open the current pricing page for ap-south-1 — numbers change.

Python: rough monthly Lambda compute units

def gb_seconds(mb, ms, invokes):
    return (mb/1024.0) * (ms/1000.0) * invokes
print(round(gb_seconds(256, 150, 2_000_000)))
print(round(gb_seconds(1024, 3000, 100_000)))

Output: 75000 then 300000. Meaning: heavy memory + long duration dominates cost more than invoke count alone.

20. Failure paths you must draw

What is it?

  1. Sync API error: return 4xx/5xx with stable JSON; never leak stack traces.
  2. Async poison message: after N receives, move to DLQ; alarm on DLQ depth.
  3. Partial fan-out: one consumer fails — others must still succeed (choreography).
  4. Long workflow: Step Functions retries per state; compensations for saga.
  5. Auth failure: 401/403 at the edge; do not invoke business Lambda if possible.

21. Observability starter kit

  • Structured JSON logs with requestId and tenantId.
  • One metric filter or EMF custom metric for business success.
  • Alarm on errors, throttles, DLQ depth, p99 duration.
  • X-Ray or Powertools tracing on the critical path (deep chapter later).

Tail recent Lambda log streams (read-only)

aws logs describe-log-streams --log-group-name /aws/lambda/hello-lambda-lab \
  --order-by LastEventTime --descending --max-items 3 --region ap-south-1

Meaning: Confirms the function is emitting logs before you dig Insights queries.

22. Anti-pattern deep dive

Anti-patternSymptomFix
Lambda calling Lambda sync for everythingTimeouts cascade; cost doublesPrefer SQS/EventBridge between domains
Shared mutable /tmp as a databaseCollisions across invokesDynamoDB/S3 for state
Fat deployment package with unused SDKSlow cold startsLayers or container image; tree-shake
One IAM role for all functionsBlast radius hugePer-function least privilege
No reserved concurrency on noisy neighborOne flood starves othersReserve for critical; limit for batch

23. Migration sketch (preview of strangler)

You do not rewrite a Laravel/Django monolith in a weekend. Later chapters cover strangler fig: put API Gateway in front, peel one route to Lambda, keep the rest on EC2/ECS. This chapter only asks you to name the first peel candidate.

  1. List top 10 routes by traffic.
  2. Circle routes with little shared in-memory state.
  3. Pick one read-heavy route as peel #1.
  4. Write success metrics before you cut traffic.

24. Team checklist for the first production cut

  1. Budget alarm and anomaly detection on the account.
  2. Least-privilege execution roles reviewed by a second person.
  3. DLQ + alarm on every async path.
  4. Runbook link in the alarm description.
  5. Load test at 2x expected peak; watch throttles.
  6. Rollback plan: previous Lambda version or alias.
  7. Data backup story for DynamoDB (PITR) if you store money or PII.
  8. Document the when-NOT decision so future you does not shove batch into Lambda.

If two of these are missing, you are still in lab mode — that is fine, just do not call it production.

25. Architecture decision checklist

  1. Write the user journey in five bullets with no AWS names.
  2. Mark each step sync (user waits) or async.
  3. Name failure mode: retry, DLQ, compensate, or alert-only.
  4. Name the idempotency key for every write.
  5. Pick data store from access patterns (link DynamoDB modeling).
  6. Estimate monthly cost at 1x and 10x traffic (USD and INR).
  7. Confirm account concurrency and service quotas in ap-south-1.
  8. Decide auth: Cognito, IAM, Lambda authorizer, or none.
  9. Name on-call and which CloudWatch alarm pages them.
  10. Link the deep chapter you will not rewrite.
  11. Only then open console or IaC.

26. Copy-paste quick commands (read-only first)

# Region and identity
aws configure get region
aws sts get-caller-identity

# Lambda landscape
aws lambda list-functions --region ap-south-1 --max-items 20 \
  --query 'Functions[].{N:FunctionName,R:Runtime,T:Timeout,M:MemorySize}' --output table
aws lambda get-account-settings --region ap-south-1

# API Gateway (HTTP APIs)
aws apigatewayv2 get-apis --region ap-south-1 --query 'Items[].{N:Name,Id:ApiId,Ep:ProtocolType}' --output table

# Queues and topics
aws sqs list-queues --region ap-south-1
aws sns list-topics --region ap-south-1 --query 'Topics[].TopicArn'

# Event buses and state machines
aws events list-event-buses --region ap-south-1
aws stepfunctions list-state-machines --region ap-south-1 --query 'stateMachines[].name'

# DynamoDB tables (names only)
aws dynamodb list-tables --region ap-south-1

Run these in a sandbox account. Prefer read-only IAM while learning.

27. More industry and stack stories

  • Fintech (Aisha, Lagos, NGN): bank webhooks must return 200 fast — SQS absorbs spikes; ledger Lambda is idempotent on paymentId.
  • Ecommerce (Rohan, Pune, INR): Black Friday — API Gateway throttle + SQS order intake; SNS fans inventory, email, analytics.
  • Healthcare (Mei, Singapore, SGD): appointment reminders via SNS SMS; PHI only in DynamoDB with condition keys.
  • EdTech (Diego, São Paulo, BRL): EventBridge nightly cleanup of draft quizzes; Lambda timeout 30s, not 15 min.
  • Logistics (Fatima, Casablanca, MAD): package scans on custom EventBridge bus; Step Functions customs saga.
  • Media (Kenji, Osaka, JPY): S3 → Lambda thumbnails; never write thumbs to the watched prefix.
  • SaaS (Priya, Bengaluru, INR): Cognito groups + DynamoDB PK tenantId; one Lambda authorizer for all routes.
  • Gov (Omar, Amman, JOD): strangler — peel one PDF form route per sprint from the monolith.
  • Startup (Sofia, Sofia, EUR): start with Function URL for demos; move to HTTP API when partners need JWT.
  • Retail (Luis, Mexico City, MXN): store POS sync via SQS FIFO when order matters; Standard when it does not.
  • Python: handlers thin; put domain logic in plain modules for unit tests without Lambda.
  • Node: prefer async/await; never block the event loop on sync DNS.
  • Java: SnapStart for cold starts; keep dependencies lean.
  • .NET: AspNetCoreServer for low-traffic tenants; watch package size.
  • Go: single static binary; great for SQS workers.
  • PHP: keep Laravel queues on ECS; Lambda for S3/webhooks glue.

28. Glossary (short)

TermMeaning
Cold startFirst invoke pays init; later invokes reuse the env
IdempotencySame request twice → same effect
DLQDead-letter queue for failed messages
ChoreographyServices react to events; no central conductor
OrchestrationCentral workflow (Step Functions) directs steps
Fan-outOne event → many consumers
Fan-inMany branches join before next step
Strangler figPeel routes from monolith gradually
SagaDistributed tx via steps + compensations
Provisioned concurrencyKeep N envs warm; you pay for ready capacity

29. Practice: explain out loud

  1. 60 seconds: everyday story for serverless architecture.
  2. 60 seconds: sync vs async with a checkout example.
  3. 60 seconds: when you refuse Lambda.
  4. 60 seconds: DLQ + idempotency in one breath.
  5. Record once; cut fillers; record again.

30. Safe lab hygiene

  • Tag every lab resource with owner and expiry date.
  • Set a monthly AWS Budget alarm in INR or USD before experiments.
  • Prefer read-only commands first; mutate in a sandbox account.
  • Delete queues, APIs, tables you created — DynamoDB and APIGW leave footprints.
  • Never put production secrets in env vars or screenshots.
  • Do not enable provisioned concurrency for a hello-world.

32. Myths to drop

MythReality
Serverless means zero serversServers exist; you do not manage them
Always cheaper than EC2Steady high load can favor EC2/Savings Plans
No Ops neededYou own IAM, data, alarms, cost, incidents
One Lambda per app is fineBounded contexts scale better
Queues are optional decorationQueues are the load leveler and blast-radius wall

33. Error budget thinking for serverless

If your monthly error budget is 0.1% on checkout, a fan-out that retries aggressively can burn the budget with duplicate emails while money stays correct. Separate business correctness SLOs from notification SLOs.

  1. Write two SLOs: money-correct and notify-delivered.
  2. Retries on money path: bounded + idempotent.
  3. Retries on notify path: best-effort + DLQ.
  4. Page humans on money DLQ; ticket on notify DLQ.

34. Regional notes (ap-south-1)

  • Build labs in Mumbai (ap-south-1) unless your org mandates elsewhere.
  • Some services launch first in us-east-1 — check feature availability.
  • Data residency for INR fintech may require in-region only.
  • Latency to end users in India usually favors ap-south-1.

35. Naming conventions that save incidents

# Suggested prefixes
# Lambda:  pay-intake-prod, pay-worker-prod
# SQS:     pay-orders.fifo / pay-orders-dlq
# SNS:     pay-order-events
# EB bus:  pay.domain
# SFN:     pay-refund-saga
# DDB:     pay-orders-prod

Include env (dev/stage/prod) and domain. Future you grepping CloudWatch will thank present you.

36. Pre-mortems (ten minutes)

  1. Imagine tomorrow headline: double charge in AED. What broke?
  2. Imagine DLQ depth 50,000 after a bad deploy. How do you drain?
  3. Imagine Cognito outage. Do APIs fail closed or serve read-only?
  4. Write answers in the runbook before go-live.

37. Currency and locale in examples

Rotate currencies in designs: INR, USD, EUR, AED, NGN, BRL, JPY, SGD. Rotate names: Aisha, Rohan, Mei, Diego, Fatima, Kenji, Priya, Omar, Sofia, Luis. This keeps mental models global — not one-country samples.

Revision, interview and comparison cards

Revise this lesson in a few minutes. Save the cards on your phone or download them as PNG files. The QR code on each card opens this lesson.

Revision card: Fit before code. Building Lambda first hides limit and cost surprises later. Decide fit, sync vs async, timeout, concurrency and cost before coding. Write the path → check 15-min limit → pick sync or queue → estimate RPS. Neha Kulkarni sketches fit on paper before opening the console.
Revision card: Fit before code · Download PNG · Open card page
Revision card: When not serverless. Forcing every workload into Lambda creates painful workarounds. Long jobs, sticky sockets, always-on low latency → ECS/EC2/Batch. List job length → stateful needs → pick Lambda or container. Arjun Mehta moves 90-min encodes off Lambda on day one.
Revision card: When not serverless · Download PNG · Open card page
Comparison: Lambda vs ECS/Batch. Lambda: Event-driven minutes-or-less work with pay-per-use. ECS/Batch: Long encodes, sticky sockets, always-on workers.
Comparison: Lambda vs ECS/Batch · Download PNG · Open card page
Comparison: Sync path vs Async queue. Sync path: Caller waits for Lambda response now. Async queue: Accept 202, work via SQS/EventBridge later.
Comparison: Sync path vs Async queue · Download PNG · Open card page
Interview card: Lambda timeout. Jobs longer than ~15 minutes cannot finish in one Lambda. Hard limit ~15 minutes; move long work to ECS/Batch/Step Functions + workers. MNC: name the ceiling and one escape hatch for video encode.
Interview card: Lambda timeout · Download PNG · Open card page
Interview card: Account concurrency. One noisy function can starve the whole account. Reserved concurrency isolates; watch ConcurrentExecutions and throttles. MNC: explain reserved vs provisioned concurrency in one minute.
Interview card: Account concurrency · Download PNG · Open card page
Interview card: Cold starts. Ignoring cold start surprises p99 latency SLAs. Measure init; trim package; consider PC only where SLA needs it. MNC: when is provisioned concurrency worth the bill?
Interview card: Cold starts · Download PNG · Open card page
Interview card: Fit checklist. Coding first skips failure and cost questions. Ask: duration, state, traffic shape, failure, cost ceiling. MNC: walk a fit decision for a chai-stall order API.
Interview card: Fit checklist · Download PNG · Open card page

More cards: Ravi Sir's Cards.

Practice Tasks

About this scenario

Maple Leaf Books is a bookselling business in Toronto. Emily Tremblay looks after its IT and cloud work. They count money in CAD and run their AWS resources in the ca-central-1 Region. In the tasks below you do real jobs for them using what this lesson teaches. All names, account IDs, IP addresses and numbers are made up for practice.

0 / 16

Easy Servers still exist — 1

Why: Model.

What to do: Enter 1 if serverless still runs on servers you do not manage.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Easy On-demand metaphor — 1

Why: Fit.

What to do: Enter 1 if chai stall that opens on demand maps to serverless.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Easy Lambda timeout ceiling — 1

Why: Limit.

What to do: Enter 1 if Lambda hard timeout is about 15 minutes.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Easy Long encode not Lambda — 1

Why: Fit.

What to do: Enter 1 if a 90-minute encode belongs on ECS/Batch not Lambda.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Easy List Lambda functions

Why: CLI.

What to do: List functions in the account

How:
  1. Read the task and decide which AWS service it is about.
  2. Write aws, then the service name, then the operation (the action word).
  3. Add each needed flag (--name) followed by its value from the task.
  4. Flags can be in any order. Click Check answer.

Easy Fit checklist YAML

Why: Keys.

What to do: YAML: timeout_ok: yes, stateful: no.

How:
  1. Start from the top-level keys the task names.
  2. Indent child keys with 2 spaces (no tabs).
  3. Fill in each property with the value from the task.
  4. Click Check answer. Key order does not matter.

Easy Cold start exists — 1

Why: Reality.

What to do: Enter 1 if cold starts are a real latency consideration.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Medium Sync path waits — 1

Why: UX.

What to do: Enter 1 if a sync path means the user waits for the response.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Medium Account concurrency — 1

Why: Shared.

What to do: Enter 1 if account ConcurrentExecutions can throttle other functions.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Medium Nightly cron PC wasteful — 1

Why: Cost.

What to do: Enter 1 if provisioned concurrency for a once-nightly cron is usually wasteful.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Medium Recursive S3 trigger — 1

Why: Anti.

What to do: Enter 1 if recursive S3 triggers can re-invoke forever.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Medium When-not YAML

Why: Anti.

What to do: YAML: long_job: ecs, always_on: ec2.

How:
  1. Start from the top-level keys the task names.
  2. Indent child keys with 2 spaces (no tabs).
  3. Fill in each property with the value from the task.
  4. Click Check answer. Key order does not matter.

Hard Architecture before code — 1

Why: Design.

What to do: Enter 1 if you decide fit, limits, failure and cost before coding.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Hard Bare metal not serverless block — 1

Why: Scope.

What to do: Enter 1 if unmanaged bare-metal you SSH daily is not a serverless building block here.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Hard Pay per use — 1

Why: Model.

What to do: Enter 1 if you mainly pay when work runs, not for idle VMs.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.

Hard Delete lab same day — 1

Why: Hygiene.

What to do: Enter 1 if lab-spa-fit should be deleted same day.

How:
  1. Write down the numbers the task gives you.
  2. Work it out step by step on paper.
  3. Type only the final answer in the box.
  4. Click Check answer.