Plattformsautomatisering och DevOps för App Service acceleratorn för landningszoner
Den här artikeln innehåller designöverväganden och rekommendationer för plattformsautomatisering och DevOps som du kan använda när du använder acceleratorn Azure App Service landningszon. Plattformsautomatisering och DevOps ger möjlighet att modernisera din distributionsmetod med hjälp av infrastruktur som kod.
Läs mer om plattformsautomatisering och DevOps-designområdet .
Designöverväganden
Automatisering och DevOps är viktiga metoder för modern programvaruutveckling, och App Service är en kraftfull plattform för att skapa och distribuera webbprogram. Med hjälp av automatiserings- och DevOps-tekniker kan du effektivisera arbetsflödet och förbättra kvaliteten och tillförlitligheten i dina program.
Ta hänsyn till följande när du förbereder för distribution av App Service.
Förstå kraven och målen för projektet så att du kan fastställa de lämpligaste verktygen och metoderna för automatisering. Det här steget handlar om att identifiera de uppgifter som du vill automatisera, till exempel etablering av infrastruktur, koddistribution och testning. Det handlar också om att identifiera de verktyg och tekniker som du ska använda för att implementera automatiseringen.
Prioritera säkerheten när du utformar en automations- och CI/CD-pipeline i App Service. Säkerhetsuppgifter kan omfatta implementering av autentiserings- och auktoriseringsåtgärder för att skydda åtkomsten till pipelinen och dess komponenter. De kan också omfatta implementering av kryptering och andra säkerhetsåtgärder för att skydda känsliga data.
Överväg kontinuerlig integrering och distribution. App Service stöder kontinuerlig integrering och distribution från olika källkontrollsystem, inklusive Azure Repos, GitHub och Bitbucket. Du kan använda dessa verktyg för att automatisera bygg- och distributionsprocessen, så att din app alltid är uppdaterad och tillgänglig.
Överväg automatiseringsskript. App Service innehåller ett antal automatiseringsskript, inklusive Mallar för PowerShell, Azure CLI, Bicep och Azure Resource Manager (ARM). Du kan använda dessa skript för att automatisera vanliga uppgifter som etablering och skalning av resurser.
Utvärdera om du behöver använda lokalt installerade agenter. Beroende på din nätverkskonfiguration kanske App Services inte är tillgängligt från det offentliga Internet. Om de inte är det fungerar inte offentliga värdbaserade agenter för distributioner. Planera att använda lokalt installerade agenter i dessa scenarier.
Anta en förgreningsstrategi som hjälper dig att samarbeta samtidigt som du ger flexibilitet. Håll din strategi enkel, använd kortvarig funktionsisolering och tillåt ändringar tillbaka till din huvudgren genom pull-begäranden med manuell och automatiserad kodanalys.
Kontrollera att affärslogik kontrolleras av enhetstester i bygg-pipelinen. Använd integreringstester i versionspipelinen för att kontrollera att alla tjänster och resurser fungerar tillsammans efter en ny version. Kontrollera de mest kritiska gränssnittselementen med hjälp av automatiserade användargränssnittstester. Kontrollera icke-funktionella prestandakrav med hjälp av belastningstestning via verktyg som k6 och JMeter i mellanlagringsmiljön.
Övervaka och underhålla automatiserings- och CI/CD-pipelinen. Den här processen kan omfatta implementering av loggnings- och övervakningsverktyg för att spåra pipelinens prestanda och hälsa. Det kan också omfatta implementering av en process för regelbunden granskning och uppdatering av pipelinen för att säkerställa att den förblir effektiv och effektiv.
Nyckeln till lyckad plattformsautomatisering och CI/CD-pipelineimplementering i App Service är att noggrant planera och utforma lösningen, med hänsyn till de specifika behoven och kraven för de program som du distribuerar. Med rätt metod kan du skapa en skalbar, säker och effektiv plattform för att distribuera och hantera dina program i molnet.
Designrekommendationer
Tänk på följande metodtips när du distribuerar App Service.
Använd Azure DevOps för din CI/CD-pipeline. Azure DevOps är en komplett lösning för att automatisera bygget, testningen och distributionen av dina program.
Använd pipelines eller åtgärder för att:
- Maximera fördelarna med tillämpade metoder i hela teamet.
- Ta bort en stor del av bördan av att återuppfinna processer.
- Få förutsägbarhet i och insikter om övergripande kvalitet och flexibilitet.
Distribuera tidigt och ofta med hjälp av utlösarbaserade och schemalagda pipelines. Utlösarbaserade pipelines säkerställer att ändringarna genomgår korrekt validering. Schemalagda pipelines hanterar beteende i föränderliga miljöer.
Separera infrastrukturdistribution från programdistribution. Kärninfrastrukturen ändras mindre ofta än program. Behandla varje typ av distribution som ett separat flöde och en pipeline.
Använd infrastruktur som kodverktyg som ARM- eller Bicep-mallar för att automatisera etableringen och hanteringen av dina Azure-resurser. Du kan använda ARM- och Bicep-mallar för att definiera infrastrukturen som kod, vilket gör det enkelt att versionskontrollera, samarbeta och automatisera distributionen av dina resurser.
Lagra hemligheter och andra känsliga artefakter i relevant hemligt arkiv (till exempel Azure Key Vault- eller GitHub-hemligheter). Tillåt att åtgärder och andra arbetsflödesdelar läser dem efter behov.
Sträva efter maximerad samtidighet i distributionen genom att undvika hårdkodad konfiguration och inställningar.
Implementera skift-vänster-säkerhet genom att inkludera verktyg för sårbarhet och hemlig genomsökning, till exempel containerskannrar, tidigt i pipelinen.
Konfigurera en distributionsstrategi som implementerar principerna för blå/gröna eller kanära distributioner för att minimera stilleståndstiden och minska risken för distributionsfel. På så sätt kan du gradvis distribuera nya versioner av ditt program till en liten delmängd användare innan du distribuerar det till hela användarbasen.
Använd App Service distributionsplatser för att implementera en blå/grön distributionsstrategi. På så sätt kan du verifiera och testa dina distributioner i en mellanlagringsmiljö innan du distribuerar dem till produktion. Den här strategin hjälper dig att säkerställa en smidig och lyckad distribution, validera programändringar och minimera driftstopp.
Övervaka och spåra prestanda och tillgänglighet för dina program med hjälp av Application Insights. Application Insights ger insikter i realtid om dina programs hälsa och användning. Det kan också hjälpa dig att snabbt diagnostisera och lösa problem som uppstår.
Implementera verktyg och processer som underlättar kommunikation och samarbete, till exempel agila utvecklingsmetoder och verktyg för att spåra och hantera uppgifter och beroenden. Framgångsrik plattformsautomatisering, DevOps och CI/CD-processer förlitar sig på effektivt samarbete och kommunikation mellan teammedlemmar.
Nyckeln till framgångsrik plattformsautomatisering, DevOps och CI/CD med App Service är att utforma och implementera processer och system som är skalbara, säkra, välövervakade och samarbetsinriktade. De här rekommendationerna kan hjälpa IT- och molntekniker att se till att deras appar och API:er ger bästa möjliga prestanda och användarupplevelse.