Etablera analys i molnskala
Distributionsprocess för landningszon för datahantering
Dataplattformens driftteam ansvarar för att distribuera en landningszon för datahantering. Landningszonen för datahantering bör ha en egen lagringsplats som underhålls av dataplattformens driftteam.
Varning
Skapa och distribuera en landningszon för datahantering innan någon datalandningszon distribueras.
Distributionsprocess för datalandningszon
Teams kan använda mallar som tillhandahålls av dataplattformens driftteam för att undvika att börja från början för varje tillgång. Vi rekommenderar ett förgreningsmönster för att automatisera distributionen av en ny landningszon.
Ett åtgärdsteam för datalandningszoner begär till exempel en ny datalandningszon med hjälp av ett IT-hanteringsverktyg eller Power Apps. När begäran har godkänts startar du följande arbetsflöde med parametrar från begäran:
- Distribuera en ny prenumeration för den nya datalandningszonen.
- Förgrena huvudgrenen för datalandningszonmallen för att skapa en ny lagringsplats.
- Skapa en tjänstanslutning på den nya lagringsplatsen.
- Uppdatera parametrar i den nya lagringsplatsen baserat på parametrar från begäran.
- Skapa en distributionspipeline för att distribuera tjänsterna, som utlöses av incheckningen av de uppdaterade parametrarna.
- Meddela datalandningszonens driftteam att den nya landningszonen är tillgänglig.
Teamet för datalandningszoner kan nu ändra eller lägga till Azure Resource Manager-mallar.
Det här arbetsflödet kan automatiseras med flera tjänstuppsättningar på Azure-plattformen. Hantera några av stegen, till exempel att byta namn på parametrar i parameterfiler, med hjälp av CI/CD-pipelines. Andra steg kan köras med andra verktyg för arbetsflödesorkestrering, till exempel Logic Apps.
Med förgreningsmönstret kan team uppdatera sina mallar från de ursprungliga mallarna som används för att förgrena dem. Om förbättringar eller nya funktioner implementeras i malllagringsplatserna kan åtgärdsteamen också hämta dem till sin förgrening.
Anta metodtips för lagringsplatser, till exempel:
- Skydda huvudgrenen.
- Använd grenar för ändringar, uppdateringar och förbättringar.
- Definiera de kodägare som godkänner pull-begäranden innan du sammanfogar ändringar i huvudgrenen.
- Verifiera grenar via automatiserad testning.
- Begränsa antalet åtgärder och personer i teamet, till exempel vem som kan utlösa bygg- och versionspipelines.
Dricks
Samordna aktiviteter mellan team för att säkerställa att förbättringar eller nya funktioner i de ursprungliga mallarna replikeras i alla instanser av datalandningszoner. Driftteam kan hämta ursprungliga malländringar i sin förgrening.
Registreringsprocessen är separat från distributionsprocessen för datalandningszonen. Den här separationen baseras på antagandet att de flesta organisationer har en standarddistributionsprocess för Azure-prenumerationer som en del av molndriftsmodellen. Registreringsprocessen distribuerar standardföretagskomponenter (till exempel ett hanteringsverktyg för IT-tjänster från tredje part). Datalandningszonspecifika komponenter distribueras härnäst.
Det finns inga Git-API:er tillgängliga för kloning/uppdatering/incheckning/push i den föreslagna automatiseringslösningen. Så vår metod är att använda ett Azure Automation-konto som innehåller PowerShell-runbooks som:
- Konfigurera en datalandningszon
- Förgrena huvudlagringsplatsen till en Git-lagringsplats för dataplattformen
- Konfigurera undernätskonfigurationer för datalandningszonen
- Konfigurera Microsoft Entra-ID
Runbooks använder Git-funktioner från GitAutomation
PowerShell-modulen för att arbeta med Git-lagringsplatser. Genom att installera den här modulen i ett Azure Automation-konto kan användarna utföra åtgärder för att skapa, klona, fråga, skicka, hämta och checka in i Git-lagringsplatser. Följande bild visar modulen GitAutomation
som är installerad i ett Azure Automation-konto:
Copy-GitRepository
Använd funktionen från modulen GitAutomation
för att klona git-huvudlagringsplatsen från url:en som anges av URL
till git-sökvägen för dataplattformen som anges av DestinationPath
.
Den här metoden för distribution av datalandningszoner är flexibel, samtidigt som åtgärder är kompatibla med organisationens krav. Livscykelhantering aktiveras genom att använda nya funktioner eller optimeringar från de ursprungliga mallarna.
Distributionsprocess för dataprogram
När en datalandningszon har skapats kan registrering starta för dataprogramteamen. Dataplattformen eller datalandningszonens driftteam beviljar distributionsgodkännande.
Distributionen sker antingen direkt med DevOps-verktyg eller anropas via pipelines/arbetsflöden som exponeras som API:er. På samma sätt som i datalandningszonen börjar distributionen med att förgrena den ursprungliga dataprogramlagringsplatsen.
- Användaren begär nya dataprogramtjänster.
- Arbetsflödesprocessen begär godkännande från dataplattformen eller datalandningszonens driftteam.
- Arbetsflödet anropar IT-tjänsthanterings-API:et för att skapa nödvändiga resursgrupper och skapa en Azure DevOps-tjänstanslutning. Arbetsflödet tilldelar ett team till Azure DevOps-projektet.
- Arbetsflödet förgrenar den ursprungliga dataprogramlagringsplatsen för att skapa azure DevOps-målprojektet.
- Arbetsflödet skapar en Azure Resource Manager-mallparameterfil och pipelines.
- Arbetsflödet startar sedan en Azure-pipeline för att skapa nätverkskrav och en annan Azure-pipeline för att distribuera dataprogramtjänsterna.
- Arbetsflödet meddelar användaren när det är klart.
Dricks
Om du inte har använt DataOps tidigare läser du det praktiska labbet DataOps för det moderna informationslagret i Azure Architecture Center. Labbets scenario beskriver ett fiktivt stadsplaneringskontor som kan använda den här distributionslösningen. Distributionslösningen tillhandahåller en datapipeline från slutpunkt till slutpunkt som följer det moderna arkitekturmönstret för informationslager, tillsammans med motsvarande DevOps- och DataOps-processer, för att utvärdera parkeringsanvändning och fatta välgrundade affärsbeslut.
Sammanfattning
Ovanstående mönster ger kontroll, flexibilitet, självbetjäning och livscykelhantering av principer.
I början av projektet har dataplattformen ett Azure DevOps-projekt med en eller flera Azure Boards. Enskilda DevOps-team fokuserar på:
- En lagringsplats för landningszonen för datahantering, pipelines och en tjänstanslutning till molnmiljön.
- En malllagringsplats för datalandningszonen, pipelines för att distribuera en datalandningszoninstans och tjänstanslutningar till molnmiljöer.
- En malllagringsplats för dataprodukttjänster, pipelines för att distribuera en dataproduktinstans och tjänstanslutningar till molnmiljöer. Dessa anslutningar förgrenas från datalandningszonen Azure DevOps Projects.
När datalandningszoner har distribuerats föreskriver analys i molnskala att:
- Varje datalandningszon har ett eget Azure DevOps-projekt med en eller flera Azure Boards.
- För varje dataprogram skapas dess azure DevOps-projektförgrening i datalandningszonen efter godkännande av begäran.
- Varje dataprogram innehåller:
- En tjänstanslutning.
- En registrerad pipeline.
- Ett DevOps-team med åtkomst till sin Azure-styrelse och lagringsplats.
- En annan uppsättning principer för den förgrenade lagringsplatsen.
Följ dessa metoder för att styra distributionen av dataprogram:
- Datalandningszonens driftteam äger och skyddar huvudlagringsplatsgrenen.
- Endast huvudgrenen används för att distribuera till test- och produktionsmiljöer.
- Funktionsgrenar kan distribueras till utvecklingsmiljöer.
- Funktionsgrenar ägs av DataOps-teamen. De används för att testa nya eller ändrade funktioner.
- DataOps-team kan slå samman funktionsgrenar till andra funktionsgrenar utan godkännande.
- DataOps-team skapar en pull-begäran för att sammanfoga funktionsgrenar till huvudgrenen, och datalandningszonens driftteam ger godkännande.
- Nya funktioner eller förbättringar av de ursprungliga mallarna sammanfogas till den förgrenade lagringsplatsen för att hålla dem uppdaterade.