Azure Pipelines-arkitektur för IaaS
Viktigt
CI/CD för IaaS-program är en variant av Utforma en CI/CD-pipeline med Azure DevOps. Den här artikeln fokuserar på information om hur du distribuerar webbprogram till Azure Virtual Machines.
Azure Virtual Machines är ett alternativ för att vara värd för anpassade program när du vill ha flexibel och detaljerad hantering av din beräkning. Virtuella datorer (VM) bör omfattas av samma tekniska stringens som PaaS-erbjudanden (Platform-as-a-Service) under hela utvecklingslivscykeln. Implementera till exempel automatiserade bygg- och versionspipelines för att skicka ändringar till de virtuella datorerna.
I den här artikeln beskrivs ett DevOps-arbetsflöde på hög nivå för distribution av programändringar till virtuella datorer med hjälp av metoder för kontinuerlig integrering (CI) och kontinuerlig distribution (CD) med hjälp av Azure Pipelines.
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Dataflöde
Det här avsnittet förutsätter att du har läst baslinjearkitekturen för Azure Pipelines och endast fokuserar på detaljerna i att distribuera en arbetsbelastning till Azure Virtual Machines.
PR-pipeline - Samma som baslinjen
CI-pipeline – Samma som baslinjen, förutom att de byggartefakter som skapats för att distribuera en webbapp till IaaS är ett webbdistributionspaket
CD-pipelineutlösare - Samma som baslinjen
CD-version till mellanlagring – Samma som baslinjen med 2 undantag: 1) byggartefakten som laddas ned är webbdistributionspaketet och 2) paketet distribueras till en mellanlagringsdator i Azure Virtual Machine.
CD-version till produktion – samma som baslinjen med 2 undantag:
a. Versionen till produktion görs genom att uppdatera Azure Traffic Manager för att växla mellanlagring och produktion. Den här strategin kan uppnås genom att ha en Traffic Manager-profil med två slutpunkter, där produktion är aktiverat och mellanlagring är inaktiverat. Om du vill växla mellanlagring och produktion inaktiverar du produktion och aktiverar mellanlagring.
b. En återställning kan utföras genom att uppdatera Azure Traffic Manager för att växla tillbaka produktion och mellanlagring.Övervakning - samma som baslinjen
Komponenter
I det här avsnittet förutsätter vi att du har läst avsnittet azure pipelines baseline architecture components (Azure Pipelines-baslinjearkitekturkomponenter) och endast fokuserar på detaljerna för att distribuera en arbetsbelastning till Azure Virtual Machines.
Azure Virtual Machines tillhandahålla en säker och virtualiserad infrastruktur på begäran med hjälp av Windows- eller Linux-servrar. Virtual Machines används i den här arkitekturen som värd för arbetsbelastningar.
Virtual Machine Scale Sets kan du skapa och hantera en grupp med identiska belastningsutjämnings-VM:ar. Antalet VM-instanser kan automatiskt öka eller minska som svar på efterfrågan eller ett definierat schema. Skalningsuppsättningar kan också användas som värd för arbetsbelastningar.
Azure Traffic Manager är en DNS-baserad lastbalanserare för trafik som du kan använda för att distribuera trafik till konfigurerade slutpunkter. I den här arkitekturen är Traffic Manager den enda startpunkten för klienter och konfigureras med flera slutpunkter, som representerar den virtuella produktionsdatorn och den virtuella mellanlagringsdatorn. Slutpunkten för den virtuella produktionsdatorn är aktiverad och mellanlagring är inaktiverad.
Alternativ
Den här artikeln fokuserar på användningen av Azure Traffic Manager som lastbalanserare. Azure erbjuder olika alternativ för belastningsutjämning som du kan överväga.
Överväganden
Det här avsnittet förutsätter att du har läst avsnittet om överväganden i baslinjearkitekturen för Azure Pipelines och fokuserar bara på de överväganden som är specifika för distribution av en arbetsbelastning till Azure Virtual Machines.
Driftseffektivitet
Eftersom Traffic Manager är DNS-baserad medför klientcachelagring av IP-adresser svarstid. Även om du kan aktivera en slutpunkt och inaktivera en annan i Traffic Manager fortsätter klienterna att använda sin cachelagrade IP-adress tills TTL (Time to Live) för DNS upphör att gälla. Överväg alternativ för belastningsutjämning som fungerar på nivå 4 eller 7.
Överväg att implementera miljöer utöver bara mellanlagring och produktion för att aktivera saker som återställningar, manuell acceptanstestning och prestandatestning. Att använda mellanlagring som återställningsmiljö gör att du inte kan använda den miljön för andra ändamål.