Javaslatok az automatizálás engedélyezéséhez

Erre az Azure Well-Architected Framework Operation Excellence ellenőrzőlistára vonatkozó javaslatra vonatkozik:

OE:10 Az automatizálást előre megtervezi és implementálja az olyan műveletekhez, mint az életciklussal kapcsolatos problémák, a rendszerindítás, valamint a szabályozási és megfelelőségi védőkorlátok alkalmazása. Ne próbálkozzon később az automatizálás utólagos átalakításával. Válassza ki a platform által biztosított automatizálási funkciókat.

Ez az útmutató a számítási feladatok tervezésére és implementálására vonatkozó javaslatokat ismerteti az automatizálás engedélyezéséhez. A számítási feladatokat az automatizálás szem előtt tartásával tervezheti meg, hogy a rutinfeladatok, például az erőforrások kiépítése, a skálázás és az üzembe helyezés gyorsan és megbízhatóan történjen. Az Automation leegyszerűsíti a karbantartási feladatokat, és lehetővé teszi a rendszerek hatékonyabb frissítését, javítását és frissítését.

Fő tervezési stratégiák

Számítási feladatok tervezése

A számítási feladatokat úgy tervezheti meg, hogy támogassa az automatizálást az ideációs fázistól a folyamatban lévő fejlesztési fázisig. Először is fontolja meg, hogyan szeretné alkalmazni az automatizálást a számítási feladatban, hogy biztosítsa a szükséges elemek üzembe helyezését. Gondoljon a számítási feladatra a Well-Architected Keretrendszer pillérei alapján, hogy megtervezhesse a használni kívánt automatizálási típusokat. A biztonság, a megbízhatóság, a teljesítmény, a műveletek és a költségkezelés számos funkcióját automatizálhatja.

Tervezzen úgy, hogy az automatizálást szem előtt tartva minimalizálja az újrabontást a számítási feladat futtatása után. Vegye figyelembe a számítási feladatokra vonatkozó követelményeket, amikor eldönti, hogy mely automatizálási eszközöket kell használnia. Előfordulhat, hogy a csapat már ismeri a polcon kívüli automatizálási eszközöket. Ezeknek az eszközöknek az alkalmazásával egyszerűbbé teheti a számítási feladatok automatizálásának útját, de figyelembe kell vennie a felhőplatform korlátait és kompatibilitását. Egyes automatizálási eszközök például jól integrálhatók az Azure CLI-eszközökkel, míg mások REST-felületeket igényelhetnek. Mindig vizsgálja meg azokat az eszközöket, amelyeket a felhőplatform biztosít annak biztosítása érdekében, hogy kompatibilisek legyenek, és biztosítsa a szükséges funkciókat. Az automatizálás proaktív tervezésének módjai többek között a következők:

  • Üzembe helyezés: Automatizálja az alkalmazás- és infrastruktúra-telepítéseket a kiszámítható szabvány biztosítása érdekében. Tervezze meg az automatizált üzembe helyezést az üzembehelyezési szabványok fejlesztésével, a csapat betanításával a használni kívánt eszközökkel és a szükséges infrastruktúra implementálásával.

  • Ellenőrzés: A megfelelőségi követelmények automatikus ellenőrzése a számítási feladathoz vezénylési vagy szabályzateszközök használatával. Azonosítsa a számítási feladathoz megfelelő érvényesítő eszközt, és tervezze meg a szükséges rendszerek, például a vezénylési kiszolgálók implementálását.

  • Automatikus skálázás: Az infrastruktúra automatikus skálázásával elérheti a megbízhatósági és teljesítménybeli követelményeket. A redundancia és a természetes növekedés megtervezése mellett előre le kell foglalnia az IP-címteret és az alhálózatokat a számítási feladatban, hogy figyelembe vegye a skálázási műveleteket.

Kompromisszum: Ha a számítási feladatokat az automatizálás engedélyezésére tervezi, vegye figyelembe, hogy milyen mértékű vezérlést szeretne fenntartani az automatizálással elérhető hatékonysággal szemben. Bizonyos esetekben előfordulhat, hogy a számítási feladat nem elég érett ahhoz, hogy automatizáljon bizonyos funkciókat, vagy olyan szintű rugalmasságra lehet szüksége, amelyet az automatizálás nem biztosít.

A számítási feladatok tervezésekor vegye figyelembe a csapat készségkészletét is. Ha a magas fokú automatizáláshoz olyan eszközökre van szükség, amelyeket a csapat nem támogat, akkor előfordulhat, hogy egy kevésbé átfogó kialakítást kell használnia köztes lépésként.

Folyamatos számítási feladatok fejlesztései

Miután a számítási feladat a felhőben fut, fontos prioritást adni a folyamatos fejlesztésnek. Figyelje meg a számítási feladatokat működés közben, elemezze a használati mintákat, és tekintse át a számítási feladathoz kapcsolódó ügyfél viselkedését, hogy azonosítsa azokat a területeket, ahol javíthatja az automatizálást. Keresse meg a meglévő automatizálás javítására szolgáló módszereket, vagy vezessen be új automatizálást az ügyfélélmény javítása érdekében. Előfordulhat például, hogy engedélyezve van az automatikus skálázás, de a számítási feladatok növekedése rövid élettartamú. Integrálhatja a vertikális automatizálást, hogy csökkentse a processzorhasználatot, amikor a terhelés a küszöbérték alá csökken.

Az útmutató alábbi szakaszai javaslatokat nyújtanak az automatizálás egyes területeire vonatkozóan, amelyek segíthetnek a számítási feladatok tervezésében és megvalósításában.

Rendszerindítás

A rendszerindítás egy erőforrás konfigurációs frissítéseire utal, amelyeket a kiépítés után, de a számítási feladatkészlet részeként elérhetővé kell tenni. A rendszerindítást gyakran virtuális gépekhez (VM-ekhez) társítják, de számos más erőforrást is be kell állítani az üzembe helyezési folyamat részeként, beleértve a szolgáltatásként nyújtott platform (PaaS) technológiákat és az olyan tárolóüzemeltési technológiákat, mint a Azure Kubernetes Service (AKS).

Előfordulhat, hogy a felhőplatform rendszerindítási megoldásokat biztosít Önnek, amelyeket lehetőség szerint érdemes használnia. Az Azure-beli virtuálisgép-bővítményekkel például előre definiált konfigurációs módosításokat hajthat végre az üzembe helyezési folyamat során, és PowerShell-szkriptek injektálásával testre szabhatja a konfiguráció módosításait.

Hitelesítés és engedélyezés

A hitelesítési és engedélyezési stratégia tervezésekor vegye figyelembe az automatizálást. Fontos a legmagasabb szintű biztonság fenntartása az éles számítási feladatokban, de ez hatással lehet az automatizálásra. A biometrikus vagy többtényezős hitelesítés használata például összetettebbé teszi az automatizálási tervezés során figyelembe vehető összetettségeket. Használjon nem ember nélküli, biztonságos fiókokat az automatizált hitelesítéshez, például felügyelt identitásokhoz, számítási feladatok identitásaihoz vagy tanúsítványaihoz. Győződjön meg arról, hogy a nagyobb hitelesítési biztonság érdekében titkos kulcsokat és kulcskezelést is tartalmazott az automatizálásban.

A számítási feladatok variabilitásának megtervezése

Kerülje az új infrastruktúra szükségtelen üzembe helyezését, ha kisebb módosítások történnek, ha rugalmasan építi be az összetevőket. Ahelyett például, hogy újra üzembe helyeznék az infrastruktúrát egy funkciójelölő megváltozásakor, olyan paramétereket használhat, amelyek úgy vannak beállítva, hogy frissítik az összetevőket, például az alkalmazáskonfigurációkat. Ügyeljen arra, hogy egyértelműen definiálja és dokumentálja, hogyan használható a variabilitás a túlzott használat és a konfigurációs eltérés elkerülése érdekében.

Vezérlősík létrehozása

A vezérlősík az alkalmazás és függőségeinek egységes felületen keresztüli kezeléséhez használt háttérrendszer vagy eszközkészlet. A vezérlősíkot rest felületként, parancssori felületként vagy webhookként hozhatja létre a külső eszközök automatizálásának támogatásához.

Tegye közzé a karbantartási műveleteket a vezérlősíkon keresztül, amely lehetővé teszi a számítási feladatok összetevőinek koordinálását, például a rendszeres biztonsági mentést és visszaállítást, a rendszerindítást, a konfigurációt, az importálási/exportálási és kötegelési műveleteket. Ügyeljen arra, hogy a megfelelő részletességi szintet válassza, amikor úgy dönt, hogy a műveleteket elérhetővé teszi a vezérlősíkon keresztül.

Monitorozás és naplózás

Monitorozási stratégia kidolgozása olyan metrikák rögzítésére, amelyek a kívánt automatizálási típust hajtják. Strukturált naplózás és egyéni metrikák használatával az automatizáláshoz szükséges információkat könnyen felismerhető formátumban szolgáltathatja az automatizálási eszközökkel. A rögzített metrikákat a figyelési rendszerben meghatározott küszöbértékekkel kell párosítani, amelyek riasztásokat és automatizált műveleteket, például értesítéseket vagy önjavító mechanizmusokat aktiválnak, ha szükséges. További információ: Javaslatok az öngyógyításhoz és az önmegőrzéshez.

Felhasználói életciklus

Úgy tervezheti meg az alkalmazást és az infrastruktúrát, hogy lehetővé tegye a felhasználók automatikus előkészítését és kiléptetését egyéni vagy több-bérlős ügyfelek számára. Tervezze meg az automatikus adatbázis-frissítéseket szkriptekkel, infrastruktúra kiépítésével és megszüntetésével, valamint a hitelesítő adatok és titkos kódok kezelésével.

Vezénylés és szabályzatok használata

A folyamatos tevékenységprofil-kezelés részeként automatizálhatja a Desired State Configuration (DSC) az erőforrásokban, hogy azok megfeleljenek a megfelelőségi és üzleti követelményeknek. A DSC automatizálása segít biztosítani, hogy a konfigurációs eltérések gyorsan le legyenek fogottak és orvosolhatók legyenek. A DSC-t vezénylési eszközökkel vagy szabályzatkezelési eszközökkel automatizálhatja. A vezénylési eszközök, például az Azure DevOps-szolgáltatások vagy a Jenkins leküldéses mechanizmusokként tekinthetők. A vezénylési eszközök lehetővé teszik a konfigurációfrissítések leküldését egy munkafolyamat-eseményen keresztül, például egy manuális vagy automatizált üzembe helyezésen keresztül. Ezek a frissítések az üzembehelyezési szkriptben meghatározott feladatütemezés részeként futnak. A szabályzatkezelési eszközök lekéréses mechanizmusokat használnak, ami azt jelenti, hogy a rendszer a számítási feladat alapvető szintjén fut, amely rendszeres időközönként lekérdezi a számítási feladatot, hogy ellenőrizze annak állapotát a definiált DSC-n. Ha a lekérdezés helytelen eltérést vagy konfigurációs eltérést észlel, az eszköz korrekciós műveletet hajt végre. A vezénylés és a szabályzatkezelési eszközök közötti döntés során vegye figyelembe a következő tényezőket:

  • A vezénylési eszközök nem rendelkeznek beépített képességekkel a számítási feladatok proaktív lekérdezéséhez a konfigurációs eltérés érdekében. A vezénylési eszközöket integrálnia kell a folyamatos integrációs és folyamatos kézbesítési (CI/CD) folyamatba, hogy az infrastruktúra mint kód (IaC) üzembe helyezési és felügyeleti szabványa megmaradjon. A vezénylési eszközök használatának egyik előnye, hogy az erőforrások üzembe helyezésekor mindig teljes mértékben konfigurálva vannak.

  • A szabályzatkezelési eszközök lehetővé teszik olyan szabályzatok meghatározását, amelyek egy vagy több erőforráscsoportot érintenek. Ezek a szabályzatok akkor lesznek kikényszeríthetők, ha az erőforrás bejelentkezik a szabályzatkezelő rendszerrel. A szabályzatkezelés használatának egyik előnye, hogy ezek a rendszerek nem kódalapúak, így egyszerűbbé válhatnak a csapat operátorai számára.

A vezénylési vagy a szabályzateszközök közötti döntéskor fontolja meg, hogy az új erőforrásokon végrehajtott konfigurációs frissítéseket az üzembe helyezés időpontjában kell-e elvégezni. Azt is mérlegelje, hogy a frissítések kódban való definiálása megfelel-e az üzemeltetési eljárásoknak, és hogy hány erőforrástípust szeretne üzembe helyezni. Ha számos különböző konfiguráció létezik az erőforrástípusok között, a szabályzateszközök egyszerűbben kezelhetik a frissítéseket.

Azure-beli facilitálás

Szabályzatkezelés

Azure Policy: A Azure Policy használatával szabványokat kényszeríthet ki, és nagy léptékben értékelheti a megfelelőséget. Azure Policy a megfelelőségi irányítópulton összesített nézetet biztosít a számítási feladatok környezetének általános állapotának kiértékeléséhez. Vagy az Azure Policy használatával részletes szinten értékelheti ki az egyes erőforrásokat és szabályzatokat. A Azure Policy használatával automatikusan szervizelhet új erőforrásokat, vagy tömegesen szervizelheti a meglévő erőforrásokat.

Kompromisszum: A CI/CD-folyamat automatizálásának kiszervezése platformeszközökre vagy szolgáltatásokra( például Azure Policy) leegyszerűsítheti a folyamatot, de hátrányai vannak, mint például a több rendszer használatának további felügyeleti terhe. Például a platformszolgáltatás végrehajtási hibái nem kerülnek bele a folyamatnaplókba, és intelligensen kell betáplálnia a megfigyelhetőségi platformba, hogy a megfelelő felek értesítést kapjanak.

Bootstrap-automatizálás

Azure Virtual Machines bővítmények: Virtual Machines bővítmények olyan kis csomagok, amelyek üzembe helyezés utáni konfigurációt és automatizálást futtatnak a virtuális gépeken. Számos bővítmény érhető el különböző konfigurációs feladatokhoz, például szkriptek futtatásához, kártevőirtó megoldások konfigurálásához és naplózási megoldások konfigurálásához. Telepítse és futtassa ezeket a bővítményeket virtuális gépeken egy Azure Resource Manager-sablon, az Azure CLI, Azure PowerShell modul vagy a Azure Portal használatával. Minden virtuális gépen telepítve van egy virtuálisgép-ügynök, amely a bővítmény életciklusát kezeli.

A virtuálisgép-bővítmények általában egyéni szkriptbővítményt használnak szoftverek telepítéséhez, parancsok futtatásához és konfigurációk végrehajtásához egy virtuális gépen vagy azure-Virtual Machine Scale Sets. Ezeket a bővítményeket beállíthatja úgy, hogy az IaC-üzemelő példányok részeként fussanak, hogy új virtuális gépeken fussanak az Azure-beli virtuálisgép-ügynök használatával. A bővítmények az Azure CLI, a PowerShell-modul vagy a Azure Portal használatával is futtathatók az Azure üzemelő példányán kívül.

Cloud-init: A Cloud-init egy iparági eszköz Linux rendszerű virtuális gépek első rendszerindításkor történő konfigurálásához. Az Egyéni Azure-szkriptbővítményekhez hasonlóan a cloud-init is lehetővé teszi csomagok telepítését és parancsok futtatását Linux rendszerű virtuális gépeken. A cloud-init szoftvertelepítéshez, rendszerkonfigurációhoz és tartalom-előkészítéshez használható. Az Azure számos, felhőalapú, init-kompatibilis virtuálisgép-rendszerképet tartalmaz a jól ismert Linux-disztribúciókban. A teljes listát az Azure-beli virtuális gépek cloud-init-támogatásával kapcsolatos cikkben találja.

Azure-beli üzembehelyezési szkript erőforrása: Az Azure-beli üzembe helyezéskor előfordulhat, hogy tetszőleges kódot kell futtatnia a felhasználói fiókok, a Kubernetes-podok vagy egy nem Azure-beli rendszer adatainak lekérdezéséhez. Mivel ezen műveletek egyike sem érhető el az Azure vezérlősíkon keresztül, külön mechanizmusra van szükség. További információ: Microsoft.Resources deploymentScripts. A többi Azure-erőforráshoz hasonlóan az üzembehelyezési szkript erőforrása is:

  • Azure Resource Manager-sablonban használható.

  • Az Azure Resource Manager-sablon függőségeit tartalmazza más erőforrásokban.

  • Bemenetet használ fel, és kimenetet hoz létre.

  • Felhasználó által hozzárendelt felügyelt identitást használ a hitelesítéshez.

Üzembe helyezéskor az üzembehelyezési szkript PowerShell- vagy Azure CLI-parancsokat és szkripteket futtat. A szkriptfuttatások és a naplózás a Azure Portal vagy az Azure CLI és a PowerShell modulban figyelhető meg. Szkripthiba után testre szabhatja a futtatási környezet változóit, az időtúllépési beállításokat és az erőforrás-kezelést.

Bootstrap AKS-fürtök a GitOps használatával: A GitOps és a Flux v2 fürtbővítmény használatával elindíthat egy újonnan kiépített AKS-fürtöt, ha deklarálja a konfigurációs beállításokat a GitHub-adattárakban. Mivel az AKS-fürtfájlok egy GitHub-adattárban vannak tárolva, verziószámozottak, és a verziók közötti változások könnyen nyomon követhetők. A Kubernetes-vezérlők a fürtökben futnak, és folyamatosan egyeztetik a fürt állapotát a Git-adattárban deklarált kívánt állapottal a fájlok adattárból való lekérésével. További információ: Az AKS alapkonfiguráció referenciaarchitektúrája.

Konfigurációkezelés

Azure Automation State Configuration a Azure Policy vendégkonfigurációs szolgáltatás által felügyelt DSC felügyeleti eszköz, amellyel bármilyen felhőben vagy helyszíni adatközpontban lévő csomópontok PowerShell DSC-konfigurációit írhatja, kezelheti és fordíthatja le. Ezzel az eszközzel DSC-erőforrásokat is importálhat, és konfigurációkat rendelhet a célcsomópontokhoz.

Azure App Configuration egy olyan szolgáltatás, amellyel központilag kezelheti az alkalmazásbeállításokat és a funkciójelölőket. Együttműködik az Azure Key Vault, hogy biztonságosan felügyelhesse a különböző alkalmazáskonfigurációkat a környezetében.

Változáskövetés és leltár

A változáskövetés és a leltározás az Azure Monitoring Agent használatával nyomon követi az operációs rendszer konfigurációs eltérését a virtuális gépeken. Ez automatizálja az eltérés észlelését, a leltárt futtató szolgáltatásokat és a telepített csomagokat a számítási feladat virtuális gépein. A változáskövetés és a leltár által nyomon követett elemek közé tartoznak a következők:

  • Telepített Windows- és Linux-szoftverek
  • Windows- és Linux-kulcsfájlok
  • Windows beállításkulcsok
  • Windows-szolgáltatások és Linux-démonok

Működési kiválósági ellenőrzőlista

Tekintse meg a javaslatok teljes készletét.