AWS SAM și CDK pentru serverless și IaC

Automatizarea implementărilor pe AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Un fișier YAML de 2.000 de linii

yaml

  • O funcție Lambda + API Gateway a devenit 2.000 de linii de YAML
  • Fiecare rol IAM, grup de log-uri și permisiune scrise explicit
  • O greșeală de tastare ajunge la mijlocul unei politici de permisiuni
  • SAM și CDK reduc totul la câteva linii
Automatizarea implementărilor pe AWS

AWS SAM în ansamblu

sam

  • SAM este o extensie CloudFormation pentru serverless
  • Tipuri de resurse concise: AWS::Serverless::Function, ::Api
  • CLI-ul SAM construiește, împachetează și implementează
  • Șabloanele se transformă în CloudFormation simplu
Automatizarea implementărilor pe AWS

Fluxul de lucru SAM

workflow

  • sam init: creează un proiect dintr-un șablon
  • sam validate: verifică șablonul înainte de construire
  • sam build: compilează și împachetează codul
  • sam deploy: trimite spre un stack CloudFormation
Automatizarea implementărilor pe AWS

AWS CDK în ansamblu

  • Scrie infrastructura în TypeScript, JavaScript, Python, Java, C#, Go
  • Compilează în CloudFormation cu cdk synth
  • Implementează cu cdk deploy; se reconstruiește la fiecare modificare de cod
  • Aceleași concepte de stack și resurse ca în CloudFormation

cdk

Automatizarea implementărilor pe AWS

Niveluri de construcții CDK

  • L1: o corespondență 1-la-1 cu o resursă CloudFormation
  • L2: construcții curate, cu valori implicite sensibile
  • L3: modele care grupează mai multe resurse
  • Nivel mai înalt = mai puține linii, mai puțin control

construct

Automatizarea implementărilor pe AWS

Când folosești fiecare

  • CloudFormation simplu: control total, prietenos pentru operare
  • SAM: aplicații pur serverless, cea mai rapidă cale
  • CDK: infrastructură complexă, echipe orientate pe cod
  • Toate trei se implementează la fel dedesubt

each

Automatizarea implementărilor pe AWS

Toate trei se implementează ca CloudFormation

funnel

  • SAM se transformă în CloudFormation
  • CDK se sintetizează în CloudFormation
  • Stack-ul rezultat folosește aceleași evenimente, deviații, seturi de modificări
  • Rollback-urile funcționează la fel, indiferent de toolkit
Automatizarea implementărilor pe AWS

Hai să exersăm!

Automatizarea implementărilor pe AWS

Preparing Video For Download...