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


A DevOps megfontolandó szempontjai

Ez a cikk megfontolandó szempontokat és javaslatokat tartalmaz az Azure-beli kezdőzónákban található DevOpshoz.

Mi az a DevOps?

A DevOps az emberek, folyamatok és technológiák egyesülése, amely folyamatos értéket biztosít a fejlesztés (fejlesztés) és a műveletek (ops) számára. A DevOps-megközelítés olyan csapatmunkát ösztönöz, amely megismételhető folyamatokat hoz létre a szervezetek hatékony és nagy léptékű működésének elősegítése érdekében.

Az Azure-beli célzónák kontextusában a DevOps lesz az a keretrendszer, amely az Azure-beli célzónák teljes életciklus-felügyeletéért felelős csapatát (vagy csapatait) irányítja az olyan területeken, mint például:

  • Határok önszerveződése és meghatározása más csapatokkal az autonómia és az irányítás közötti megfelelő egyensúly elérése érdekében
  • Az Azure célzóna architektúrájának folyamatos fejlesztése (Conway törvénye)
  • A tervezett architektúra megtervezése, rangsorolása és iterálása
  • Verziókövetés, folyamatos integráció és folyamatos üzembe helyezés megvalósítása az Azure-beli célzónakódhoz
  • Az Ön tulajdonában lévő rendszerek és platformok incidenseinek üzemeltetése és megválaszolása
  • Az Azure-beli célzóna kiépítésére és önjavítására alkalmazott automatizálási szint
  • A szervezet más csapataival való együttműködés agilis, eredményorientált módon
  • A biztonság, a minőség, a felhasználóközpontúság és a folyamatos tanulás generatív kultúrájának létrehozása

A felhőbeli üzemeltetési modellek áttekintésekor hozott döntések befolyásolhatják a DevOps-keretrendszer használatát.

A DevOps tervezési szempontjai

  • Definiálja a DevOps-keretrendszert, vagy igazodjon a szervezet DevOps- és felhőbevezetési stratégiájához. Adja meg a DevOps definícióját, valamint a csapat által követendő alapelveket és gyakorlatokat. Győződjön meg arról, hogy a DevOps-stratégiát az üzleti stratégiához csatlakoztatja.

  • Olyan metrikákat hozhat létre, amelyek lehetővé teszik a csapat számára a DevOps teljesítményének javítását. A nagy teljesítményű csapatok hipotézist használnak az elképzeléseik teszteléséhez, a hipotézis működésének megtekintéséhez, majd szükség szerint módosításokat hajtanak végre. A DevOps végső szándéka az olyan szempontok javítása, mint az üzembe helyezés gyakorisága, a változás alkalmazásának átlagos ideje vagy a csökkentett teljesítményű szolgáltatások visszaállításának ideje. Ezeket a metrikákat úgy kell megterveznie, hogy végül hatással legyenek az általános üzleti teljesítményre.

  • Határozza meg, hogy a csapatnak milyen DevOps-gyakorlatokat kell először implementálnia a jelenlegi jártasságuk alapján, és tervezzen egy ütemtervet az új eljárások növekményes alkalmazásához, amelyek segítenek a csapatnak a DevOps-metrikák fejlesztésében. A mérnöki képességekbe és erőforrásokba való befektetés kritikus fontosságú.

  • Határozza meg, hogy a csapat milyen DevOps-eszközláncot használjon a DevOps-eljárások implementálásához. Győződjön meg arról, hogy az eszközök összhangban vannak az általános DevOps-stratégiával, hogy elkerülje a heterogén DevOps-ökoszisztémák forgatókönyveit, amelyek növelik az Azure célzóna vagy számítási feladatok üzembe helyezésének összetettségét.

  • Értékelje ki, hogy a implementált DevOps-gyakorlatok és a DevOps-eszközök milyen hatással vannak az Azure Landing Zones kialakítására.

  • Hozzon létre egy felkészültségi tervet, amely folyamatosan fejleszti a csapat készségeit. A DevOps-modellek általános alkalmazása nem hoz létre azonnal alkalmas DevOps-csapatokat.

  • Határozza meg a szervezet DevOps-stratégiájához és felhőalapú üzemeltetési modelljéhez legjobban illeszkedő csapattopológiát , és hozzon létre egyértelmű határokat, felelősségeket és függőségeket a csapatok között.

  • Annak meghatározása, hogy az Azure Landing Zonesért felelős csapat hogyan működjön együtt a szervezet más csapataival az Azure Landing Zone új követelményeinek rögzítéséhez a tervezés és a megvalósítás frissítéséhez, az incidensek megoldásához, a függőségek minimalizálásához és az üzleti prioritásokhoz való igazodáshoz.

DevOps-javaslatok

A következő szakaszok javaslatokat tartalmaznak a DevOps-keretrendszer szervezeten belüli implementálásához.

A DevOps-keretrendszer definiálása

A DevOps-keretrendszer létrehozásához fontolja meg a már elérhető keretrendszerek használatát az előre meghatározott bevált eljárások halmazával való kezdéshez:

DevOps-eljárások definiálása az Azure-beli kezdőzónák kezeléséhez

Vegye figyelembe az azure-beli kezdőzónákhoz tartozó alábbi DevOps-gyakorlatokat:

A DevOps implementálási folyamatának megtervezása

A DevOps-megvalósítási folyamat definiálása és igazítása a szervezet felhőbevezetési tervével.

  • Határozza meg, hogy a csapat hol van ma a következő területeken:
  • A szervezet felhőbevezetési tervének használatával határozzon meg egy kívánt modellt a csapat számára.
  • Iteratív ütemterv létrehozása a kívánt modell iteratív és növekményes módban való megvalósításához, amely igazodik a szervezet átalakítási ütemtervéhez.

A kívánt DevOps-metrikák implementálása

Határozza meg, hogy mely metrikákat fogja használni a csapat DevOps-teljesítményének méréséhez. Metrikákkal a csapatában az üzleti eredményekhez kapcsolódó kívánt szokásokat hozhatja létre. Metrikákat hozhat létre, amelyek lehetővé teszik a csapat számára a tevékenységekre gyakorolt hatás mérését. A főbb metrikákat mindenki számára láthatóvá teheti, mivel az átláthatóság elősegíti a megbízhatóságot, és elősegíti a szervezeti célkitűzésekhez való igazodást.

Példák a DevOps teljesítményének az üzleti hatás javítása érdekében történő mérésére szolgáló metrikákra:

  • Üzleti eredmények:

    • A célkitűzések és a kulcseredmények eszközként való használatával a csapatokat elmozdíthatja a "kimeneti" gondolkodásmódtól és az "eredmény" gondolkodásmód felé. Használhatja például azOknak a számítási feladatoknak a számát, amelyek javították a megfelelőségi minősítésüket az Azure-ban üzembe helyezett szabályzatok számával szemben.
    • Ügyfél- vagy végfelhasználói elégedettség. Ilyenek például a Net Promoter Score (NPS), a felmérések, az interjúk.
    • Üzleti növekedés. Ilyenek például a megnövekedett jövedelmezőség, a megnövekedett bevétel és az új bevételi forrásbeszerzések.
    • Kapcsolatok metrikákat. Ilyen például az alkalmazottak nettó előléptetési pontszáma (eNPS), a kihasználtság, a megőrzés és az elégedettség.
    • Költségek. Használhatja például a költségek csökkentését.
  • Szoftverkézbesítési teljesítmény:

    • A változás átfutási ideje, a hibajavításhoz, az új funkcióhoz vagy bármilyen más változáshoz szükséges idő, hogy az ötlettől az üzembe helyezésig éles környezetbe lépjen.
    • Az üzembe helyezés gyakorisága, az üzemelő kód napi üzemelő példányai éles környezetben változnak.
    • A visszaállítás átlagos ideje, az incidens bekövetkezése után a szolgáltatás éles környezetben való visszaállításához szükséges idő.
    • A sikertelenségi százalékérték módosítása, a hibához vezető éles módosítások százalékos aránya (például konfigurációs változások).
  • Minőségű:

    • A hibák elhárításának sebessége, a végfelhasználók által azonosított hibák száma.
    • Nem tervezett munka vagy átdolgozás, a nem tervezett munka vagy átdolgozás során eltöltött idő százalékos aránya.
    • Aktív hibák, a még nem javított hibák száma.
    • Code Health, a nem egységtesztelt kód százalékos aránya.

A DevOps-technológiai ökoszisztéma meghatározása

Az Azure Landing Zones életciklusának kezeléséhez választott DevOps-eszközlánc a következőket érinti:

  • A DevOps alapelveinek és gyakorlatainak implementálási stratégiái
  • A DevOps életciklusával kapcsolatos biztonsági szempontok
  • Az Azure Landing Zones életciklus-felügyeletének általános architektúrája

Használja a korábban definiált DevOps-keretrendszert az egyes DevOps-folyamatokhoz használandó eszközök azonosításához. Válassza ki a csapatok igényeinek leginkább megfelelő DevOps-technológiákat, de olyan egyensúlyt talál, amely lehetővé teszi a szervezeten belüli szabványosítást, de elkerülheti a túl sok összetettséget vagy heterogenitást a DevOps-ökoszisztémákban.

A Különböző DevOps-fázisokban található DevOps-technológiák például a következők:

  • Tervezés: Atlassian Jira, Atlassian Trello, Azure Boards, GitHub
  • Folyamatos integráció (CI) és tesztelés: Atlassian Bitbucket, Azure Repos, GitHub-adattárak, npm, NuGet, Szelén, SmartBear Uborka, SonarSource SonarQube, Zed Attack Proxy
  • Folyamatos teljesítés (CD): Atlassian Bambusz, Azure Pipelines, GitHub Actions, Jenkins, Octopus Deploy, Perforce Puppet, RedHat Ansible
    • Infrastruktúra kódként: Bicep, Pulumi, Terraform
    • Bootstrapping: ArgoCD GitOps, Flux GitOps, Progress Chef, PowerShell Desired State Configuration (DSC)
  • Műveletek: Azure Automation, Azure Monitor, CISCO Splunk, Grafana, Microsoft Power BI
  • Együttműködés és visszajelzés: Atlassian Confluence, Azure DevOps Wikik, GitHub-vitafórumok, GitHub-wikik, Microsoft Teams, Slack, Stack Overflow

Az alábbi ábra egy példa DevOps-keretrendszert mutat be az Azure DevOps eszközlánc kiválasztásával:

A DevOps-keretrendszer diagramja az Azure DevOps eszközlánc kiválasztásával.

Az alábbi ábra egy példa DevOps-keretrendszert mutat be az Azure DevOps és a GitHub eszközlánc kiválasztásával:

A DevOps-keretrendszer diagramja az Azure DevOps és a GitHub eszközlánc kiválasztásával.

Következő lépés