Deploymentstrategieën: versies, aliassen en traffic shifting

Serverless-toepassingen met AWS Lambda

Claudio Canales

Senior DevOps Engineer

Waarom een deploymentstrategie telt

  • Bugs snel detecteren.
  • Impact beperken.
  • Snel herstellen.

Riskante vs veilige deploy

Serverless-toepassingen met AWS Lambda

$LATEST vs gepubliceerde versies

$LATEST

  • Verandert elke keer als je code updatet.

Versies

  • Onveranderlijke snapshots.
  • Makkelijk te pinnen voor rollbacks en traffic-splitting.

Latest vs versies

Serverless-toepassingen met AWS Lambda

Een versie is een onveranderlijke snapshot

  • Behandel versies als release-artifacts.
  • Elke versie bevat code en configuratie.
  • Na publiceren verandert het niet.
  • Je kunt altijd terug naar een bekende goede staat.

Onveranderlijke versiesnapshot

Serverless-toepassingen met AWS Lambda

Aliassen zijn stabiele verwijzingen

  • Een stabiele verwijzing.
  • Roep het alias aan in plaats van een versie.
  • Werk het doel bij zonder callers te wijzigen.

Alias wijst naar een versie

Serverless-toepassingen met AWS Lambda

Dev- en prod-aliassen

  • Ideaal voor omgevingen.
  • Verplaats dev vaak.
  • Promoot naar prod door het alias te verplaatsen.

Dev- en prod-aliaskoppeling

Serverless-toepassingen met AWS Lambda

Traffic verschuiven met gewogen aliassen

  • Veilig in productie testen.
  • Meeste verkeer blijft op de huidige versie.
  • Een kleine fractie gaat naar de kandidaat.

Gewogen aliasrouting concept

Serverless-toepassingen met AWS Lambda

Canary stap 1: 90/10

  • 90% blijft op de huidige versie.
  • 10% test de kandidaat onder echte load.
  • Let op errors en latency.

Canary 90/10 verdeling

Serverless-toepassingen met AWS Lambda

Canary stap 2: 50/50

  • Ziet de 10% er goed uit? Verhoog het gewicht.
  • 50% huidig, 50% kandidaat.
  • Issues vallen snel op bij 50/50.
  • Monitoring is cruciaal.

Canary 50/50 verdeling

Serverless-toepassingen met AWS Lambda

Canary stap 3: 100% nieuw

  • Leid al het verkeer naar de nieuwe versie.
  • De oude versie blijft bestaan.
  • Rollback is eenvoudig.

Canary 100% nieuw

Serverless-toepassingen met AWS Lambda

Blue/green-denkmodel

  • Blauw = huidige stabiele versie.
  • Groen = nieuwe kandidaatversie.
  • Schakel door het alias te verplaatsen.
  • Gewogen routing maakt de switch geleidelijk.

Blue-green switch

Serverless-toepassingen met AWS Lambda

Rollback = alias terugzetten

  • Geen redeploy nodig.
  • Verplaats het alias naar de laatst bekende goede versie.
  • Herstel in seconden, niet uren.
  • Onveranderlijke versies en stabiele aliassen werken samen.

Rollback door alias terug te zetten

Serverless-toepassingen met AWS Lambda

Monitor tijdens de shift

  • Errors en time-outs.
  • Duur en tail latency.
  • Throttles bij caps.
  • Pauzeer of rol snel terug.

Deploy-monitoringmetrics

Serverless-toepassingen met AWS Lambda

Veelgemaakte fout: $LATEST als prod gebruiken

  • Vertrouwen op $LATEST schaadt voorspelbaarheid.
  • Versies en aliassen maken duidelijk wat draait.
  • Rollbacks zijn veilig.

Waarschuwing voor latest-drift

Serverless-toepassingen met AWS Lambda

Negeren

Serverless-toepassingen met AWS Lambda

Checklist voor veilig deployen

  • Publiceer een versie.
  • Verschuif verkeer geleidelijk met een alias.
  • Monitor de resultaten.
  • Houd rollback klaar bij elke stap.

Checklist voor veilige deploy

Serverless-toepassingen met AWS Lambda

Belangrijkste punten

  • Versies geven voorspelbaarheid.
  • Aliassen geven stabiliteit.
  • Gewogen routing voegt veiligheid toe.
  • Rollback = alias verplaatsen.

Belangrijkste punten bij deployen

Serverless-toepassingen met AWS Lambda

Laten we oefenen!

Serverless-toepassingen met AWS Lambda

Preparing Video For Download...