Ravindra BagaleCourses & study guides English Track your progress

Lambda Cold Starts, Concurrency, Provisioned Concurrency आणि SnapStart

सकाळचा पहिला ग्राहक स्टोव पेटेपर्यंत वाट पाहतो — cold start. नंतरचे कप जलद. Lambda cold starts, concurrency, provisioned concurrency आणि SnapStart = तो wait manage — प्रत्येक function always-on नको.

या chapter मध्ये तुम्ही काय शिकाल

  • Cold vs warm
  • Concurrency
  • Provisioned when
  • SnapStart
  • Measure first

1. रोजचे उदाहरण: सकाळचा स्टोव

Sofia (EUR) ticket API. 03:00 = cold. Flash sale p99 साठी provisioned = रात्री स्टोव भाड्याने. Sparse traffic = measure, skip rent.

Basics: What Is AWS Lambda?, first Lambda. इथे performance/concurrency.

2. का?

हे का लागतं?

Cold start = random slow. Burst = throttle. Blind provisioned = bill. Measure → choose.

हे काय आहे?

Cold = env+init. Warm = reuse. Reserved = cap. Provisioned = warm N (pay). SnapStart = Java snapshot.

3. Vertical diagram

Invoke -> Cold Init OR Warm -> ReturnProvisioned = N warm
Account ceiling
Incoming invokes Account concurrency ceiling Cold pathdownload+init Warm pathreuse env Handler runs Optional: Provisioned / SnapStart Measure Init Duration in REPORT lines
Cold vs warm under an account ceiling.

4. How: measure

कसं करायचं (step by step)

  1. Init Duration.
  2. p50 vs p99.
  3. Account settings.
  4. Reserved on noisy.
  5. Then pay.
  6. Re-measure.

5. Commands + meaning

Account settings

aws lambda get-account-settings --region ap-south-1 \
  --query 'AccountLimit' 

अर्थ: Shared burst pool संख्या.

Function concurrency

aws lambda get-function-concurrency --region ap-south-1 \
  --function-name ticket-api 

अर्थ: Reserved आहे का.

Provisioned get

aws lambda get-provisioned-concurrency-config --region ap-south-1 \
  --function-name ticket-api --qualifier prod 

अर्थ: READY आहे का ते पहा.

Logs Init

aws logs filter-log-events --region ap-south-1 \
  --log-group-name /aws/lambda/ticket-api \
  --filter-pattern 'Init Duration' --limit 10 

अर्थ: Init Duration मोजा — मग provisioned.

6. Memory/CPU/package

  • More mem = more CPU.
  • Trim package.
  • VPC cost.
  • Java SnapStart.

7. Provisioned कधी

SignalAction
p99 breakProvisioned
Async softSkip
Rare demosAccept cold
All needECS विचार

8. Industries

  • Fintech auth.
  • Ecommerce checkout.
  • Healthcare book.
  • Media thumbs.
  • SaaS reserved.

9. Lab

10. Lab - cold measure

Org block नसेल तर ap-south-1 (Mumbai). आधी budget alert.

कसं करायचं (step by step)

  1. Idle invoke.
  2. Warm burst.
  3. Unreserved.
  4. Cost estimate.

Cleanup (billing थांबवा)

  1. Delete provisioned.
  2. Cleanup fn.

11. एकाच pattern — वेगवेगळ्या industries

  • Fintech (Aisha, Lagos): payment webhooks → SQS → Lambda.
  • Ecommerce (Rohan, Pune): checkout API; inventory SNS fan-out.
  • Healthcare (Mei, Singapore): SNS SMS; PHI + fine-grained IAM.
  • EdTech (Diego, São Paulo): EventBridge nightly cleanup.
  • Logistics (Fatima, Casablanca): EventBridge + saga.
  • Media (Kenji, Osaka): S3 → Lambda thumbs + fan-out.
  • SaaS (Priya, Bengaluru): Cognito + per-tenant partition.
  • Gov (Omar, Amman): strangler fig per form route.

12. Troubleshooting checklist

  1. Region confirm करा.
  2. CloudWatch Logs + request id.
  3. Execution role permissions.
  4. DLQ + oldest message age.
  5. curl -v + CORS.
  6. SFN event history.
  7. Linked chapter पुन्हा वाचा.
  8. Cost: concurrency/retries.

13. सामान्य errors आणि fixes

प्रत्येक row = खरी चूक. Panic करण्याआधी fix वाचा.

Error / लक्षणFix
ThrottleReserved/account.
Not READYStatus/alias.
SnapStart entropyEntropy.
VPC coldVPC design.
Cost spikeAlias cleanup.
p99Init.
LATESTVersion+alias.
Reserved 0Fix reserved.
Java slowLifecycle hooks.

14. FAQ

प्र. Prov=reserved?

नाही.

प्र. More mem?

CPU help; not magic.

प्र. Python SnapStart?

Java focus.

प्र. Ping cron?

Prefer provisioned.

प्र. Link?

Lambda chapters.

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

प्र. Beginner cold

Init pay.

प्र. Warm

Reuse.

प्र. Mid

Cap vs paid warm.

प्र. When pay

p99 SLO.

प्र. Senior

Reserved+headroom.

प्र. MNC

Tags+review.

16. Tips — English, मराठी आणि हिंदी

Ravindra Bagale's Tip (EN)

Measure the stove time before you pay overnight rent for fire.

Ravindra Bagale's Tip (MR)

भाडं देण्याआधी स्टोव वेळ मोजा.

Tip (HI)

किराया देने से पहले स्टोव का समय मापो।

घरी करून बघा

  1. Init Duration शोधा.
  2. Provisioned yes/no.

थोडक्यात सांगायचं तर

  1. गोष्टी पासून सुरू, मग services.
  2. Existing chapters link — labs copy नको.
  3. Failure साठी design.
  4. Measure → मग पैसे.

17. Architecture decision checklist

  1. User journey 5 bullets, no AWS names.
  2. Sync vs async mark.
  3. Failure mode.
  4. Idempotency key.
  5. Data from access patterns.
  6. Cost 1x and 10x.
  7. Quotas ap-south-1.
  8. Auth decision.
  9. On-call + alarm.
  10. Deep chapter link.
  11. मग console/IaC.

18. Copy-paste quick commands

# 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

Sandbox + read-only IAM.

19. अजून industry आणि stack stories

  • Fintech Lagos: webhook → SQS → idempotent ledger.
  • Ecommerce Pune: throttle + fan-out.
  • Healthcare SG: SNS + PHI IAM.
  • EdTech: EventBridge cleanup.
  • Logistics: bus + saga.
  • Media: avoid recursive S3.
  • SaaS: tenant partition.
  • Gov: strangler peel.
  • Startup: Function URL → HTTP API.
  • Retail: FIFO vs Standard.
  • Python: thin handlers.
  • Node: async/await.
  • Java: SnapStart.
  • .NET: package size.
  • Go: static binary.
  • PHP: hybrid.

20. Glossary

Termअर्थ
Cold startपहिल्या invoke ची init
Idempotencyदोनदा = तोच effect
DLQFail झालेले messages
ChoreographyEvents; conductor नाही
OrchestrationSFN central
Fan-outएक → अनेक
Fan-inअनेक → join
Strangler figMonolith peel
SagaSteps + compensate
Provisioned concurrencyWarm N; pay

21. Practice: मोठ्याने explain

  1. 60s: Lambda cold starts आणि concurrency गोष्ट.
  2. 60s: sync vs async checkout.
  3. 60s: Lambda नको कधी.
  4. 60s: DLQ + idempotency.
  5. Record ×2.

22. Safe lab hygiene

  • Tag owner+expiry.
  • Budget alarm आधी.
  • Read-only first.
  • Cleanup.
  • No secrets in env/screenshots.
  • No provisioned on hello.

24. Myths

Mythखरं
Servers नाहीतServers आहेत; manage नको
नेहमी स्वस्तSteady वर EC2
No OpsIAM/data/alarms
एक LambdaBounded contexts
Queues optionalLoad leveler

25. Serverless error budget

Checkout error budget 0.1% असेल तर aggressive retries email duplicates देऊन budget जाळू शकतात. Money SLO ≠ notify SLO.

  1. दोन SLOs.
  2. Money retries bounded.
  3. Notify best-effort.
  4. Money page; notify ticket.

26. Regional notes (ap-south-1)

  • Labs Mumbai.
  • Feature availability.
  • Data residency.
  • Latency India.

27. Naming conventions

# 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

env + domain नावात ठेवा. CloudWatch grep सोपा.

28. Pre-mortems

  1. Double charge headline.
  2. DLQ drain plan.
  3. Cognito outage mode.
  4. Runbook.

29. Currency / locale

Currencies आणि names rotate करा — global mental model.

30. Rohan flash sale

  1. p99 1.8s.
  2. 40% cold.
  3. Prov 5.
  4. Email on-demand.

31. Anti-patterns

  • All provisioned.
  • Ceiling ignore.
  • No metrics.

उजळणी, मुलाखत आणि तुलना cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

उजळणी card: Cold start is a new env. p99 surprise. New env vs reuse. Measure → trim → PC. Measure first.
उजळणी card: Cold start is a new env · PNG download करा · Card page उघडा
उजळणी card: Provisioned concurrency cost. Idle PC bill. Warm envs cost idle. Reserve vs PC. Windowed PC.
उजळणी card: Provisioned concurrency cost · PNG download करा · Card page उघडा
तुलना: On-demand vs Provisioned concurrency. On-demand: Scale to zero. Provisioned concurrency: Keep warm.
तुलना: On-demand vs Provisioned concurrency · PNG download करा · Card page उघडा
तुलना: Reserved concurrency vs Account pool only. Reserved concurrency: Cap + protect. Account pool only: Shared fight.
तुलना: Reserved concurrency vs Account pool only · PNG download करा · Card page उघडा
मुलाखत card: Init outside handler. Inside handler. Global clients. Outside vs in.
मुलाखत card: Init outside handler · PNG download करा · Card page उघडा
मुलाखत card: Reserved concurrency. Noisy neighbor. Cap + protect. R vs PC.
मुलाखत card: Reserved concurrency · PNG download करा · Card page उघडा
मुलाखत card: SnapStart for Java. Java cold. Snapshot restore. Caveat.
मुलाखत card: SnapStart for Java · PNG download करा · Card page उघडा
मुलाखत card: Package size and cold. Fat package. Trim package. Three ways.
मुलाखत card: Package size and cold · PNG download करा · Card page उघडा

अजून cards: Ravi Sir's Cards.

सराव Tasks

या scenario बद्दल

Amravati Agro Market हा अमरावती मधला शेती व्यवसाय आहे. Anjali Thakre त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 16

सोपं Cold

का: Idea.

काय करायचं: New env तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Warm

का: Idea.

काय करायचं: Reuse तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Conc

का: Scale.

काय करायचं: Parallel तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं PC

का: Tool.

काय करायचं: Keep warm तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं List-fn

का: CLI.

काय करायचं: list.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Knobs

का: Map.

काय करायचं: keep_warm/java_help.

कसं करायचं:
  1. Task मधल्या top-level keys पासून सुरू करा.
  2. Child keys 2 spaces ने indent करा (tabs नकोत).
  3. प्रत्येक property मध्ये task मधली value भरा.
  4. Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.

सोपं Mem

का: Perf.

काय करायचं: Memory CPU तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Snap

का: Tool.

काय करायचं: Java SnapStart तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Reserved

का: Cap.

काय करायचं: Cap protect तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Init

का: Code.

काय करायचं: Outside handler तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Pkg

का: Size.

काय करायचं: Smaller package तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Cap

का: Limits.

काय करायचं: protect_others/parallel.

कसं करायचं:
  1. Task मधल्या top-level keys पासून सुरू करा.
  2. Child keys 2 spaces ने indent करा (tabs नकोत).
  3. प्रत्येक property मध्ये task मधली value भरा.
  4. Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.

अवघड Burst

का: Limit.

काय करायचं: Burst limit तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड Cost

का: Money.

काय करायचं: PC costs idle तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड VPC

का: History.

काय करायचं: VPC cold तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड Lab

का: Hygiene.

काय करायचं: Delete lab तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.