Platformautomatisering en DevOps voor de App Service landingszoneversneller

Dit artikel bevat ontwerpoverwegingen en aanbevelingen voor platformautomatisering en DevOps die u kunt toepassen wanneer u de Azure App Service landingszoneversneller gebruikt. Platformautomatisering en DevOps bieden mogelijkheden om uw implementatiebenadering te moderniseren met behulp van infrastructuur als code.

Meer informatie over platformautomatisering en DevOps-ontwerpgebied .

Overwegingen bij het ontwerpen

Automatisering en DevOps zijn belangrijke procedures in moderne softwareontwikkeling en App Service is een krachtig platform voor het bouwen en implementeren van webtoepassingen. Door automatisering en DevOps-technieken te gebruiken, kunt u uw werkstroom stroomlijnen en de kwaliteit en betrouwbaarheid van uw toepassingen verbeteren.

Houd rekening met de volgende overwegingen bij het voorbereiden van een implementatie van App Service.

  • Krijg inzicht in de vereisten en doelstellingen van het project, zodat u de meest geschikte hulpprogramma's en benaderingen voor automatisering kunt bepalen. Deze stap omvat het identificeren van de taken die u wilt automatiseren, zoals het inrichten van de infrastructuur, de implementatie van code en het testen. Het omvat ook het identificeren van de hulpprogramma's en technologieën die u gaat gebruiken om de automatisering te implementeren.

  • Geef beveiliging de hoogste prioriteit bij het ontwerpen van een automatiserings- en CI/CD-pijplijn in App Service. Beveiligingstaken kunnen bestaan uit het implementeren van verificatie- en autorisatiemaatregelen om de toegang tot de pijplijn en de bijbehorende onderdelen te beveiligen. Ze kunnen ook het implementeren van versleuteling en andere beveiligingsmaatregelen omvatten om gevoelige gegevens te beschermen.

  • Overweeg continue integratie en implementatie. App Service ondersteunt continue integratie en implementatie vanuit verschillende broncodebeheersystemen, waaronder Azure-opslagplaatsen, GitHub en Bitbucket. U kunt deze hulpprogramma's gebruiken om het bouw- en implementatieproces te automatiseren, zodat uw app altijd up-to-date en beschikbaar is.

  • Overweeg automatiseringsscripts. App Service biedt een aantal automatiseringsscripts, waaronder PowerShell, Azure CLI, Bicep en ARM-sjablonen (Azure Resource Manager). U kunt deze scripts gebruiken voor het automatiseren van algemene taken, zoals het inrichten en schalen van resources.

  • Evalueer of u zelf-hostende agents moet gebruiken. Afhankelijk van uw netwerkconfiguratie is App Services mogelijk niet beschikbaar via het openbare internet. Als dat niet zo is, werken openbare gehoste agents niet voor implementaties. Plan het gebruik van zelf-hostende agents in deze scenario's.

  • Gebruik een vertakkingsstrategie die u helpt om samen te werken en tegelijkertijd flexibiliteit te bieden. Houd uw strategie eenvoudig, gebruik functie-isolatie van korte duur en sta wijzigingen toe aan uw hoofdvertakking via pull-aanvragen met handmatige en geautomatiseerde codeanalyse.

  • Zorg ervoor dat uw bedrijfslogica wordt gecontroleerd door eenheidstests in de build-pijplijn. Gebruik integratietests in de release-pijplijn om te controleren of alle services en resources samenwerken na een nieuwe release. Controleer de meest kritieke UI-elementen met behulp van geautomatiseerde UI-tests. Controleer niet-functionele prestatievereisten met behulp van belastingstests via hulpprogramma's zoals k6 en JMeter in uw faseringsomgeving.

  • Bewaak en onderhoud de automatiserings- en CI/CD-pijplijn. Dit proces kan betrekking hebben op het implementeren van hulpprogramma's voor logboekregistratie en bewaking om de prestaties en status van uw pijplijn bij te houden. Het kan ook gaan om het implementeren van een proces voor het regelmatig controleren en bijwerken van de pijplijn om ervoor te zorgen dat deze effectief en efficiënt blijft.

De sleutel tot succesvolle platformautomatisering en implementatie van CI/CD-pijplijnen in App Service is het zorgvuldig plannen en ontwerpen van de oplossing, rekening houdend met de specifieke behoeften en vereisten van de toepassingen die u implementeert. Met de juiste aanpak kunt u een schaalbaar, veilig en efficiënt platform maken voor het implementeren en beheren van uw toepassingen in de cloud.

Ontwerpaanbeveling

Houd rekening met de volgende aanbevolen procedures wanneer u App Service implementeert.

  • Gebruik Azure DevOps voor uw CI/CD-pijplijn. Azure DevOps biedt een complete oplossing voor het automatiseren van het bouwen, testen en implementeren van uw toepassingen.

  • Gebruik pijplijnen of acties voor het volgende:

    • Maximaliseer de voordelen van toegepaste procedures in het hele team.
    • Verwijder veel van de last van het opnieuw uitvinden van processen.
    • Krijg voorspelbaarheid in en inzichten in de algehele kwaliteit en flexibiliteit.
  • Implementeer in een vroeg stadium en vaak met behulp van op triggers gebaseerde en geplande pijplijnen. Op triggers gebaseerde pijplijnen zorgen ervoor dat wijzigingen de juiste validatie ondergaan. Geplande pijplijnen beheren het gedrag in veranderende omgevingen.

  • Scheid de implementatie van de infrastructuur van de toepassing. De kerninfrastructuur verandert minder vaak dan toepassingen. Behandel elk type implementatie als een afzonderlijke stroom en pijplijn.

  • Gebruik infrastructuur als codehulpprogramma's zoals ARM- of Bicep-sjablonen om de inrichting en het beheer van uw Azure-resources te automatiseren. U kunt ARM- en Bicep-sjablonen gebruiken om uw infrastructuur als code te definiëren, zodat u eenvoudig versiebeheer kunt uitvoeren, kunt samenwerken aan en de implementatie van uw resources kunt automatiseren.

  • Sla geheimen en andere gevoelige artefacten op in het relevante geheime archief (zoals Azure Key Vault of GitHub-geheimen). Sta acties en andere werkstroomonderdelen toe om ze naar behoefte te lezen.

  • Streef naar gemaximaliseerde gelijktijdigheid van implementaties door in code vastgelegde configuratie en instellingen te vermijden.

  • Implementeer shift-left-beveiliging door hulpprogramma's voor beveiligingsproblemen en het scannen van geheimen, zoals containerscanners, vroeg in de pijplijn op te nemen.

  • Stel een implementatiestrategie in die de principes van blauwe/groene of canary-implementaties implementeert om downtime te minimaliseren en het risico op implementatiefouten te verminderen. Als u dit doet, kunt u geleidelijk nieuwe versies van uw toepassing implementeren voor een kleine subset van gebruikers voordat u deze implementeert voor het hele gebruikersbestand.

  • Gebruik App Service implementatiesites om een blauw/groene implementatiestrategie te implementeren. Hierdoor kunt u uw implementaties valideren en testen in een faseringsomgeving voordat u ze in productie implementeert. Deze strategie helpt u een soepele en succesvolle implementatie te garanderen, toepassingswijzigingen te valideren en downtime te minimaliseren.

  • Bewaak en volg de prestaties en beschikbaarheid van uw toepassingen met behulp van Application Insights. Application Insights biedt realtime inzicht in de status en het gebruik van uw toepassingen. Het kan u ook helpen snel problemen op te sporen en op te lossen.

  • Implementeer hulpprogramma's en processen die communicatie en samenwerking faciliteren, zoals Agile-ontwikkelmethoden en hulpprogramma's voor het bijhouden en beheren van taken en afhankelijkheden. Succesvolle platformautomatisering, DevOps en CI/CD-processen zijn afhankelijk van effectieve samenwerking en communicatie tussen teamleden.

De sleutel tot succesvolle platformautomatisering, DevOps en CI/CD met App Service is het ontwerpen en implementeren van processen en systemen die schaalbaar, veilig, goed bewaakt en samenwerkend zijn. Deze aanbevelingen kunnen IT- en cloudtechnici helpen ervoor te zorgen dat hun apps en API's de best mogelijke prestaties en gebruikerservaring bieden.