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.
