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

Arkitekturdiagram över en CI/CD-pipeline med Hjälp av Azure Pipelines.

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.

  1. PR-pipeline - Samma som baslinjen

  2. CI-pipeline – Samma som baslinjen, förutom att de byggartefakter som skapats för att distribuera en webbapp till IaaS är ett webbdistributionspaket

  3. CD-pipelineutlösare - Samma som baslinjen

  4. 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.

  5. 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.

  6. Ö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.

Nästa steg