Share via


Javaslatok az automatizálás implementálásához

A Well-Architected Framework Operational Excellence ellenőrzőlistára vonatkozó javaslatra vonatkozik:

OE:09 Automatizálja azokat a feladatokat, amelyek nem élveznek előnyt az emberi beavatkozás betekintéséből és alkalmazkodóképességéből, rendkívül eljárási jellegűek, és olyan eltarthatósági idővel rendelkeznek, amely az automatizálási befektetések megtérülését eredményezi. Ha lehetséges, válassza a polcon kívüli szoftvereket az automatizáláshoz és az egyéni implementációkhoz. Az összes automatizálást ugyanúgy kezelje, mint a számítási feladatok összetevőit, és alkalmazza a Well-Architected Framework alappilléreit a kialakításukra és implementálásukra.

Ez az útmutató az automatizálás számítási feladatban való bevezetésére vonatkozó javaslatokat ismerteti. Automatizálhatja az ismétlődő és az emberi hibákra hajlamos feladatokat, hogy segítsen a csapatok hatékonyságának növelésében és a szabványoknak való megfelelésben. Automatizálhatja a feladatokat, hogy a számítási feladatok zökkenőmentesek és konzisztensek legyenek. Az Automatizálás lehetővé teszi, hogy az üzemeltetési és a mérnöki csapatok hatékonyabbak legyenek, mivel több időt ad nekik arra, hogy más fejlesztéseken dolgozzanak. Az Automatizálás a számítási feladatok kezelésének minden területén hatékony eszköz. Az automatizálás átgondolt implementálása a szervezet hatékonyabbá tételéhez.

Kulcsfontosságú tervezési stratégiák

A számítási feladatok fejlesztése során keressen lehetőségeket az automatizálás előnyeinek kihasználására a felügyeleti terhek csökkentése és az emberi hibák minimalizálása érdekében. Értékelje ki ezeket a lehetőségeket, és vegye figyelembe, hogy az általuk a szervezet számára hozott érték. Az automatizálási befektetés értékének maximalizálása érdekében rangsorolja az egyszerű, procedurális és hosszú eltarthatósági idővel rendelkező feladatokat. Az automatizálás alkalmazása nem minden vagy semmi taktika. Vannak olyan munkafolyamatok, amelyek emberi beavatkozást igénylő műveleteket, például döntéshozatali pontokat igényelnek. Ezek a munkafolyamatok továbbra is kihasználhatják az automatizálás előnyeit, ha más feladatokat hajtanak végre.

Az automatizálandó feladatok megcélzása

Vegye figyelembe az alábbi javaslatokat annak érdekében, hogy az automatizálás által leginkább előnyös feladatokat rangsorolja:

  • Törekedjen az egyszerű győzelemre. Olyan feladatokra összpontosítson, amelyek rendkívül eljárási jellegűek, és érzékenyek az emberi hibákra. Ezek a feladatok rendkívül automatizáltak. Egyértelműen vannak definiálva, mentesek az összetettséghez kapcsolódó változóktól, és a normál műveletek részeként hajtják végre őket. Ezzel szemben ne rangsorolja az olyan feladatok automatizálását, amelyek összetett szkriptek írását igénylik a változó jelenségek vagy ritkán előforduló feladatok figyelembe vételéhez.

    A rendkívül automatizálható feladatok közé tartozik a kiszolgálók újraindítása, a fiókok létrehozása és a naplók adattárba való átvitele. Ezek a feladatok ütemezés szerint, eseményre vagy monitorozási riasztásra adott válaszként vagy szükség szerint külső tényezők alapján fordulhatnak elő.

  • Keressen lehetőségeket a piaci szereplők segítésére és a kkv-k felszabadítására. Előfordulhat, hogy a szervezet olyan szakértőire támaszkodik, amelyek szükségtelen eszkalációkra támaszkodnak. Előfordulhat például, hogy az adatbázisgazdák rutinszerűen új adatbázisok létrehozására vonatkozó kéréseket kapnak, amikor új ügyfeleket léptet be a több-bérlős megoldásba. Ha önkiszolgáló portált hoz létre az ügyfélszolgálati csapat számára, engedélyezheti számukra, hogy maguk is biztonságosan hozzanak létre egy üres adatbázist. Vagy köztes lépésként automatizálhatja a kéréseket és az SME végrehajtásának lépéseit a futtatandó szkriptek létrehozásával.

  • Koncentráljon a befektetés megtérülésére. A nagy értékű automatizálás minimális felügyeleti többletterhelést igényel, és bizonyítható hatékonyságot eredményez. Ha például az adatbázis-bejegyzések automatizálásával naponta egy órát takaríthat meg az üzemeltetési csapatnak, akkor időt ad nekik arra, hogy más fejlesztési területeket keressenek.

Az automatizálás implementálandó területei

Az automatizálás bevezetése a számítási feladatok teljes életciklusában, a fejlesztéstől a napi felügyeletig. Az alábbi példák segítségével áttekintheti a számítási feladatok életciklusának azon tág területeit, amelyek kihasználhatják az automatizálás előnyeit. Automatizálhatja a következőket:

  • Folyamatdefiníció, -végrehajtás és -kezelés: Folyamatos integrációs és folyamatos teljesítésű (CI/CD) eszközök, például az Azure DevOps és más DevOps-eszközök használatával automatikusan definiálhat egy folyamatot és annak futását. Ezekkel az eszközökkel automatizálhatja a CI-/CD-feladatokat és más feladatokat, például a jelentések létrehozását.

  • Üzembe helyezés: Olyan eszközökkel, mint az Azure Resource Manager-sablonok, a Bicep, a Terraform és az Ansible, automatizálhatja a számítási feladatok fejlesztési és kiadási folyamatait. Az infrastruktúrát ugyanazokkal az automatizálási platformokkal helyezheti üzembe és frissítheti kódként (IaC) használt infrastruktúrával.

  • Tesztelés: Számos eszköz áll rendelkezésre a tesztelési folyamatok automatizálásához. Ezek az eszközök jelentős terhet róhatnak a minőségbiztosítási csapatra, és gondoskodhatnak arról, hogy a tesztek szabványosak és megbízhatóak legyenek.

  • Skálázás: A platform által biztosított funkciók és egyéb eszközök, például a vezénylési eszközök használatával automatikusan skálázhatja az infrastruktúrát a terhelés növekedése vagy csökkenése esetén.

  • Figyelés és riasztás: A monitorozási megoldásban elérhető eszközökkel automatikusan regisztrálhatja az újonnan üzembe helyezett erőforrásokat, és riasztás által aktivált műveleteket konfigurálhat a problémák elhárításának felgyorsítása érdekében.

  • Önjavítás: A monitorozási rendszer által generált riasztások használatával automatizálhatja a műveleteket, és helyreállíthatja a hibásan működő összetevőket vagy feladatokat. További információ: Javaslatok az önjavításhoz és az önmegőrzéshez.

  • Konfigurációkezelés: Vezénylési és szabályzatkezelési eszközökkel gondoskodhat arról, hogy az összes erőforrás ugyanazt a konfigurációt futtassa, és hogy a megfelelőségi követelmények érvényesüljenek a számítási feladatban.

  • Egyéb felügyeleti feladatok: Szkriptekkel automatizálhatja az ismétlődő feladatokat, például az adatbázisrekordok vagy a DNS-rekordok frissítését.

  • Jóváhagyások: Lehetővé teszi, hogy a rendszerek automatikusan, előre meghatározott szabályok alapján hozzanak jóváhagyási döntéseket a jóváhagyási kapukkal rendelkező munkafolyamatok hatékonyságának növelése érdekében. Ez a módszer a szabványosított űrlapok és sablonok használatát ösztönzi, ami növeli a folyamatok hatékonyságát. Az automatikus jóváhagyás nagy környezetekben kockázatos lehet. Az automatikus jóváhagyások szigorú összpontosítása és tesztelése annak biztosítása érdekében, hogy meghatározott feltételek legyenek meghatározva a jóváhagyás megadásához.

  • Új felhasználó és új alkalmazott előkészítése: Az új alkalmazásfelhasználók vagy új alkalmazottak előkészítésével kapcsolatos számos feladatot automatizálhat, például adatbázis-frissítéseket és hitelesítő adatok létrehozását.

  • Monitorozás és riasztás: Használja ki a megfigyelhetőségi platform által biztosított automatizálási funkciókat. Új eszközök automatikus regisztrálása az anomáliák monitorozásához és riasztásához.

Megfelelő automatizálási eszköz kiválasztása

A saját, házon belüli automatizálás fejlesztése időigényes, és felügyeleti terhet róhat a fejlesztői csapatra. Olyan belső automatizálási eszközt kell fenntartaniuk, mint bármely más belső szoftvert. Javasoljuk, hogy mindig használja a polcon kívüli eszközöket, amikor azok megfelelnek az Igényeinek. A kereskedelmi, a nyílt forráskód és a felhőplatform által biztosított eszközök között számos lehetőség áll rendelkezésre. Valószínű, hogy számos különböző eszközt fog használni a szükséges automatizálás létrehozásához. Támaszkodjon a saját belső szakértelmére, hogy segítsen a döntések irányításában az eszközök kiértékelésekor. Előfordulhat, hogy a csapata jobban ismeri bizonyos fejlesztési nyelveket és keretrendszereket. Kezdetben azokra a használatra kész eszközökre összpontosíthat, amelyeket magas tanulási görbe nélkül használhatnak. Tükrözze az automatizálással kezelni kívánt feladatokat, és fektesse be azokat az eszközöket, amelyek kifejezetten meg tudják kezelni ezeket a feladatokat. Ne szerezzen be olyan eszközöket, amelyeket általában előnyben részesít, majd utána vegye figyelembe a feladatokat.

Vegye figyelembe azokat a tényezőket, amelyek megnehezíthetik a műveleteket az automatizálás létrehozásakor, például a verziózárolás és a beépülő modul túlhasználása esetén. Az olyan beépülő modulok, mint a Jenkins vagy az Azure DevOps beépülő modulok, nagyszerű lehetőséget kínálnak a funkciók hozzáadására. Akkor érdemes beépülő modulokat alkalmaznia, ha az az automatizálási célok szempontjából előnyös. Ha azonban több beépülő modult használ egyetlen feladat végrehajtásához, az megnehezítheti az automatizálási frissítéseket és a hibaelhárítást. Legyen megfontolt a beépülő modulok használata során. Kerülje azokat a megoldásokat is, amelyek keretrendszerverzió-függőségekkel rendelkeznek, mert azokat az idő múlásával fenn kell tartani. Az ilyen típusú problémák kockázatának minimalizálása érdekében szabványosítsa az automatizálási eszközök és beépülő modulok kiválasztását, és használja a verziókövetést minden automatizálási projekthez.

Automatizálás integrálása a számítási feladatba

Minden olyan eszköz esetében, amelyet az automatizálás létrehozásához használ, tegye könnyen elérhetővé és kezelhetővé az operátorok számára. Világos és könnyen használható felületeket biztosít a számítási feladatokért felelős csapat számára. Hozzáférést biztosíthat a CI/CD-folyamatokhoz, API-khoz és kódtárakhoz. Az automatizálás által támogatott számítási feladatokhoz hasonlóan holisztikusan kell kezelnie az automatizálást. Az automatizálás biztonságossá tétele ugyanolyan mértékben, mint a többi számításifeladat-összetevő. Monitorozza az automatizálást, és ugyanazokat a tesztelési protokollokat használja, mint más számításifeladat-összetevők.

Megfontolandó szempontok

  • Előfordulhat, hogy az automatizálásból származó hatékonyság meghaladja a saját megoldás fejlesztésének felügyeleti terheit, ha nem felelnek meg a követelményeknek megfelelő, elavult megoldások. Ezekben az esetekben legyen megfontolt a fejlesztési erőfeszítésekben. Koncentráljon arra, hogy csak azokat a hiányosságokat fejlesshesse ki, amelyekre szüksége van, amelyeket nem tud megoldani a felesleges megoldásokkal, és minimalizálja az olyan összetettségeket, mint a függőségek.

  • A magas szintű karbantartást igénylő összetett automatizálás nehézkes lehet az üzemeltetési csapatok számára a felügyelethez és a hibaelhárításhoz. Tartsa az automatizált feladatokat szigorúan arra összpontosítva, hogy csak különálló feladatokat hajtson végre. Próbálja meg minimalizálni a más eszközökkel vagy összetevőkkel kapcsolatos függőségeket.

  • Legyen figyelmes a manuális folyamatok használatára. Ha úgy dönt, hogy nem automatizál egy műveletet, alaposan dokumentálja a manuális folyamatot az operátorok részletes ellenőrzőlistája létrehozásával. Ez a gyakorlat csökkenti az emberi hibák esélyét, például ha egy operátor tévesen nem a megfelelő folyamatot futtatja. Ez a dokumentáció segít a folyamat automatizálásának megtervezésében is a jövőben.

  • Ha hibrid manuális és automatizált megközelítést használ, különösen óvatosnak kell lennie. Ha egy szkript egy folyamat nagy részét futtatja, de egy adott részre vagy döntésre hivatkozik, fontos, hogy a megfelelő kontextust és információt adja meg a személynek a megalapozott döntés meghozatalához.

Azure-beli segítségnyújtás

Az Azure számos eszközt kínál a számítási feladatok automatizálásához.

IaC-eszközök: Használhatja a Terraform, a Bicep és az Azure Resource Manager IaC-környezetekhez. A követelményektől és a csapat eszközökkel való jártasságától függően ezek közül az eszközök közül egy vagy több használható az erőforrások üzembe helyezéséhez és kezeléséhez.

Azure Functions: a Azure Functions egy kiszolgáló nélküli eszköz, amellyel automatizálhatja a feladatokat az előnyben részesített fejlesztési nyelv használatával. A Functions eseményvezérelt eseményindítók és kötések átfogó készletét biztosítja, amelyek összekapcsolják a függvényeket más szolgáltatásokkal. Nem kell külön kódot írnia.

GitHub Actions az Azure-hoz: Az Azure-hoz készült GitHub Actions használatával automatizálhatja a CI/CD-folyamatokat. GitHub Actions integrálható az Azure-ral az üzembe helyezés egyszerűsítése érdekében. Létrehozhat olyan munkafolyamatokat, amelyek az adattárban minden lekéréses kérelmet létrehoznak és tesztelnek, vagy egyesített lekéréses kérelmeket helyeznek üzembe éles környezetben.

GitHub Actions túlmutat a DevOpson, és lehetővé teszi munkafolyamatok futtatását, amikor más események történnek az adattárban. Futtathat például egy munkafolyamatot a megfelelő címkék automatikus hozzáadásához, amikor valaki új problémát hoz létre az adattárban.

Azure Automation: A PowerShell és a Python népszerű programozási nyelvek az üzemeltetési feladatok automatizálásához. Ezekkel a nyelvekkel olyan műveleteket hajthat végre, mint a szolgáltatások újraindítása, a naplók adattárak közötti átvitele és az infrastruktúra skálázása az igényeknek megfelelően. Ezeket a műveleteket kódban fejezheti ki, és igény szerint futtathatja őket. Ezek a nyelvek önmagukban nem kínálnak platformot a központi felügyelethez, a verziókövetéshez vagy a futtatási előzményekhez. A nyelvek nem rendelkeznek natív mechanizmussal az olyan eseményekre való reagáláshoz, mint a figyelési alapú riasztások. Ezeknek a képességeknek a biztosításához szüksége van egy automatizálási platformra.

Az Automation egy Azure-ban üzemeltetett platformot biztosít a PowerShell- és Python-kód felhőbeli és helyszíni környezetekben történő üzemeltetéséhez és futtatásához, mind az Azure-ban, mind pedig a nem Azure-ban. A PowerShell- és Python-kódot egy Automation-runbook tárolja. Az Automation használatával:

  • Runbookok aktiválása igény szerint, ütemezés szerint vagy webhookon keresztül.

  • Futtassa az előzményeket és a naplózást.

  • Titkos kódtár integrálása.

  • A forrásvezérlés integrálása.

Azure Frissítéskezelő: Az Update Manager egy egységes szolgáltatás, amely segít a virtuális gépek frissítéseinek kezelésében és szabályozásában. A Windows és a Linux frissítési megfelelőségét a számítási feladat teljes területén figyelheti. Az Update Managerrel valós idejű frissítéseket is készíthet, vagy ütemezheti őket egy meghatározott karbantartási időszakon belül. Használja az Update Managert a következőkhöz:

  • A teljes gépflottán felügyelheti a megfelelőséget.
  • Ismétlődő frissítések ütemezése
  • Kritikus frissítések üzembe helyezése

Azure-beli üzembehelyezési környezetek: Az üzembehelyezési környezetek lehetővé teszik a fejlesztői csapatok számára, hogy projektalapú sablonok használatával gyorsan konzisztens alkalmazásinfrastruktúrát hozzanak létre. Ezek a sablonok minimalizálják a beállítási időt, és maximalizálják a biztonságot, a megfelelőséget és a költséghatékonyságot. Az üzembehelyezési környezet olyan Azure-erőforrások gyűjteménye, amelyek előre meghatározott előfizetésekben vannak üzembe helyezve. A fejlesztési infrastruktúra rendszergazdái kikényszeríthetik a vállalati biztonsági szabályzatokat, és előre meghatározott IaC-sablonok válogatott készletét biztosíthatják.

A fejlesztési infrastruktúra rendszergazdái katalóguselemekként határozzák meg az üzembehelyezési környezeteket. A katalóguselemek egy GitHub- vagy Azure DevOps-adattárban, úgynevezett katalógusban találhatók. A katalóguselem egy IaC-sablonból és egy manifest.yaml fájlból áll.

Szkriptelheti az üzembehelyezési környezetek létrehozását, és programozott módon kezelheti a környezeteket.

Azure Logic Apps és Microsoft Power Automate: Ha egyéni digitális folyamatautomatizálást (DPA) hoz létre a számítási feladatok, például a jóváhagyási folyamatok vagy a ChatOps-integrációk létrehozásához, fontolja meg a Logic Apps vagy a Power Automate használatát. Munkafolyamatokat beépített összekötőkből és sablonokból hozhat létre. A Logic Apps és a Power Automate ugyanarra a mögöttes technológiára épülnek, és jól használhatók triggeralapú vagy időalapú feladatokhoz is.

Automatikus skálázás: Számos Azure-technológia rendelkezik beépített automatikus skálázási képességekkel. Más szolgáltatásokat is programozhat automatikus skálázásra API-k használatával. További információ: Javaslatok a megbízható skálázási stratégia kialakításához.

Azure Monitor-műveletcsoportok: Ha automatikusan önjavító műveleteket szeretne futtatni riasztás aktiválásakor, használja az Azure Monitor műveleti csoportjait. Ezeket a műveleteket runbook, Azure-függvény vagy webhook használatával határozhatja meg.

Példa

Ha az Automationt más Azure-szolgáltatásokkal együtt használja, tekintse meg az Ops automation by using Azure Event Grid című témakört. Ez a példa a Logic Apps és az Event Grid használatával automatizálja az üzemeltetési feladatokat.

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

Tekintse meg a javaslatok teljes készletét.