Megosztás a következőn keresztül:


DevOps-eljárások SaaS-számítási feladatokhoz az Azure-ban

A DevOps-eljárások nélkülözhetetlenek az Azure-beli számítási feladatok kezeléséhez, különösen SaaS-alkalmazások esetében. A fő szempontok közé tartozik az előkészítés, a bevezetés és az ügyfélpéldányok módosítása. Ezek a gyakorlatok nem csak egyszerűsítik a műveleteket, hanem növelik a méretezhetőséget és a megbízhatóságot is, minimalizálva a kimaradások esélyét.

Ez a cikk az ügyfelek hatékony életciklus-kezelésének és biztonságos üzembehelyezési gyakorlatának tervezési szempontjait ismerteti.

Ügyfél-életciklusok kezelése

Az ügyfelek életciklus-eseményeinek kezelése minden SaaS-alkalmazás esetében kulcsfontosságú. Ezek az események általában a következők:

  • Előkészítés: Amikor egy ügyfél regisztrál.
  • Módosítás: Az ügyfél példányának módosítása, például a tarifacsomag módosítása.
  • Kiléptetés: Amikor egy ügyfél lemondja a fiókját.

További életciklus-eseményeket is tapasztalhat. Engedélyezheti például, hogy az ügyfelek szüneteltethessék az előfizetésüket, miközben egy meghatározott időszakra megőrzik az adataikat, és később folytathassák az előfizetésüket. Minden eseménynek egyedi hatása lehet az alkalmazásra.

Egyes megoldásokban előfordulhat, hogy az ügyfél életciklusának kezelése csak egy adatbázistáblában lévő adatok létrehozását vagy kezelését igényli. Más megoldások esetén az Azure-infrastruktúra, az alkalmazáskód és az összetettebb konfiguráció üzembe helyezésének vezénylésével is járhat.

Az életciklus-kezelés az SaaS-megoldás vezérlősíkjának kulcsfontosságú feladata. Kezdetben előfordulhat, hogy a csapat manuálisan kezeli ezeket a tevékenységeket, de idővel megpróbál több funkciót áttérni egy formalizált vezérlősík-megoldásra vagy alkalmazásra.

Kialakítási szempontok

  • Konzisztencia. Az életciklus-felügyeleti stratégia tervezésekor vegye figyelembe az egyes ügyfél-életciklus-eseményekhez szükséges műveletek összetettségét. Ez magában foglalja a megoldás méretét, az ügyfélbázist és a szervezeti terhelést. Győződjön meg arról, hogy tisztában van az egyes eseményekhez szükséges lépésekkel, és a konzisztencia fenntartása érdekében be kell fektetnie a vezérlőkbe. Rendszeresen tekintse át és frissítse a folyamatokat, hogy azok a megoldás fejlődése során is érvényesek maradjanak.

  • Bérlői modell. Az ügyfél életciklus-eseményeinek kezelése a bérlői modelltől függ.

    • Teljes mértékben több-bérlős megoldások infrastruktúra-erőforrásokkal. Az ügyfél előkészítése vagy kiléptetése általában magában foglalja az ügyféllista és a kapcsolódó adatok frissítését az alkalmazás adattárában.
    • Dedikált erőforrások ügyfélenként. A feladatok általában magukban foglalják az Azure-ba történő üzembe helyezést, az előrehaladás monitorozását és az üzembe helyezési hibák kezelését, esetleg emberi beavatkozással.
    • Ügyfél által üzembe helyezett erőforrások. Előfordulhat, hogy közvetlenül az ügyfél mérnöki csapatához kell csatlakoznia az előkészítéshez vagy a bevezetéshez.
  • Rétegek. Vegye figyelembe a tarifamodellt és az egyes szintek különböző infrastruktúraigényeit, különösen akkor, ha lehetővé teszi az ügyfelek számára, hogy bármikor szabadon módosíthassák termékváltozatukat.

    • Ha például az SaaS-megoldás tartalmaz egy alapalkalmazást és több fizetős bővítménymodult, győződjön meg arról, hogy az alapalkalmazás erőforrásai üzembe vannak helyezve az előkészítés során. Emellett lehetővé teszi a bővítménymodulok dinamikus hozzáadását és eltávolítását. Egy modul eltávolításakor döntse el, hogy törli-e a társított adatokat, vagy tárolja-e azokat lehetséges újraaktiválás céljából.

Tervezési javaslatok

Ajánlás Juttatás
Dokumentálja az ügyfél életciklus-eseményeinek minden típusát.

Győződjön meg arról, hogy az egyes események folyamatának részletes adatait rögzíti.
Az események megértésével megtervezheti, hogyan reagálhat a megoldásterv egyes eseményeire.
Az egyértelmű utasítások segítenek az emberi operátoroknak fenntartani a konzisztenciát, és a jövőbeli automatizálás alapjaként szolgálnak.
Az ön és az ügyfél közötti megosztott felelősség közlése minden életciklus-esemény esetében. Világosan és korán közölje, hogy milyen műveleteket vár el az ügyfelektől az életciklus-szakasz befejezéséhez. Csökkentheti a téves kommunikáció által okozott esetleges hibákat és az ügyfelek frusztrációját.
Végezze el a kapacitástervezést minden életciklus-eseményhez.

Új ügyfél előkészítésekor például tervezze meg az alkalmazás új példányának üzembe helyezését, ha a meglévő példányok nem rendelkeznek elegendő kapacitással a többletterhelés kezeléséhez.

További információ: Az Azure-beli SaaS-számítási feladatok számlázása és költségkezelése.
Támogatja a skálázást egyszerűbben, és elkerülheti az üzembe helyezési hibákat.
Gyakorlatias állapotban automatizálhatja az életciklus-eseményeket.

Alacsony kötetű vagy korai fázisú megoldások esetén a manuális üzembe helyezés és a konfigurálás elegendő lehet, de továbbra is használjon szkripteket, még akkor is, ha egy mérnök minden életciklus-esemény alkalmával futtatja őket.

Ahogy a megoldás kiforrott, integrálja ezeket a felelősségeket egy teljes kontrollsíkba az emberi hibák csökkentése és a nagyobb léptékű támogatás érdekében.
Csökkentheti az emberi hibák jelentős kockázatát, és támogathatja a nagyobb léptékű skálázást.

Az infrastruktúra-kezelési stratégia megtervezése

Az Azure-infrastruktúra korai üzembe helyezésére, karbantartására és kezelésére vonatkozó stratégia kidolgozása. Az SaaS méretezése során az erőforrások száma nő. Egyszerűbben követhet egy felügyeleti stratégiát a kezdetektől fogva, mint az infrastruktúra későbbi egyeztetése, amikor az túl bonyolulttá válik a manuális kezeléshez.

Kialakítási szempontok

  • Ügyfélerőforrás-kezelés. A bérlői modell hatással van az erőforrások SaaS-megoldásokban való üzembe helyezésére. Az egyes ügyfelek számára dedikált Azure-erőforrásokat helyezhet üzembe, vagy erőforrásokat oszthat meg egy meghatározott számú ügyfél között. Másik lehetőségként használhatja a megosztott erőforrások egyetlen készletét, és újrakonfigurálhatja őket új ügyfelek előkészítésekor. Az erőforrások életciklusának kezelésének gyakori megközelítései:

    • Kezelje az ügyféllistát az üzembe helyezendő erőforrások konfigurációjaként. Központi üzembehelyezési folyamatokkal telepítheti és konfigurálhatja ezeket az erőforrásokat.
    • Kezelje az ügyféllistát adatokként. Az infrastruktúra kiépítéséhez és konfigurálásához használjon vezérlősík-alkalmazást.
  • Infrastruktúra automatizálása. Számos szervezet először manuálisan helyezi üzembe a felhőinfrastruktúra azure portalon keresztüli üzembe helyezését, ami kezdetben egyszerű, de nem skálázható megfelelően. Tervezze meg az infrastruktúra beállításának automatizálását az Infrastruktúra kódként (IaC) eszközökkel, például a Bicep vagy a Terraform használatával. Az összetettebb követelmények érdekében hozzon létre egy vezérlősíkot, amely közvetlenül az Azure Resource Manager API-kat használja.

  • Infrastruktúra-hozzárendelés. Nyomon követheti, hogy mely ügyfelek melyik infrastruktúrán vannak üzembe helyezve. A nyomon követés fontos a pontos kapacitástervezéshez és költség-hozzárendeléshez. Az ügyfélinfrastruktúra központilag nyomon követhető egy ügyféladatbázisban, vagy dedikált infrastruktúra esetén azure-erőforrás-metaadatokat használhat ügyfélspecifikus erőforráscsoportokkal és erőforráscímkékkel. További információ: Erőforrás-szervezet SaaS-számítási feladatokhoz.

Tervezési javaslatok

Ajánlás Juttatás
Infrastruktúra-automatizálás kiépítése üzembehelyezési folyamatokkal, szkriptekkel vagy sablonokkal olyan eszközökkel, amelyet a csapat már ismer. Az ismert eszközök használata csökkenti a hibák kockázatát, mivel az infrastruktúra automatizálása zavaró lehet, ha az eszközöket nem értik.
Ha lehetséges, telepítse az infrastruktúrát az IaC használatával. Az infrastruktúra manuális karbantartása kockázatosabbá és nehezebbé válik az infrastruktúra mennyiségének növekedésével.
Válassza el az alapvető infrastruktúrát az ügyfélszintű infrastruktúrától. A különböző típusú infrastruktúra különböző életciklusokkal és felügyeleti tevékenységekkel rendelkezik. Az egyes csoportok külön-külön, saját ütemezés szerint kezelhetők.
Az Azure Managed Applications használatával üzembe helyezheti és kezelheti az ügyfél által üzembe helyezett erőforrásokat. Az Azure Managed Applications számos olyan képességet biztosít, amelyek lehetővé teszik az erőforrások üzembe helyezését és kezelését az ügyfél Azure-előfizetésében.

Alkalmazástelepítések tervezése

A funkciók javítása érdekében rendszeresen frissítse az alkalmazáskódot és a konfigurációt. Az ügyfelek konzisztens üzemidőt várnak a frissítések és a biztonságos bevezetés során, hogy minimalizálják a kimaradás kockázatát.

Kialakítási szempontok

  • Eszközök és folyamatok szabványosítása. Az iparágban bizonyított DevOps-eszközkezelés biztosítja az alkalmazások üzembe helyezésének felügyeletére szolgáló folyamatokban a függvények közötti konzisztenciát és az érettséget. A saját eszközök fejlesztése a legtöbb esetben antipatternnek számít.

    Tekintse meg az OE:03 szoftverfejlesztési eljárásait.

    Kompromisszum: Összetettség és költség. A jól ismert DevOps-eszközök használata pénzt és készségeket tekintve költséghatékony lehet. Ez azonban növeli az egyes eszközök külön-külön történő kezelésének működési terheit. Fontos, hogy nyitott maradjon az új technológiai innovációkra, amelyek hasznosak lehetnek a számítási feladatok számára.

  • A frissítések fokozatos üzembe helyezése. Frissítéseket hozhat létre egyszerre az ügyfelek egy részhalmazában, és logikai csoportosításokra oszthatja a felhasználókat. Ugyanezt a szigort alkalmazza a konfigurációs módosításokra, mert megváltoztathatják a kód viselkedését, és kimaradásokat okozhatnak. Kövesse az üzembehelyezési folyamatot ezekhez a módosításokhoz.

  • Verziószámozási stratégia bevezetése. Ha lehetővé teszi az ügyfelek számára az alkalmazásverzió kiválasztását, rugalmasságot biztosít, de bonyolítja a műveleteket. Adjon egyértelmű elvárásokat a régi verziók elavulásával kapcsolatban, és vázolja fel, mi történik, ha már nem támogatottak.

  • Automatizálás. A manuális üzemelő példányok az emberi hibák és a konzisztencia hiánya miatt hajlamosak a kockázatokra. Még akkor is, ha az üzemelő példányok manuálisan aktiválódnak, az üzembehelyezési folyamatot a lehető legnagyobb mértékben automatizálni kell, és minimális emberi beavatkozást kell igényelnie. Fontolja meg az üzembe helyezési folyamat lépéseit, és hogy hogyan automatizálhatja őket a legjobban.

  • Test. A tesztelés integrálása az üzembehelyezési folyamatba a következő futtatásával:

    • Egységtesztek a kód összeállítása során
    • Integrációs tesztek az üzembe helyezés után
    • Rendszeres teljesítménytesztek
    • Rendszeres biztonsági és behatolási tesztek

Döntse el, hogy milyen műveleteket hajt végre, ha a tesztek bármelyik szakaszában sikertelenek.

  • Sikertelen üzemelő példányok. Tervezze meg az üzembehelyezési hibákat a szükséges műveletek figyelembevételével és egy visszaállítási stratégia előkészítésével.

  • Hozzáférés az ügyfélkörnyezetekhez. Ha erőforrásokat helyez üzembe az ügyfélkörnyezetekben, ismerje meg, hogyan alkalmazhat frissítéseket ezeken a környezeteken belül. Fontolja meg az Azure Managed Applications által biztosított képességeket, például az alkalmazások frissítéseinek üzembe helyezését.

Tervezési javaslatok

Ajánlás Juttatás
Az alkalmazástelepítések kezeléséhez használjon bevált, iparágilag bizonyított DevOps-eszközöket és folyamatokat. A saját eszközök fejlesztése a legtöbb esetben antipatternnek számít.

További információ: OE:03 Szoftverfejlesztési eljárások
A mérnöki csapat hatékony üzembe helyezését úgy teheti meg, hogy nem kell megtanulnia az egyéni beépített eszközöket.
Proaktív módon értesítse az ügyfeleket a közelgő vagy befejezett üzemelő példányokról. Gondoskodhat arról, hogy az ügyfelek megfelelő elvárásokat támasztjanak az alkalmazáshoz érkező változásokról.
Olyan biztonságos üzembehelyezési eljárásokat alkalmazhat, amelyek frissítéseket helyeznek üzembe az ügyfélcsoportokban olyan stratégiák használatával, mint a progresszív expozíció, az állapotmodellek és mások. Kezdje a kevésbé érzékeny vagy korai örökbefogadó ügyfelekkel, mielőtt a fontosabbakra költözne.
További információ: Javaslatok a biztonságos üzembe helyezési eljárásokhoz.
Ez a megközelítés segít azonosítani a problémákat, mielőtt az összes ügyfelet érintené.
A konfigurációt kezelje kódként. Csökkentheti az állásidő valószínűségét, és konzisztens folyamatot alkalmazhat az éles változásokhoz. Ez lehetővé teszi a központosított üzemeltetési feladatokat, például a módosítások tesztelését és a konfiguráció és a kód frissítésének fokozatos bevezetése.
Adjon meg egy változáskezelési folyamatot, és adjon meg egy verziófrissítési szabályzatot, hogy az ügyfelek tudják, ki indítja el a frissítéseket, azok gyakoriságát és feltételeit.

Ha az ügyfelek kiválaszthatják az alkalmazás verziószámát, állítsa be a régi verziók elavultságára vonatkozó egyértelmű irányelveket. Csökkentse az éles környezetben futó alkalmazásverziók számát.
A régebbi verziók fenntartása működési hatékonyságot okoz. Biztosítsa az ügyfelek számára a szükséges ellenőrzést, és ne terhelje túl a csapatát világos elvárások és szabályzatok beállításával.
Kerülje az alkalmazások testreszabását egyetlen ügyfél számára.

A különböző ügyféligények támogatásához létrehozhatja a megoldás különböző szintjeit, vagy funkciójelzőkkel engedélyezheti bizonyos felhasználók bizonyos funkcióit.
Kerülje a kétértelműséget azzal kapcsolatban, hogy mely funkciók melyik verzióban vannak üzembe helyezve, és csökkentse a karbantartási terhet.
Rendelkeznie kell egy visszaállítási tervvel a sikertelen üzembe helyezésekhez, beleértve az aktiválási feltételeket és a szükséges jóváhagyásokat. A visszaállítási tervek segítenek biztosítani, hogy előre nem látható körülmények között is helyreálljon az üzembe helyezési hibákból.
Tesztelje az alkalmazást rendszeresen és a szoftverfejlesztési folyamat több szakaszában. Fogadjon el egy "shift-left" gondolkodásmódot, és elkapja a hibákat és eltéréseket az életciklus korai szakaszában. Segít megelőzni, hogy a kritikus hibák hatással vannak az ügyfelekre.

További erőforrások

A több-bérlősség az SaaS-számítási feladatok tervezésének alapvető üzleti módszertana. Ezek a cikkek további információt nyújtanak a DevOps-gyakorlatok bevezetéséről:

Következő lépés

Megismerheti az Azure-beli SaaS-megoldásokat támogató folyamatok és eszközök implementálásának incidenskezelési szempontjait.