Framgångsmetod för Synapse-implementering: Utvärdera lösningsutvecklingsmiljödesign
Kommentar
Den här artikeln är en del av azure Synapse-implementeringen genom att designa artiklar. En översikt över serien finns i Azure Synapse-implementeringen lyckades avsiktligt.
Lösningsutveckling och den miljö där den utförs är nyckeln till projektets framgång. Oavsett vilken projektmetod du har valt (t.ex. vattenfall, agil eller Scrum) bör du konfigurera flera miljöer för utveckling, testning och produktion. Du bör också definiera tydliga processer för att främja ändringar mellan miljöer.
Det kan vara komplext att konfigurera en modern informationslagermiljö för både produktion och förproduktion. Tänk på att ett av de viktigaste designbesluten är automatisering. Automatisering bidrar till att öka produktiviteten samtidigt som risken för fel minimeras. Dessutom bör dina miljöer stödja framtida flexibel utveckling, inklusive tillägg av nya arbetsbelastningar, till exempel datavetenskap eller realtid. Under designgranskningen skapar du en lösningsutvecklingsmiljödesign som stöder din lösning, inte bara för det aktuella projektet utan även för löpande support och utveckling av din lösning.
Design av lösningsutvecklingsmiljö
Miljödesignen bör innehålla produktionsmiljön, som är värd för produktionslösningen och minst en icke-produktionsmiljö. De flesta miljöer innehåller två icke-produktionsmiljöer: en för utveckling och en annan för testning, kvalitetssäkring (QA) och UAT (User Acceptance Testing). Vanligtvis finns miljöer i separata Azure-prenumerationer. Överväg att skapa en produktionsprenumeration och en icke-produktionsprenumeration. Den här separationen ger en tydlig säkerhetsgräns och avgränsning mellan produktion och icke-produktion.
Helst bör du upprätta tre miljöer.
- Utveckling: Den miljö där dina data- och analyslösningar skapas. Ta reda på om du vill tillhandahålla sandbox-miljöer för utvecklare. Sandbox-miljöer kan göra det möjligt för utvecklare att göra och testa sina ändringar isolerat, medan en delad utvecklingsmiljö kommer att vara värd för integrerade ändringar från hela utvecklingsteamet.
- Test/QA/UAT: Den produktionsliknande miljön för att testa distributioner innan de släpps till produktion.
- Produktion: Den slutliga produktionsmiljön.
Synapse-arbetsytor
För varje Synapse-arbetsyta i din lösning bör miljön innehålla en produktionsarbetsyta och minst en icke-produktionsarbetsyta för utveckling och testning/QA/UAT. Använd samma namn för alla pooler och artefakter i olika miljöer. Konsekvent namngivning underlättar befordran av arbetsytor till andra miljöer.
Att befordra en arbetsyta till en annan arbetsyta är en process i två delar:
- Använd en Azure Resource Manager-mall (ARM-mall) för att skapa eller uppdatera arbetsyteresurser.
- Migrera artefakter som SQL-skript, notebook-filer, Spark-jobbdefinitioner, pipelines, datauppsättningar och dataflöden med hjälp av Azure Synapse-verktyg för kontinuerlig integrering och leverans (CI/CD) i Azure DevOps eller på GitHub.
Azure DevOps eller GitHub
Se till att integreringen med Azure DevOps eller GitHub är korrekt konfigurerad. Utforma en repeterbar process som släpper ut ändringar i utvecklings-, test-/QA/UAT- och produktionsmiljöer.
Viktigt!
Vi rekommenderar att känsliga konfigurationsdata alltid lagras säkert i Azure Key Vault. Använd Azure Key Vault för att underhålla en central och säker plats för känsliga konfigurationsdata, till exempel databas anslutningssträng. På så sätt kan lämpliga tjänster komma åt konfigurationsdata från varje miljö.
Nästa steg
I nästa artikel i Azure Synapse success by design series får du lära dig hur du utvärderar ditt team med kvalificerade resurser som implementerar din Azure Synapse-lösning.