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


Felhőalapú elemzések kezelése

Ma a DevOps áttűnte az emberek gondolkodásának és munkájának kultúráját, és felgyorsította a vállalkozások értékmegáltalását azáltal, hogy segít az egyéneknek és szervezeteknek a fenntartható munkagyakorlatok kialakításában és fenntartásában. A DevOps kombinálja a fejlesztést és a műveleteket, és gyakran olyan szoftvermérnöki eszközökhöz van társítva, amelyek támogatják a folyamatos integrációs (CI) és a folyamatos kézbesítési (CD) eljárásokat. Ezek az eszközök és eljárások közé tartoznak a forráskódkezelők (például a Git, az Apache Subversion vagy a Team Foundation verziókövetése), valamint az automatikus build- és kézbesítéskezelők (például az Azure Pipelines vagy GitHub Actions).

A DevOps és a megfigyelhetőség együttes használata kulcsfontosságú egy agilis és méretezhető platform biztosításához. A DevOps lehetővé teszi a csapatok számára a forrásvezérlés, a CI/CD-folyamatok, az infrastruktúra kódként való implementálását, a munkafolyamatokat és az automatizálást. Bár a megfigyelhetőség lehetővé teszi az üzleti tulajdonosok, a DevOps mérnökei, az adatmérnökök, az adatmérnökök és a webhely-megbízhatósági mérnökök számára a problémák automatikus észlelését, előrejelzését, megelőzését és megoldását, és elkerülik az állásidőt, amely egyébként megszakítaná az éles elemzéseket és az AI-t.

Verziókövetés

A forrásvezérlés biztosítja, hogy a kód és a konfigurációk megmaradnak, valamint hogy a változások nyomon legyenek követve és verziószámozva legyenek. A legtöbb forrásvezérlő rendszer beépített folyamatokkal is rendelkezik a kódtár különböző ágaiban való felülvizsgálathoz és munkavégzéshez. Jelenleg a legnépszerűbb forrásvezérlő típus jelenleg a Git, amely egy elosztott verziókövetési rendszer, amely lehetővé teszi az egyének számára, hogy offline működjenek, és szinkronizáljanak a központi adattárakkal. A Git-szállítók általában ágakat is használnak, és követik a lekéréses kérelmekre vonatkozó útmutatást a változási és felülvizsgálati folyamat támogatásához.

Az ágak elkülönítik a módosításokat és a funkciófejlesztéseket anélkül, hogy befolyásolnák az egyidejűleg végzett egyéb munkát. Az ágak használatát elő kell mozdítani a funkciók fejlesztésére, a hibák kijavítására és az új ötletek biztonságos kipróbálására. A lekéréses kérelmek egyesítik az egyik ág módosításait az alapértelmezett ágba, és támogatják a szabályozott felülvizsgálati folyamatot. Biztonsági okokból a fő ágnak lekéréses kérelmeket kell használnia a kód felülvizsgálata érdekében.

Fontos

Kövesse az alábbi irányelveket a felhőalapú elemzési adattárakhoz:

  • Biztonságossá teheti az adattár fő ágát az ágak és lekéréses kérelmek kényszerítésével a szabályozott felülvizsgálati folyamatok biztosítása érdekében.
  • Az Azure DevOps- vagy GitHub-adattárakat a forráskód módosításainak nyomon követéséhez és a kód egyidejű fejlesztéséhez kell használni az Azure DevOps vagy a GitHub-adattárak használatával.
  • Az alkalmazáskódokat és az infrastruktúra-konfigurációkat egy adattárba kell beadni.

CI/CD-folyamatok

A CI lehetővé teszi a csapatok számára a forráskód automatikus tesztelését és összeállítását, valamint lehetővé teszi a gyors iterációkat és visszajelzési hurkokat a magas kódminőség biztosítása érdekében a CD-ben. A folyamatok a módosítások CI-jének (szoftverkód vagy infrastruktúrakód) és a csomagolt/lefordított módosítások CD-jének konfigurálására szolgálnak. Ezt buildelésnek és kiadásnak is nevezik. A CD az alkalmazások egy vagy több környezetben történő automatikus üzembe helyezését ismerteti. A CD általában egy CI-folyamatot követ, és integrációs tesztekkel ellenőrzi a teljes alkalmazást.

A folyamatok több fázist tartalmazhatnak különböző feladatokkal, és egyszerű és összetett jóváhagyási folyamatokkal is rendelkezhetnek a megfelelőség és az ellenőrzés biztosítása érdekében. A beállítások alapján a folyamatok különböző automatikus eseményindítókkal is konfigurálhatók. Nagyvállalati szintű és AI-alapú üzembe helyezés esetén az éles lépéseknek mindig emberi előzetes jóváhagyással kell rendelkezniük, és ez be van építve a műveleti modellbe. A CI-/CD-folyamatokat GitHub Actions vagy Azure Pipelines használatával kell felépíteni, és automatizált eseményindítóknak kell lenniük.

Infrastruktúra mint kód

Az IaC-ben a kód kifejezés gyakran aggályokat vet fel a fejlesztői háttér nélküli informatikai személyzet számára, de az IaC nem hivatkozik a kód írására, ahogyan a tipikus szoftverfejlesztők teszik. Ugyanakkor a szoftverfejlesztési folyamatok számos eszközét és alapelvét alkalmazza az infrastruktúra kiszámítható formátumban történő biztosításához.

Az IaC segít az infrastruktúra kiépítésében, konfigurálásában és felügyeletében egy DevOps-folyamat részeként, teljes körű változásvezérléssel, naplózási előzményekkel, tesztekkel, ellenőrzésekkel és jóváhagyási folyamatokkal, biztosítva, hogy a tevékenységek a biztonság és a megfelelőség veszélyeztetése nélkül delegálhatók a projekt megfelelő szerepköreibe.

Az IaC két megközelítése deklaratív és imperatív:

  • A deklaratív kifejezés az infrastruktúra kívánt állapotának megadására és a vezénylési motor végrehajtására utal a kívánt állapot eléréséhez szükséges műveletek végrehajtásához. Az Azure-ban ez azure Resource Manager-sablonokkal történik. Ehhez a megközelítéshez külső absztrakciós rétegek is elérhetők, például a Terraform.

  • Az imperatív megközelítés adott parancsok meghatározott sorrendben történő végrehajtására vonatkozik. Az Azure esetében ez a parancssori felülettel vagy a PowerShell-lel érhető el, de a natív programozási nyelvű szoftverfejlesztői készletek, például a .NET, a Python és a Java is elérhetők, ha integrált megoldásokra van szükség.

Az Azure Resource Manager-sablonokban az alapvető kiépítés az erőforrások szakaszban található, az egyes erőforrások konfigurációját pedig egy tulajdonságok szakasz határozza meg. Egy Azure Data Lake Storage Gen2 esetében a konfiguráció a következőhöz hasonlóan néz ki:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.MachineLearningServices/workspaces/datastores",
            "name": "[concat(parameters('workspaceName'), '/', parameters('datastoreName'))]",
            "apiVersion": "2020-05-01-preview",
            "location": "[parameters('location')]",
            "properties": {
                "DataStoreType": "adls-gen2",
                "SkipValidation": "[parameters('skipValidation')]",
                "ClientId": "[parameters('clientId')]",
                "ClientSecret": "[parameters('clientSecret')]",
                "FileSystem": "[parameters('fileSystem')]",
                "AccountName": "[parameters('accountName')]",
                "TenantId": "[parameters('tenantId')]",
                "ResourceUrl": "[parameters('resourceUrl')]",
                "AuthorityUrl": "[parameters('authorityUrl')]"
            }
        }
    ]
}

Fontos

A felhőalapú elemzések minden rétegét, például az adatkezelési célzónát, az adat-kezdőzónákat vagy az adatalkalmazásokat (amelyek adattermékeket hoznak létre) deklaratív nyelven kell definiálni, például az Azure Resource Manager vagy a Terraformot, be kell jelentkezni egy adattárba, és CI/CD-folyamatokon keresztül kell üzembe helyezni őket. Így a csapatok nyomon követhetik és verziószámozhatják az Azure-hatókör infrastruktúrájának és konfigurációjának változásait, miközben támogatják a különböző architektúraszintek agilis módon történő automatizálását. Ez az útmutató arra készteti a csapatokat, hogy a Git-adattárakat használva mindig betekintést adjanak az adott Azure-hatókörök állapotába.

Munkafolyamatok és automatizálás

A Teamsnek több fázisban kell CI/CD-folyamatokat használnia annak biztosítása érdekében, hogy a kifejlesztett kód hibák nélkül és éles üzemre kész legyen. Néhány ajánlott eljárás a fejlesztési környezet, a tesztelési környezet és az éles környezet használata. Ezeknek a szakaszoknak az Azure-ban is tükröződniük kell azáltal, hogy minden környezethez külön szolgáltatásokat használnak.

A platformcsapat feladata, hogy üzembehelyezési sablonokat biztosítson és karbantartson, hogy gyorsan méretezhető legyen a szervezeten belül, és egyszerűsítse az IaC-vel nem ismert csapatok üzembe helyezését. Ezek a sablonok a forgatókönyvön belüli új összetevők alapkonfigurációjaként szolgálnak, és az ajánlott eljárásokat és a vállalaton belüli általános szabványokat az idő múlásával fenn kell tartani.

A tesztelési és éles környezetek csak CI/CD-folyamaton és emelt szintű engedélyekkel rendelkező szolgáltatáskapcsolaton keresztül kezelhetők a gyakori ajánlott eljárások (például Az Azure Resource Manager-sablonok) kikényszerítése érdekében.

Figyelemfelhívás

Az adatalkalmazási csapatoknak csak olvasási hozzáféréssel kell rendelkezniük a tesztelési és éles környezetekhez, és az ilyen környezetek üzembe helyezését csak emelt szintű engedélyekkel rendelkező CI-/CD-folyamatokon és szolgáltatáskapcsolatokon keresztül szabad végrehajtani. Az éles környezethez vezető út felgyorsításához az adatalkalmazási csapatoknak írási hozzáféréssel kell rendelkezniük a fejlesztési környezethez.

Következő lépések

Platformautomatizálás