Uw geconverteerde sjabloon testen en implementeren

Voltooid

Nadat u uw Bicep-bestand tijdens de herstructureerfase hebt verbeterd, moet u uw bestand testen en implementeren in uw Azure-omgeving. De vierde en vijfde fase van de aanbevolen werkstroom zijn de testfase en de implementatiefase :

Diagram met de test- en implementatiefasen van de aanbevolen werkstroom voor het migreren van Azure-resources naar Bicep.

De belangrijkste focus van deze twee fasen is het testen van uw Bicep-bestand met behulp van de beschikbare hulpprogramma's en het bestand vervolgens implementeren in uw Azure-omgeving.

Testfase

De doelen van de testfase van het migreren van uw resources naar Bicep zijn het controleren van de integriteit van uw gemigreerde sjablonen en het uitvoeren van een testimplementatie.

De testfase bestaat uit twee stappen die u in deze volgorde hebt voltooid:

  1. Voer de wat-als-bewerking van de ARM-sjabloonimplementatie uit.
  2. Een testimplementatie uitvoeren.

Diagram met een Bicep-bestand dat wordt getest en geïmplementeerd in Azure.

De wat-als-bewerking biedt een voorbeeld van de wijzigingen die worden aangebracht wanneer u uw Bicep-bestand implementeert. U gebruikt een testimplementatie om uw oorspronkelijke resources te vergelijken met de zojuist geïmplementeerde resources.

Wat houdt de 'what-if'-bewerking bij de implementatie van een ARM-sjabloon in?

Wanneer u nieuwe resources implementeert of bestaande resources wijzigt, is het mogelijk om belangrijke wijzigingen in uw omgevingen in te voeren. Uw implementatie kan bestaande resources wijzigen of verwijderen, nieuwe resources maken die onjuist zijn geconfigureerd of van invloed zijn op de algehele functionaliteit van uw toepassing.

Met de wat-als-bewerking van de ARM-sjabloonimplementatie kunt u uw geconverteerde sjablonen controleren voordat u ze implementeert. Hiermee wordt de huidige status van uw omgeving vergeleken met de beoogde status die in de sjabloon is gedefinieerd. Het hulpprogramma voert de lijst met wijzigingen uit die zich voordoen zonder de wijzigingen toe te passen op uw omgeving. Dit proces kan uw betrouwbaarheidsniveau in uw implementaties verhogen. U kunt what-if gebruiken met zowel incrementele als volledige modusimplementaties. Zelfs als u van plan bent om uw sjabloon te implementeren met behulp van de incrementele modus, is het een goed idee om uw wat-als-bewerking uit te voeren in de volledige modus. Door de wat-als-bewerking uit te voeren, kunt u bepalen welke resources u mogelijk per ongeluk buiten de sjabloon hebt gelaten.

Notitie

De wat-als-bewerking kan enkele resource-eigenschappen als verwijderd weergeven wanneer ze in werkelijkheid niet zullen veranderen. Deze resultaten worden beschouwd als ruis.

Implementatie testen

Voordat u de geconverteerde Bicep-sjabloon naar productie introduceert, kunt u overwegen om meerdere testimplementaties uit te voeren. Als u meerdere omgevingen (productie, ontwikkeling, testen) hebt, kunt u eerst uw sjabloon implementeren in een van uw niet-productieomgevingen. Vergelijk na de implementatie de oorspronkelijke resources voor consistentie met de nieuwe resource-implementaties.

Fooi

Als u geen toegang hebt tot een niet-productieomgeving om uw implementatie te testen, implementeert u in plaats daarvan uw Bicep-sjabloon in een nieuwe omgeving.

Implementatiefase

Het doel van de implementatiefase bij het migreren van uw resources naar Bicep is om uw uiteindelijke Bicep-bestand naar productie te brengen. Voordat de productie-implementatie wordt uitgevoerd, moet u rekening houden met een aantal zaken.

De implementatiefase bestaat uit vier stappen die u in deze volgorde hebt voltooid:

  1. Bereid een terugdraaiplan voor.
  2. Voer de wat-als-bewerking uit op de productieomgeving.
  3. Implementeer het Bicep-bestand handmatig.
  4. Voer rooktesten uit.

Met deze stappen kunt u zich voorbereiden op mogelijke problemen met productie-implementaties.

Diagram met een Bicep-bestand dat wordt geïmplementeerd in Azure.

Een terugdraaiplan voorbereiden

De mogelijkheid om te herstellen van een mislukte implementatie is cruciaal. Besteed tijd aan het ontwikkelen van een terugdraaiplan voor het geval er ingrijpende wijzigingen in uw omgevingen worden geïntroduceerd. Uw plan moet rekening houden met de strategie voor bedrijfscontinuïteit en herstel na noodgevallen (BCDR) van uw organisatie. Inventariseer de typen resources die zijn geïmplementeerd, zoals virtuele machines, web-apps en databases. U moet ook rekening houden met het gegevensvlak van elke resource. Hebt u een manier om een virtuele machine en de bijbehorende gegevens te herstellen? Hebt u een manier om een database te herstellen nadat deze is verwijderd of om gegevens te herstellen uit een opslagaccount? Met een goed ontwikkeld terugdraaiplan kunt u uw downtime tot een minimum beperken als er problemen optreden bij een implementatie.

De wat-als-bewerking uitvoeren tegen de productieomgeving

U hebt de wat-als-operatie al uitgevoerd voor uw andere omgevingen om te verifiëren dat uw nieuwe Bicep-bestand geen breaking changes veroorzaakt. Voordat u het definitieve Bicep-bestand in productie implementeert, voert u de what-if-operatie uit op uw productieomgeving. Zorg ervoor dat u productieparameterwaarden gebruikt en overweeg de resultaten te documenteren.

Handmatig implementeren

Als u de geconverteerde sjabloon in een pijplijn gebruikt, zoals in Azure DevOps of GitHub Actions, kunt u de implementatie eerst uitvoeren vanaf uw lokale computer. Het is beter om de functionaliteit van de sjabloon te controleren voordat u de sjabloon toevoegt aan uw productiepijplijn. Nadat u hebt gezien hoe de sjabloon functioneert, kunt u snel reageren als er een probleem is.

Smokeduittesten uitvoeren

Wanneer uw implementatie is voltooid, is het een goed idee om een reeks rooktesten uit te voeren. Een rooktest is een eenvoudige controle om te bevestigen dat uw toepassing of workload werkt. Test bijvoorbeeld om te zien of uw web-app toegankelijk is via normale toegangskanalen, zoals het openbare internet of via een bedrijfs-VPN. Probeer voor databases een databaseverbinding te maken en een reeks query's uit te voeren. Meld u met virtuele machines aan bij de virtuele machine en zorg ervoor dat alle services worden uitgevoerd.