Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller följande checklistrekommendation om tillförlitlighet i Power Platform Well-Architected:
| RE:06 | Testa för motståndskraft och tillgänglighetsscenarier genom att tillämpa principerna för kaosteknik i dina test- och produktionsmiljöer. Använd tester för att säkerställa att dina implementeringsstrategier för kontrollerad nedgradering är effektiva genom att utföra aktiva tester av felfunktion och simulerade belastning. |
|---|
I den här guiden beskrivs rekommendationer för hur du utformar en tillförlitlighetsteststrategi för att verifiera och optimera tillförlitligheten för din arbetsbelastning. Tillförlitlighetstesterna fokuserar på arbetsbelastningens effektivitet och tillgänglighet, särskilt de kritiska flöden som du identifierar när du utformar lösningen. Den här guiden innehåller allmän vägledning om testning och vägledning som är specifik för felinjektion och kaosteknik.
Definitioner
| Begrepp | Definition |
|---|---|
| Tillgänglighet | Den tid som en programarbetsbelastning körs i felfritt tillstånd utan större driftavbrott. |
| Kaosteknik | Metoden att utsätta appar och tjänster för verklig stress och misslyckanden. Målet med chaosteknik är att bygga upp och validera motståndskraft mot opålitliga förhållanden och beroenden som saknas. |
| Felinjektion | Att introducera ett fel i ett system för att testa systemets motståndskraft. |
| Återvinning | En synonym för återhämtning. |
| Återhämtning | Förmågan hos appens arbetsbelastning att uthärda och återhämta sig från olika felscenarier. |
Viktiga designstrategier
Det är avgörande att testa för att säkerställa att din arbetslast uppfyller sina tillförlitlighetsmål och kan hantera fel på ett kontrollerat sätt. Felinjektion är en typ av tester som medvetet introducerar fel eller stress i ditt system för att simulera verkliga scenarier. Genom att använda felinjektion och kaosteknik kan du proaktivt upptäcka och åtgärda problem innan de påverkar din produktionsmiljö. Det här avsnittet ger allmän vägledning om testning, felinjektion och kaosteknik för din arbetsbelastning.
Allmän testvägledning
Utför regelbundet tester för att verifiera befintliga tröskelvärden, mål och antaganden. När en större förändring sker i din arbetslast, genomför regelbundna tester. Utför de flesta tester i test- och mellanlagringsmiljöer. Dessutom gäller det att köra en delmängd tester mot produktionssystemet.
Med hjälp av automatiserade tester kan du säkerställa att testerna är konsekventa och att de blir tillgängliga på ett konsekvent sätt. Automatisera vanliga testuppgifter och integrera dem i dina versionsprocesser. Att manuellt testa programvara är tråkigt och känsligt för fel, men du kan utföra manuella utforskande tester. I de fall du behöver utveckla automatiserade tester använder du manuella tester för att fastställa omfattningen av de tester som ska utvecklas.
Använd en shift-left-teststrategi för att genomföra resiliens- och tillgänglighetstester tidigt i utvecklingscykeln.
Anpassa ett enkelt dokumentationsformat så att alla kan förstå processen och resultatet av varje test.
Dela de dokumenterade resultaten med rätt team, som verksamhetsteam, teknikledning, affärsintressenter och intressenter för katastrofåterställning. Resultaten bör informera om förfining av tillförlitlighetsmålen, t.ex. mål på servicenivå, servicenivåavtal (SLO), mål för återställningstid (RTO) och mål för återställningspunkt (RPO).
Skapa en regelbunden testkadens för dina säkerhetskopior. Återställ informationen till enskilda system så att säkerhetskopieringarna är giltiga och att återställningarna fungerar.
Dokumentera och dela måtten för återställningstid med intressenterna för katastrofåterställning för att säkerställa att förväntningarna för återställningen är lämpliga.
Använd branschstandardiserade installationstestprocedurer för att säkerställa att du har en automatiserad, förutsägbar och effektiv implementeringsprocess.
Testa att din arbetsbelastning kan hantera övergående fel. Mer information finns i Rekommendationer för hantering av övergående fel.
Testa hur arbetsbelastningen hanterar fel i tjänster som den är beroende av eller i andra beroenden med hjälp av felinjektion.
Testa din katastrofåterställningsplan så att den reagerar på katastrofala misslyckanden och andra större incidenter.
Testa arbetsbelastningens förmåga att hantera försämringar på ett kontrollerat sätt och minimera konsekvenserna av komponentfel med hjälp av felinjektion.
Dra nytta av planerade och oplanerade driftavbrott
När arbetsbelastningen är offline på grund av planerat underhåll eller ett oplanerat driftavbrott, har du en unik möjlighet att utföra tester och förbättra din förståelse av arbetsbelastningen. I följande avsnitt finns detaljerade rekommendationer för varje scenario.
Planerat underhåll
När du har planerat underhållsfönster för uppdateringar eller korrigeringar kan du testa komponenter och flöden som inte är inblandade i underhållsarbetet. Utför tester utan den potentiella risken att oväntat försämra arbetsbelastningen eller ta den helt offline. Om du har tillräckligt med tid under underhållet kan du också testa komponenterna och flödena som är inblandade i underhållet efter att underhållsarbetet har slutförts.
Oplanerade driftavbrott
Använd varje avbrottsincident som en möjlighet att lära dig mer om din arbetsbelastning och förbättra dess motståndskraft genom att följa dessa steg i prioritetsordning:
Få arbetslasten online igen för dina användare. Du kan behöva utföra en lösning för problemet, lösa problemet eller initiera återställningsprocesserna.
Ta reda på grundorsaken till avbrottet och åtgärda det. Om du kan åtgärda grundorsaken som en del av utredningen, dokumentera grundorsaken och de åtgärder som du vidtog för att åtgärda den. Om problemet kräver att du tar en annan underhållsperiod senare kontrollerar du att dina åtgärdsåtgärder kan hantera den förväntade belastningen genom att testa dem noggrant. Se till att du har inrättat tillräcklig övervakning för att täcka dina begränsningsåtgärder.
Om tillämpligt, leta efter samma problem, eller konfigurationssvagheter som kan påverkas av liknande problem, över alla komponenter i din arbetsbelastning. Använd den här affärsmöjligheten om du vill arbeta proaktivt med dessa komponenter. Läs din incidenthistorik om du vill identifiera mönster för liknande problem i hela arbetsbelastningen.
Använd dina resultat för att förbättra din teststrategi. Säkerställ att du framgångsrikt har åtgärdat grundorsaken och liknande fel genom att direkt testa samma fel.
Vägledning för felinjicering och kaosteknik
Felinjektionstestning följer principerna för kaosteknik genom att lyfta fram arbetsbelastningens förmåga att reagera på komponentfel. Utför felinjektionstestning i förproduktions- och produktionsmiljöer. Tillämpa informationen som du lärt dig av utföra fellägesanalys för att säkerställa att du testar endast fel som du prioriterar och att du har begränsningsstrategier som åtgärdar fel.
De viktigaste riktlinjerna för kaosteknik är:
Var proaktiv. Vänta inte på att misslyckanden ska hända. Försök att förutse fel genom att genomföra kaosexperiment för att upptäcka och åtgärda problem innan de påverkar din produktionsmiljö.
Omfamna misslyckande. Acceptera och ta del av de fel som har inträffat i systemet. Se misslyckanden som en naturligt del av komplexa system och använd dem som möjligheter att lära dig och förbättra systemets tillförlitlighet.
Bryt systemet. Injicera medvetet fel eller stress i ditt system för att testa dess motståndskraft. Simulera verkliga misslyckanden eller avbrott för att testa och förbättra arbetsbelastningens återställningsfunktioner.
Bygg immunitet. Använd kaosteknikexperiment för att förbättra arbetsbelastningens förmåga att förebygga fel och återhämta sig från dem.
Kaosteknik är en integrerad del av arbetslastteamets kultur och en fortlöpande praxis, inte en kortsiktig taktisk insats som svar på ett enskilt avbrott. Följ den här standardmetoden när du utformar dina kaosexperiment:
Börja med en hypotes. Varje experiment bör ha ett tydligt mål, som att testa ett flödes förmåga att motstå förlusten av en viss komponent.
Mät baslinjebeteende. Se till att du har konsekventa tillförlitlighets- och prestandamått för flödet och komponenterna som är involverade i ett experiment för att jämföra med det försämrade tillståndet när du kör ditt experiment.
Infoga ett eller flera fel. Experimentet bör avsiktligt inriktas på specifika komponenter som snabbt kan återställas, och du bör ha en välgrundad uppfattning om vilken effekt felinjektionen kommer att orsaka för att hjälpa till att begränsa experimentets konsekvenser.
Övervaka beteendet som uppstår. Samla in telemetri om de enskilda flödeskomponenterna och det sammanhängande flödesbeteendet som experimentet riktar in sig på för att på ett korrekt sätt förstå effekterna av felet. Jämför de mätvärden du samlar in med referensvärdena för att få en fullständig bild av resultaten av felinjektionen.
Dokumentera processen och observationer. Att föra detaljerade register över dina experiment kommer att informera framtida beslut om arbetsbelastningens design vilket säkerställer att du åtgärdar de problem som har avslöjats över tiden.
Identifiera och agera på resultatet. Planera för åtgärder som kan läggas till i backloggen för arbetsbelastningen som förbättringsåtgärder. Se till att förbättringsplaner för design granskas och testas i icke-produktionsmiljöer enligt samma processer som i andra distributioner.
Verifiera regelbundet din process, dina arkitekturval och kod för att snabbt upptäcka teknisk skuld, integrera ny teknik och anpassa dig till förändrade krav.
När du utför felinjektionsexperiment gör du:
Kontrollera att övervakning har skett och att aviseringar har ställts in.
Validera din process för att tilldela en direkt ansvarig individ (DRI) att ta äganderätten till en incident.
Se till att din dokumentation och dina utredningsprocesser är aktuella.
Integrera följande rekommendationer och saker att tänka på för att optimera din kaosteststrategi:
Utmana systemantaganden. Genom testning försöker du förbättra motståndskraften hos din arbetsbelastning och dina strategier för att utforma den. Leta efter möjligheter att injicera fel i komponenter och flöden som du antar är tillförlitliga baserat på tidigare erfarenheter. De kanske inte är tillförlitliga i den nya arbetsbelastningen.
Verifiera ändring. Utan grundlig testning, inklusive felinjektionstestning, kan du ha en ofullständig bild av din arbetsbelastning efter att ändringar har gjorts. Till exempel kan du introducera nya beroenden som inte är direkt uppenbara.
Använd SLA-buffertar. Begränsa kaostestning för att hålla dig inom dina SLA och undvika potentiella negativa effekter från avbrott. Dina flödes- och komponentåterställningsmål hjälper till att definiera omfattningen av din testning.
Fastställ en felbudget som en investering i kaos och felinjektering. Felbudgeten är skillnaden mellan att uppnå 100 % av SLO:n och att uppnå den överenskomna SLO:n.
Stoppa experimentet om det går utanför omfattningen. Okända resultat är en förväntad utgång vid kaosexperiment. Sträva efter att uppnå balans mellan att samla in resultatinformation och att påverka så få produktionsanvändare som möjligt.
Arbeta nära utvecklingsteamen för att säkerställa relevansen hos de injicerade felen. Använd tidigare incidenter eller problem som vägledning. Granska beroenden och utvärdera resultaten när du tar bort beroendena.
Identifiera och dokumentera tidigare oupptäckta beroenden mellan olika komponenter inom din arbetsbelastning som avslöjas genom kaostestning.
Justera återställningsplanerna efter behov för att ta hänsyn till beroenden som upptäcks under kaostestning.
Använd resultaten från dina experiment och tester som grund för nya experiment och tester. När oväntade beteenden uppstår kan nya tester rikta dessa beteenden direkt mot dem och ge dig möjlighet att utforma åtgärdsstrategier för dem.
Kompromisser: Tester för felinjektion i produktion kan vara störande och potentiellt orsaka driftstopp. Var transparent med intressenter om denna möjlighet och se till att du har säkerhetsåtgärder på plats för att avsluta experiment och återställningsplaner för att snabbt åtgärda de misslyckanden som du introducerar.
Underlätta Power Platform
Du kan använda statiska resultat i Power Automate för att returnera ett fast resultat för att testa arbetsbelastningen.
Du kan använda Power Platform Playwright-exempel för att testa alla typer av Power Apps.
Azure testplaner är en lättanvänd, webbläsarbaserad testhanteringslösning som ger alla funktioner som krävs för planerad manuell testning, testning av användaracceptans, utforskande testning och insamling av feedback från intressenter.
Om din arbetsbelastning inkluderar Azure-resurser kan du använda Azure Chaos Studio en hanterad tjänst som använder kaosteknik för att hjälpa dig mäta, förstå och förbättra din molnapp och tjänstemotståndskraft.
Om din arbetsbelastning innehåller en Microsoft Copilot Studio agent kan du använda Copilot Agent Kit för att konfigurera agenter och tester. Genom att köra enskilda tester mot Copilot Studio API:erna (Direct Line) utvärderas agentens svaren mot förväntade resultat.
Relaterad information
Checklista för tillförlitlighet
Se den fullständiga uppsättningen med rekommendationer.