Ravindra BagaleCourses & study guides English Track your progress

Serverless IaC: SAM vs Serverless Framework vs CDK तुलना

तीन toolboxes: SAM, Serverless Framework, CDK. Team skill + CI — fashion नव्हे.

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

  • Contrast three
  • Inspect habit
  • Local vs tests
  • CI path
  • CDK link

1. रोजचे: तीन kitchens

Priya (INR) checkout. YAML vs TypeScript — same thali, वेगळी kitchen.

CDK: AWS CDK; CFN: CloudFormation; Lambda: Lambda.

2. का compare?

हे का लागतं?

Console drift. IaC = review/rollback. Wrong tool = glue.

हे काय आहे?

SAM = CFN macros + sam CLI. Serverless Framework = yml+plugins. CDK = code to CFN.

3. Vertical diagram

Code -> IaC -> CFN -> AWSएक source of truth
Pipeline promote
Same app: API + Lambda + DynamoDB SAMtemplate.yaml Serverlessserverless.yml CDKTS/Python CloudFormation change sets / deploy Dev to staging to prod pipelines Pick by team skills + plugin needs
Three front-doors, one AWS account.

4. How: table

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

LensSAMSFCDK
LearnYAML okMediumCode
NativeExcellentGood+pluginsL2/L3
Localsam localofflineTests
MultiAWSBroaderAWS
BestCFN teamPluginsComplex

5. Commands

SAM validate

sam validate --template template.yaml --region ap-south-1

अर्थ: Deploy आधी template check.

List stacks

aws cloudformation list-stacks --region ap-south-1 \
  --stack-status-filter CREATE_COMPLETE UPDATE_COMPLETE \
  --query 'StackSummaries[].{N:StackName,T:TemplateDescription}' --output table

अर्थ: नवीन tool आधी inventory.

CDK ls

cdk ls --app "npx ts-node bin/app.ts" 2>/dev/null || echo "install cdk in project first" 

अर्थ: Synth stacks — deploy नाही.

Describe stack

aws cloudformation describe-stacks --region ap-south-1 \
  --stack-name checkout-api --query 'Stacks[0].{S:StackStatus,U:LastUpdatedTime}' 

अर्थ: Prod touch आधी last update.

6. CI

  • Build to synth to stage to prod.
  • No laptop prod.
  • Pin versions.
  • No plaintext secrets.

7. Industries

  • Fintech CDK.
  • Ecommerce SAM.
  • SaaS SF.
  • Gov SAM.
  • Media CDK.

8. Lab

9. Lab - inspect

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

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

  1. List stacks.
  2. CDK chapter.
  3. 5-line choice.
  4. sam validate.

Cleanup (billing थांबवा)

  1. No orphan stacks.
  2. Delete lab.

10. एकाच 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.

11. 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.

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

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

Error / लक्षणFix
Two toolsOne owner.
Dead pluginNative core.
LaptopCI.
Huge YAMLSplit.
DriftIaC only.
Regionap-south-1.
Synth driftLock+CI.
Secrets gitRefs+scan.
Local gapDoc+IT.

13. FAQ

प्र. SAM dead?

No.

प्र. Must CDK?

Complex then yes.

प्र. SF version?

Check license.

प्र. Mix?

Costly.

प्र. CDK link?

CDK chapter.

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

प्र. Beginner IaC

Files as code.

प्र. SAM vs CFN

Shortcuts.

प्र. Mid CDK

Reuse/complex.

प्र. Local limits

Misses quirks.

प्र. Senior multi-acct

Pipelines.

प्र. MNC

Change sets.

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

Ravindra Bagale's Tip (EN)

Same thali, pick one kitchen your team can review — then automate promotions.

Ravindra Bagale's Tip (MR)

एक kitchen निवडा — मग promote automate.

Tip (HI)

एक kitchen चुनें — फिर promote automate करें।

घरी करून बघा

  1. Name tool.
  2. List stacks.

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

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

16. 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.

17. 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.

18. अजून 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.

19. 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

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

  1. 60s: serverless IaC tools गोष्ट.
  2. 60s: sync vs async checkout.
  3. 60s: Lambda नको कधी.
  4. 60s: DLQ + idempotency.
  5. Record ×2.

21. Safe lab hygiene

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

23. Myths

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

24. 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.

25. Regional notes (ap-south-1)

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

26. 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 सोपा.

27. Pre-mortems

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

28. Currency / locale

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

29. Priya CDK

  1. Shared grants.
  2. YAML drift.
  3. CDK IAM.
  4. Diff catch.

30. Anti-patterns

  • Tool churn.
  • Admin laptop.
  • No change set.

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

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

उजळणी card: Three IaC kitchens. Console drift. Three tools. Skill → pin → CI. Shared constructs.
उजळणी card: Three IaC kitchens · PNG download करा · Card page उघडा
उजळणी card: CI not laptop prod. Laptop risk. Pipeline stages. OIDC roles. Gate on diff.
उजळणी card: CI not laptop prod · PNG download करा · Card page उघडा
तुलना: AWS SAM vs AWS CDK. AWS SAM: SAM templates. AWS CDK: Code constructs.
तुलना: AWS SAM vs AWS CDK · PNG download करा · Card page उघडा
तुलना: Serverless Framework vs AWS SAM. Serverless Framework: Plugins. AWS SAM: Native SAM.
तुलना: Serverless Framework vs AWS SAM · PNG download करा · Card page उघडा
मुलाखत card: What is SAM?. CFN macros + CLI. Template teams. sam local / deploy.
मुलाखत card: What is SAM? · PNG download करा · Card page उघडा
मुलाखत card: When prefer CDK?. Reuse + typing. Synth → CFN. cdk diff / change set.
मुलाखत card: When prefer CDK? · PNG download करा · Card page उघडा
मुलाखत card: Mixing IaC tools?. Fight + drift. One owner. Inventory → freeze clicks → cutover.
मुलाखत card: Mixing IaC tools? · PNG download करा · Card page उघडा
मुलाखत card: Secrets in YAML?. Plaintext risk. Refs + scan. Git history + env.
मुलाखत card: Secrets in YAML? · PNG download करा · Card page उघडा

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

सराव Tasks

या scenario बद्दल

Maple Leaf Books हा टोरांटो मधला पुस्तक विक्री व्यवसाय आहे. Emily Tremblay त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे CAD मध्ये मोजले जातात आणि AWS resources ca-central-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 16

सोपं SAM

का: Idea.

काय करायचं: SAM CFN तर 1.

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

सोपं SF

का: Idea.

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

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

सोपं CDK

का: Idea.

काय करायचं: CDK→CFN तर 1.

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

सोपं Owner

का: Idea.

काय करायचं: One owner तर 1.

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

सोपं CI

का: Idea.

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

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

सोपं Pin

का: Idea.

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

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

सोपं Drift

का: Idea.

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

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

सोपं Region

का: Idea.

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

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

मध्यम Sec

का: Idea.

काय करायचं: No plaintext तर 1.

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

मध्यम Local

का: Idea.

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

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

मध्यम CS

का: Idea.

काय करायचं: Change set तर 1.

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

मध्यम Mix

का: Idea.

काय करायचं: Mix costly तर 1.

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

मध्यम Transform

का: Shape.

काय करायचं: Transform + Resources.

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

मध्यम Stacks

का: Inventory.

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

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

अवघड OIDC

का: Idea.

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

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

अवघड Split

का: Idea.

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

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