Dela via


Rekommendationer för säker driftsättning

Gäller för den här Power Platform rekommendationen för checklistan Well-Architected Operational Excellence:

OE:10 Definiera arbetsbelastningens säkra distributionsmetoder. Betonar idealen av små, inkrementella, kvalitetsgranskade versionsmetoder. Använd moderna distributionsmönster för att kontrollera risker. Ta hänsyn till rutindistributioner och implementeringar av snabbkorrigeringar.

I den här guiden beskrivs rekommendationerna för att använda säkra distributionsmetoder. Säkra distributionsprocesser och procedurer anger hur du kan göra och distribuera ändringar i arbetsbelastningen på ett säkert sätt. Att implementera dem kräver att du tänker på distributioner genom att hantera risker. Du kan minimera risken för mänskliga fel i dina distributioner och begränsa effekterna av problematiska distributioner för dina användare genom att implementera dessa metoder.

Viktiga designstrategier

Det finns viktiga riktlinjer att tänka på när du implementerar säkra distributionsmetoder:

  • Säkerhet och konsekvens: Alla ändringar i produktionsarbetsbelastningen är i sig riskfyllda och måste göras med fokus på säkerhet och konsekvens.
  • Hälsomodeller: Distributioner måste klara hälsokontroller innan varje fas av progressiv exponering kan börja.
  • Problemidentifiering: När problem identifieras bör distributionen stoppas omedelbart och återställningen initieras.

I följande avsnitt finns detaljerade rekommendationer för var och en av dessa punkter.

Säkerhet och enhetlighet

Oavsett om du distribuerar en uppdatering av programkoden, infrastrukturen som kod (IaC), funktionsflaggan eller konfigurationen medför du en risk för arbetsbelastningen. Dit finns inga distributioner med låg risk till produktion. Alla distributioner måste följa ett standardmönster och bör automatiseras för att säkerställa enhetlighet och minimera risken för fel. Det är avgörande att försörjningskedja och distributionspipelines för din arbetsbelastning är tillförlitliga, säkra och har tydligt definierade implementeringsstandarder. Behandla varje driftsättning som en möjlig risk och utsätt varje driftsättning för samma nivå av riskhantering.

Trots riskerna bör du fortsätta att implementera regelbundna ändringar av din arbetsbelastning. Om du inte distribuerar regelbundna uppdateringar känns det som att det finns andra funktioner, t.ex. säkerhetsproblem som måste åtgärdas via distributioner. Läs mer i Rekommendationer för att utforma en försörjningskedja för arbetsbelastningsutveckling.

Frekventa små distributioner är att föredra framför sällsynta stora distributioner. Det är lättare att lösa små ändringar när problem uppstår och ofta kan distributioner hjälpa ditt team att bygga upp förtroende för distributionsprocessen. Det är också viktigt att du lär dig av produktionen genom att gå igenom arbetsbelastningen när du stöter på problem under distributionen. Det kan finnas svagheter i utformningen av infrastrukturen eller vid utrullningen. När problem uppstår under distributioner bör du se till att oskyldiga obduktioner är en del av din process för att samla in lärdomar om incidenten.

Hälsomodeller

Utveckla en robust hälsomodell som en del av din plattform för observationsövervakning och tillförlitlighetsstrategier. Din hälsomodell bör ge en djupare insyn i komponenterna och arbetsbelastningens allmänna hälsa. Övervaka hälsomåtten noga efter en distribution. Om du får en avisering om en hälsoändring under distributionen undersöker du problemet omedelbart och bestämmer nästa åtgärd, till exempel att återställa ändringen. Om användarna inte rapporterar problem och alla hälsoindikatorer förblir gröna bör distributionen fortsätta. Se till att inkludera användningsstatistik i din hälsomodell för att säkerställa att bristen på användarrapporterade problem och negativa hälsosignaler inte döljer ett problem. Läs mer i Rekommendationer för att utföra analys av felläge.

Problemidentifiering

När distributionen orsakar ett problem i en av lanseringsgrupperna måste lanseringen stoppas omedelbart. Undersök orsaken till problemet och hur allvarliga effekterna är så snart aviseringen tas emot. Återställning från problemet kan omfatta:

  • Återställa genom att ångra de ändringar som gjorts i distributionen och återgå till den senast kända fungerande konfigurationen.
  • Rulla framåt genom att åtgärda problemet under distributionen. Du kan åtgärda problem i mitten av lanseringen genom att tillämpa en snabbkorrigering eller på annat sätt minimera problemet.
  • Distribuera ny infrastruktur med hjälp av den senast kända fungerande konfigurationen.

Det kan vara komplext att återställa ändringar, särskilt databas-, schema- eller andra komponenter som har ett tillstånd. Dina riktlinjer för säkra distributionsmetoder bör ge tydliga instruktioner om hur du hanterar dataändringar enligt dataegendomsdesignen för din arbetsbelastning. På samma sätt måste rullning hanteras noggrant för att säkerställa att säkra distributionsprocesser inte försummas och att snabbkorrigeringen eller andra minimerande åtgärder utförs på ett säkert sätt.

Allmänna rekommendationer

  • Implementera versionshantering över dina byggartefakter för att säkerställa att du kan återställa eller omprogrammera vid behov.

  • Använd ett utgivningsflöde eller en trunkbaserad förgreningsstruktur, som tvingar fram ett tätt synkroniserat samarbete över utvecklingsteamet, istället för en Gitflow- eller miljöbaserad förgreningsstruktur.

  • Automatisera så mycket som möjligt av din säkra distribution. Läs mer i Rekommendationer för implementering av automatisering.

  • Använd metoder för kontinuerlig integration (CI) för att regelbundet integrera kodändringar i arkiv. CI-praxis kan hjälpa dig att identifiera integrationskonflikter och minska sannolikheten för stora, riskfyllda sammanslagningar. Läs mer i Rekommendationer för kontinuerlig integrering.

  • Använd funktionsflaggor för att selektivt aktivera eller inaktivera nya funktioner eller ändringar i produktionen. Med funktionsflaggor kan du kontrollera om ny kod används och snabbt återställa distributionen om det uppstår problem.

  • Implementera ändringar i iscensättningsmiljöer som speglar din produktionsmiljö. Med hjälp av övningsmiljöer kan du testa ändringar i en kontrollerad inställning innan du distribuerar till live-miljön.

  • Upprätta fördefinierade kontroller, inklusive kodgranskning, säkerhetskontroller och regelefterlevnadskontroller, för att säkerställa att ändringar är säkra att distribuera.

  • Implementera kretsbrytare för att automatiskt stoppa trafik till en tjänst som har problem och hjälpa till att förhindra ytterligare försämring av systemet.

Protokoll för nödsituationer

Upprätta normativa protokoll som definierar hur dina säkra distributionsprocesser kan justeras för en snabbkorrigering eller för nödproblem som ett säkerhetsintrång eller sårbarhetsexponering. Dina nödprotokoll kan till exempel innehålla:

  • Acceleration av befordrings- och godkännandefasen
  • Acceleration av rökprovning och integrationstestning
  • Kortare gräddningstid

I vissa fall kan nödsituationen begränsa kvaliteten och testa grindar, men grindar bör fortfarande köras så snabbt som möjligt som en övning utanför bandet. Se till att du definierar vem som kan godkänna säker distributionsacceleration i en nödsituation och de kriterier som måste uppfyllas för att accelerationen ska godkännas. Justera dina nödprotokoll med din plan för svar vid nödsituationer för att säkerställa att alla nödsituationer hanteras enligt samma protokoll.

Att tänka på

Det är komplext att skapa och underhålla säkra distributionsmetoder. Om du ska lyckas implementera robusta standarder måste du se till att dina metoder fungerar på många olika områden inom programvaruutveckling. Användning av automatisering, endast IaC för infrastrukturändringar, konsekvens i förgreningsstrategier, funktionsflaggor och andra metoder kan bidra till att säkerställa säker distribution. Med den här guiden kan du optimera arbetsbelastningen och planera för förbättringar i takt med att dina arbetssätt utvecklas.

Underlätta Power Platform

Pipelines syftar Power Platform till att demokratisera hantering av programmets livscykel (ALM) för Power Platform och Dynamics 365-kunder genom att införa ALM-automatisering och CI/CD-funktioner (kontinuerlig integrering och kontinuerlig leverans) i tjänsten.

Microsoft Power Platform Byggverktyg för kan användas för Azure DevOps att automatisera vanliga bygg- och distributionsuppgifter relaterade till appar som bygger på Power Platform.

GitHub Actions för att göra det möjligt för utvecklare att skapa automatiserade arbetsflöden för Power Platform programvaruutvecklingens livscykel. Med GitHub-åtgärder för Microsoft Power Platform, kan du skapa arbetsflöden i ditt arkiv för att bygga, testa, paketera, släppa och distribuera appar; utföra automatisering; och hantera bots och andra komponenter som bygger på Power Platform.

ALM Accelerator är ett verktyg med öppen källkod som består av en uppsättning applikationer, skript och pipelines som är utformade för att automatisera processen för kontinuerlig integrering/kontinuerlig leverans.

Automatisera tester med Azure Pipelines.

Miljövariabler i lösningar lagrar parameternycklar och värden, som sedan fungerar som indata till andra programobjekt. Genom att separera parametrarna från de tidskrävande objekten kan du ändra värdena i samma miljö eller när du migrerar lösningar till andra miljöer.

Power Platform Miljöer tillhandahåller funktioner för återställning till tidpunkt som kan hjälpa dig att återställa.

Gå vidare