Tárolók és kiszolgáló nélküli alkalmazások skálázása

Jótanács

Ez a tartalom a „Az Azure-hoz készült natív felhőalapú .NET-alkalmazások tervezése” című eBookból egy részlet, amely elérhető a .NET Docs oldalán, vagy ingyenesen letölthető PDF fájlként, amely offline módban is olvasható.

Azure-szolgáltatásban futó Cloud Native .NET-alkalmazások ebook borítójának miniatűrje.

Az alkalmazások méretezésének két módja van: felfelé vagy kifelé. Az előbbi a kapacitás egyetlen erőforráshoz való hozzáadására, míg az utóbbi a kapacitás növeléséhez szükséges további erőforrások hozzáadására utal.

Az egyszerű megoldás: felskálázás

A meglévő gazdagépkiszolgáló magasabb processzor-, memória-, lemez-I/O-sebességgel és hálózati I/O-sebességgel történő frissítését vertikális felskálázásnak nevezzük. A natív felhőalkalmazások vertikális felskálázásához több képes erőforrást kell kiválasztani a felhőszolgáltatótól. Létrehozhat például egy új csomópontkészletet nagyobb virtuális gépekkel a Kubernetes-fürtben. Ezután telepítse át a konténeres szolgáltatásokat az új csomópontba.

A kiszolgáló nélküli alkalmazások felskálázhatók a prémium szintű Functions-csomag vagy a prémium példányméret kiválasztásával egy dedikált App Service-csomagból.

Natív felhőbeli alkalmazások horizontális felskálázása

A natív felhőalkalmazások gyakran nagy mértékű ingadozást tapasztalnak az igényekben, és egy pillanat alatt skálázást igényelnek. A horizontális skálázást részesítik előnyben. A horizontális skálázás úgy történik, hogy további gépeket (úgynevezett csomópontokat) vagy alkalmazáspéldányokat adnak hozzá egy meglévő fürthöz. A Kubernetesben manuálisan skálázhat az alkalmazás konfigurációs beállításainak módosításával (például csomópontkészlet skálázásával), vagy automatikus skálázással.

Az AKS-fürtök kétféleképpen tudnak automatikusan skálázódni:

Először is a Horizontal Pod Autoscaler monitorozza az erőforrásigényt, és automatikusan skálázza a POD-replikákat az igények kielégítésére. A forgalom növekedésekor a rendszer automatikusan további replikákat épít ki a szolgáltatások vertikális felskálázásához. Hasonlóképpen, ha a kereslet csökken, eltávolítják őket, hogy a szolgáltatásokat csökkenthessük. Megadhatja azt a metrikát, amelyre skálázni szeretne, például a CPU-használatot. Megadhatja a futtatandó replikák minimális és maximális számát is. Az AKS figyeli ezt a metrikát, és ennek megfelelően méretez.

Az AKS-fürt automatikus skálázási funkciója lehetővé teszi a számítási csomópontok automatikus skálázását egy Kubernetes-fürtön az igények kielégítése érdekében. Ezzel automatikusan hozzáadhat új virtuális gépeket a mögöttes Azure-beli virtuálisgép-méretezési csoporthoz, amikor több számítási kapacitásra van szükség. Emellett eltávolítja a csomópontokat, ha már nincs rá szükség.

A 3–11. ábra a két skálázási szolgáltatás közötti kapcsolatot mutatja be.

App Service-csomag skálázása.

3–11. ábra. App Service-csomag skálázása.

A közös munka biztosítja a tárolópéldányok és számítási csomópontok optimális számát az ingadozó igények támogatásához. A vízszintes podméretező optimalizálja a szükséges podok számát. Az automatikus fürtskálázó optimalizálja a szükséges csomópontok számát.

Az Azure Functions skálázása

Az Azure Functions igény szerint automatikusan felskálázható. A kiszolgálói erőforrások dinamikusan vannak lefoglalva és eltávolítva az aktivált események száma alapján. Csak a függvények futtatásakor felhasznált számítási erőforrásokért kell fizetnie. A számlázás a végrehajtások száma, a végrehajtási idő és a felhasznált memória alapján történik.

Bár az alapértelmezett fogyasztási csomag a legtöbb alkalmazás számára gazdaságos és méretezhető megoldást biztosít, a prémium lehetőség lehetővé teszi a fejlesztők számára az egyéni Azure Functions-követelmények rugalmasságát. A prémium csomagra való frissítés szabályozza a példányméreteket, az előre felmelegített példányokat (a hideg indítási késések elkerülése érdekében) és a dedikált virtuális gépeket.