Strategie nasazení: verze, aliasy a přesměrování provozu

Serverless Applications with AWS Lambda

Claudio Canales

Senior DevOps Engineer

Proč záleží na strategii nasazení

  • Rychle odhal chyby.
  • Omezte dosah problémů.
  • Rychle se zotav.

Riskantní vs. bezpečné nasazení

Serverless Applications with AWS Lambda

$LATEST vs. publikované verze

$LATEST

  • Přesouvá se při každé aktualizaci kódu.

Verze

  • Neměnné snímky.
  • Snadné připnutí pro rollbacky a dělení provozu.

Latest vs. verze

Serverless Applications with AWS Lambda

Verze je neměnný snímek

  • Zacházej s verzemi jako s release artefakty.
  • Každá zachycuje kód i konfiguraci.
  • Po publikování se nemění.
  • Vždy se lze vrátit do ověřeného stavu.

Neměnný snímek verze

Serverless Applications with AWS Lambda

Aliasy jsou stabilní ukazatele

  • Stabilní ukazatel.
  • Volej alias místo konkrétní verze.
  • Změň cíl aliasu bez zásahu do volajících.

Alias ukazuje na verzi

Serverless Applications with AWS Lambda

Aliasy dev a prod

  • Ideální pro prostředí.
  • dev přesouvej často.
  • Do prod povyš přesunutím aliasu.

Mapování aliasů dev a prod

Serverless Applications with AWS Lambda

Přesměrování provozu pomocí vážených aliasů

  • Testuj v produkci bezpečně.
  • Většina provozu zůstává na aktuální verzi.
  • Malá část jde na kandidátskou verzi.

Koncept váženého směrování přes alias

Serverless Applications with AWS Lambda

Canary krok 1: 90/10

  • 90 % zůstává na aktuální verzi.
  • 10 % testuje kandidáta pod reálnou zátěží.
  • Sleduj chyby a latenci.

Canary rozdělení 90/10

Serverless Applications with AWS Lambda

Canary krok 2: 50/50

  • Pokud 10% slice vypadá dobře, zvyš váhu.
  • 50 % aktuální, 50 % kandidát.
  • Problémy se při 50/50 projeví rychle.
  • Monitoring je klíčový.

Canary rozdělení 50/50

Serverless Applications with AWS Lambda

Canary krok 3: 100 % nová

  • Přesměruj veškerý provoz na novou verzi.
  • Stará verze stále existuje.
  • Rollback je jednoduchý.

Canary 100 % nová verze

Serverless Applications with AWS Lambda

Mentální model blue/green

  • Blue = aktuální stabilní verze.
  • Green = nová kandidátská verze.
  • Přepnutí přesunutím aliasu.
  • Vážené směrování přepnutí zpomalí.

Přepnutí blue/green

Serverless Applications with AWS Lambda

Rollback = přesuň alias zpět

  • Není třeba znovu nasazovat.
  • Přesuň alias na poslední ověřenou verzi.
  • Obnova během sekund, ne hodin.
  • Neměnné verze a stabilní aliasy spolupracují.

Rollback přesunutím aliasu

Serverless Applications with AWS Lambda

Sleduj metriky během přesměrování

  • Chyby a timeouty.
  • Doba trvání a tail latence.
  • Throttling při použití limitů.
  • Rychle pozastav nebo proveď rollback.

Metriky monitoringu při nasazení

Serverless Applications with AWS Lambda

Častá chyba: používat $LATEST jako prod

  • Spoléhat na $LATEST snižuje předvídatelnost.
  • Verze a aliasy jasně ukazují, co běží.
  • Rollbacky jsou bezpečné.

Varování před driftem $LATEST

Serverless Applications with AWS Lambda

Ignore

Serverless Applications with AWS Lambda

Kontrolní seznam bezpečného nasazení

  • Publikuj verzi.
  • Postupně přesměruj provoz pomocí aliasu.
  • Sleduj výsledky.
  • Mej rollback připravený na každém kroku.

Diagram kontrolního seznamu bezpečného nasazení

Serverless Applications with AWS Lambda

Hlavní poznatky

  • Verze zajišťují předvídatelnost.
  • Aliasy zajišťují stabilitu.
  • Vážené směrování přidává bezpečnost.
  • Rollback = přesunutí aliasu.

Hlavní poznatky o nasazení

Serverless Applications with AWS Lambda

Pojďme cvičit!

Serverless Applications with AWS Lambda

Preparing Video For Download...