Azure Pipelines-architectuur voor IaaS
Belangrijk
CI/CD voor IaaS-toepassingen is een variant van Een CI/CD-pijplijn ontwerpen met behulp van Azure DevOps. Dit artikel richt zich op de specifieke details van het implementeren van webtoepassingen in Azure Virtual Machines.
Azure Virtual Machines is een optie voor het hosten van aangepaste toepassingen wanneer u flexibel en gedetailleerd beheer van uw rekenproces wilt. Virtuele machines (VM's) moeten gedurende de ontwikkelingslevenscyclus onderworpen zijn aan hetzelfde technische niveau als PaaS-aanbiedingen (Platform-as-a-Service). U kunt bijvoorbeeld geautomatiseerde build- en release-pijplijnen implementeren om wijzigingen naar de VM's te pushen.
In dit artikel wordt een DevOps-werkstroom op hoog niveau beschreven voor het implementeren van toepassingswijzigingen op VM's met behulp van procedures voor continue integratie (CI) en continue implementatie (CD) met behulp van Azure Pipelines.
Architectuur
Een Visio-bestand van deze architectuur downloaden.
Gegevensstroom
In deze sectie wordt ervan uitgegaan dat u de basislijnarchitectuur van Azure Pipelines hebt gelezen en dat u zich alleen richt op de details van het implementeren van een workload in Azure Virtual Machines.
PR-pijplijn - Hetzelfde als de basislijn
CI-pijplijn : hetzelfde als de basislijn, behalve de buildartefacten die zijn gemaakt voor het implementeren van een web-app op IaaS, is een Web Deploy-pakket
CD-pijplijntrigger - Hetzelfde als de basislijn
CD-release naar fasering : hetzelfde als de basislijn met 2 uitzonderingen: 1) het build-artefact dat wordt gedownload, is het Web Deploy-pakket en 2) het pakket wordt geïmplementeerd op een faserings-virtuele Azure-machine.
Cd-release voor productie : hetzelfde als de basislijn met 2 uitzonderingen:
a. De release naar productie wordt uitgevoerd door Azure Traffic Manager bij te werken om fasering en productie te wisselen. Deze strategie kan worden bereikt door een Traffic Manager-profiel met twee eindpunten te hebben, waarbij productie is ingeschakeld en fasering is uitgeschakeld. Als u fasering en productie wilt wisselen, schakelt u productie uit en schakelt u fasering in.
b. Een terugdraaiactie kan worden uitgevoerd door Azure Traffic Manager bij te werken om productie en fasering te wisselen.Monitoring - hetzelfde als de basislijn
Onderdelen
In deze sectie wordt ervan uitgegaan dat u de sectie Azure Pipelines-basisarchitectuuronderdelen hebt gelezen en zich alleen richt op de details van het implementeren van een workload in Azure Virtual Machines.
Azure Virtual Machines op aanvraag een veilige, gevirtualiseerde infrastructuur op aanvraag bieden met behulp van Windows- of Linux-servers. Virtual Machines worden in deze architectuur gebruikt om workloads te hosten.
Virtual Machine Scale Sets kunt u een groep identieke VM's met gelijke taakverdeling maken en beheren. Het aantal VM-exemplaren kan automatisch toenemen of afnemen in reactie op vraag of een ingesteld schema. Schaalsets kunnen ook worden gebruikt voor het hosten van workloads.
Azure Traffic Manager is een load balancer op basis van DNS-verkeer die u kunt gebruiken om verkeer te distribueren naar geconfigureerde eindpunten. In deze architectuur is Traffic Manager het enige toegangspunt voor clients en is het geconfigureerd met meerdere eindpunten, die de virtuele productiemachine en de faserings-vm vertegenwoordigen. Het eindpunt van de virtuele productiemachine is ingeschakeld en fasering is uitgeschakeld.
Alternatieven
Dit artikel richt zich op het gebruik van Azure Traffic Manager als de load balancer. Azure biedt verschillende opties voor taakverdeling die u kunt overwegen.
Overwegingen
In deze sectie wordt ervan uitgegaan dat u de sectie overwegingen in de basislijnarchitectuur van Azure Pipelines hebt gelezen en zich alleen richt op de specifieke overwegingen voor het implementeren van een workload in Azure Virtual Machines.
Operationele topprestaties
Omdat Traffic Manager op DNS is gebaseerd, zorgt de clientcache van IP-adressen voor latentie. Hoewel u mogelijk een eindpunt inschakelt en een ander eindpunt uitschakelt in Traffic Manager, blijven clients hun in de cache opgeslagen IP-adres gebruiken totdat de DNS TTL (Time-to-live) verloopt. Overweeg opties voor taakverdeling die werken op laag 4 of laag 7.
Overweeg omgevingen te implementeren die verder gaan dan alleen fasering en productie om zaken als terugdraaiacties, handmatige acceptatietests en prestatietests mogelijk te maken. Het gebruik van fasering als de terugdraaiomgeving voorkomt dat u die omgeving voor andere doeleinden kunt gebruiken.