AWS SAM och CDK för serverless och IaC

Automatisera driftsättningar på AWS

Dunieski Otano

Amazon Web Services Solutions Architect

En YAML-fil med 2 000 rader

yaml

  • En Lambda-funktion + API Gateway växte till 2 000 rader YAML
  • Varje IAM-roll, loggrupp och behörighet skrivs ut i detalj
  • Ett stavfel hamnar mitt i en behörighetspolicy
  • SAM och CDK komprimerar detta till några rader
Automatisera driftsättningar på AWS

AWS SAM i korthet

sam

  • SAM är en CloudFormation-utökning för serverless
  • Koncisa resurstyper: AWS::Serverless::Function, ::Api
  • SAM CLI bygger, paketerar och driftsätter
  • Mallar omvandlas till vanlig CloudFormation
Automatisera driftsättningar på AWS

SAM-arbetsflödet

arbetsflöde

  • sam init: skapar ett projekt utifrån en mall
  • sam validate: kontrollerar mallen före byggning
  • sam build: kompilerar och paketerar koden
  • sam deploy: driftsätter till en CloudFormation-stack
Automatisera driftsättningar på AWS

AWS CDK i korthet

  • Skriv infrastruktur i TypeScript, JavaScript, Python, Java, C#, Go
  • Kompilera till CloudFormation med cdk synth
  • Driftsätt med cdk deploy; bygger om vid varje kodändring
  • Samma stack- och resursbegrepp som CloudFormation

cdk

Automatisera driftsättningar på AWS

CDK-konstruktnivåer

  • L1: en 1-till-1-omslutning av en CloudFormation-resurs
  • L2: utvalda konstrukt med vettiga standardvärden
  • L3: mönster som paketerar flera resurser
  • Högre nivåer = färre rader, mindre kontroll

konstrukt

Automatisera driftsättningar på AWS

När du ska använda vilken

  • Ren CloudFormation: full kontroll, driftvänligt
  • SAM: renodlade serverless-appar, snabbaste vägen
  • CDK: komplex infrastruktur, team som kodar
  • Alla tre driftsätter på samma sätt under ytan

respektive

Automatisera driftsättningar på AWS

Alla tre driftsätter som CloudFormation

tratt

  • SAM omvandlas till CloudFormation
  • CDK syntetiseras till CloudFormation
  • Den resulterande stacken använder samma events, drift, change sets
  • Rollbacks fungerar likadant oavsett verktyg
Automatisera driftsättningar på AWS

Nu kör vi en övning!

Automatisera driftsättningar på AWS

Preparing Video For Download...