NaplóindexDockup / terepjegyzet
Note / zero-downtime-deployments

Leállás nélküli telepítések: teljes útmutató

Ismerd meg, hogyan telepítheted alkalmazásaidat szolgáltatáskimaradás nélkül rolling update-ek és blue-green deployment-stratégiák használatával.

Bevezetés

A leállás nélküli deployment már nem luxus, hanem szükséglet. A mai, folyamatosan elérhető világban már néhány másodpercnyi leállás is bevételkiesést, a jó hírnév sérülését és frusztrált felhasználókat eredményezhet.

A Dockupnál a teljes platformunkat arra az alapelvre építettük, hogy a deploymenteknek láthatatlannak kell lenniük a felhasználók számára. Így valósítjuk ezt meg, és így alkalmazhatsz hasonló stratégiákat a saját infrastruktúrádban is.

Mi az a leállás nélküli deployment?

A leállás nélküli deployment olyan gyakorlat, amelynek során az alkalmazásokat szolgáltatáskimaradás nélkül frissítjük. A felhasználók zavartalanul továbbra is hozzáférnek az alkalmazásodhoz, miközben bevezetjük az új verziókat.

Főbb stratégiák

1. Rolling update-ek

A rolling update-ek fokozatosan cserélik le a régi instance-okat újakra. Egy adott pillanatban egyes instance-ok a régi, mások pedig az új verziót futtatják.

# dockup.yaml
deploy:
  strategy: rolling
  maxSurge: 25%
  maxUnavailable: 0

2. Blue-green deploymentek

Ez a stratégia két azonos production environmentet tart fenn. A forgalmat az egyik környezetről a másikra irányítjuk át, miután ellenőriztük az új verziót.

3. Canary release-ek

A canary release-ek a forgalom egy kis százalékát az új verzióhoz irányítják, mielőtt az teljes körűen bevezetésre kerülne.

A health checkek kritikus fontosságúak

Megfelelő health checkek nélkül a deployment-stratégiád sikertelen lesz. A Dockup automatikusan konfigurálja a következőket:

  • Liveness probe-ok: Érzékelik, hogy fut-e az alkalmazásod
  • Readiness probe-ok: Érzékelik, hogy az alkalmazásod készen áll-e a forgalom kiszolgálására

Összegzés

A megfelelő eszközökkel és stratégiákkal megvalósíthatók a leállás nélküli deploymentek. A Dockup mindezt automatikusan kezeli, így az infrastruktúra menedzselése helyett a funkciók fejlesztésére összpontosíthatsz.