Anbefalinger til design af en strategi for test af stabilitet
Gælder for denne anbefaling af kontrolliste til velstruktureret pålidelighed i Power Platform:
RE:06 | Test for robustheds- og tilgængelighedsscenarier ved at anvende principperne om kaosteknik i test- og produktionsmiljøerne. Test for at sikre, at dine implementeringsstrategier for problemfri forringelse er effektive ved at udføre aktiv test af fejlfunktion og simuleret belastning. |
---|
I denne vejledning beskrives de anbefalinger, du skal bruge til at udarbejde en strategi for test af stabilitet for at validere og optimere pålideligheden af arbejdsbelastningen. Ved overvågning af stabilitet fokuseres der på belastningsbelastningens sårbarhed og tilgængelighed, især de vigtige flow, du identificerer, når du designer løsningen. Denne vejledning indeholder en generel vejledning i test og en vejledning, der er specifik for fejlinjektion og kaosteknik.
Definitioner
Begreb | Definition |
---|---|
Tilgængelighed | Den tid, som et programs arbejdsbelastning kører i en tilstand med en sund tilstand uden længere nedetid. |
Kaosteknik | Den praksis, der er praksis med at udsætte programmer og tjenester for virkelige verden og fejl. Målet med kaosteknik er at opbygge og validere afhængigheder, der ikke kan overføres. |
Fejlinjektion | Den handling, der består i at introducere en fejl i et system for at teste systemets sårbarhed. |
Genoprettelse | Et synonym for lige arbejde. |
Robusthed | En programbelastnings mulighed for at håndtere fejltilstande og gendanne programmet efter fejltilstande. |
Vigtigste designstrategier
Test er vigtige for at sikre, at arbejdsbelastningen opfylder pålidelighedsmålene og kan håndtere fejl problemfrit. Fejlinjektion er en type test, der bevidst introducerer fejl eller stress i systemet for at simulere scenarier fra den virkelige verden. Ved hjælp af fejlinjektion og teknikker til kaosteknik kan du proaktivt opdage og løse problemer, før de påvirker produktionsmiljøet. Dette afsnit indeholder en generel vejledning i test, fejlinjektion og kaosteknik til din arbejdsbelastning.
Generel testvejledning
Foretag rutinemæssig test for at validere eksisterende tærskelværdier, mål og antagelser. Når der sker en større ændring i arbejdsbelastningen, skal du jævnligt teste. Udføre de fleste test i test- og midlertidige miljøer. Det nytter også at køre en delmængde test mod produktionssystemet.
Du kan automatisere test for at sikre ensartet testdækning og fleksibilitet. Du kan automatisere almindelige testopgaver og integrere dem i dine buildprocesser. Manuel test af software er kedelig og sårbar over for fejl, men du kan udføre manuel sonderende test. I de tilfælde, hvor du skal udvikle automatiseret test, skal du bruge manuel test til at fastlægge omfanget af de test, der skal udvikles.
Foretag en test af skift til venstre for at udføre test af tilgængelighed tidligt i udviklingscyklussen.
Tilpas et simpelt dokumentationsformat, så det er nemt for alle at forstå processen og resultaterne af alle almindelige test.
Del de dokumenterede resultater med de relevante teams, f.eks. driftsteams, teknologisk lederskab, interessenter i virksomheder og interessenter i it-katastrofeberedskab. Resultaterne bør gøre det muligt at finjustere stabilitetsmål, f.eks. mål på serviceniveau, serviceaftaler (SLA'er), mål for gendannelsestid og mål for gendannelsespunktet (RPO'er).
Opret en regelmæssig testkadence for sikkerhedskopierne. Gendan dataene til isolerede systemer for at sikre, at sikkerhedskopierne er gyldige, og at gendannelserne fungerer.
Dokumentere og dele målepunkter for gendannelsestid med interessenterne i it-katastrofeberedskab for at sikre, at forventningerne til gendannelse er passende.
Du kan bruge fremgangsmåder til test af branchestandardinstallationer for at sikre, at du har en automatiseret, forudsigelig og effektiv installationsproces.
Test arbejdsbelastningens mulighed for at håndtere midlertidige fejl. Du kan finde flere oplysninger i Anbefalinger til håndtering af midlertidige fejl.
Test, hvordan arbejdsbelastningen håndterer fejl i afhængige tjenester eller andre afhængigheder ved hjælp af fejlinjektion.
Test din plan for it-katastrofeberedskab for at reagere på nedbrud af katastrofeberedskab og andre større hændelser.
Test arbejdsbelastningens mulighed for forsigtigt at nedgradere og minimere komponentens fejlfunktion ved hjælp af fejlinjektion.
Brug af planlagte og ikke-planlagte udfald
Når arbejdsbelastningen er offline på grund af planlagt vedligeholdelse eller en ikke-planlagt udfald, har du en særlig mulighed for at udføre test og forbedre forståelsen af arbejdsbelastningen. Følgende afsnit indeholder anbefalinger for hvert scenarie.
Planlagt vedligeholdelse
Når du har planlagt vedligeholdelsesvinduer for opdateringer eller rettelser, kan du teste komponenter og flow, der ikke er involveret i vedligeholdelsesarbejdet. Udfør test uden den potentielle risiko for uventet nedgradering af arbejdsbelastningen eller af den måde, den håndteres offline på. Hvis du har tilstrækkelig tid i reparationsvinduet, kan du også teste de komponenter og flow, der er involveret i vedligeholdelsen, når vedligeholdelsesarbejdet er udført.
Ikke-planlagt udfald
Brug alle udfaldshændelser som en mulighed for at få mere at vide om din arbejdsbelastning og forbedre belastningen ved at udføre disse trin efter prioritet:
Få arbejdsbelastningen online igen for brugerne. Du skal muligvis løse problemet, løse problemet eller starte gendannelsesprocesserne.
Fastslå den grundlæggende årsag til udfaldet og løs problemet. Hvis du kan løse årsagen som en del af undersøgelsen, kan du dokumentere den grundlæggende årsag og de foranstaltninger, du har truffet for at rette den. Hvis problemet kræver, at du tager et nyt vedligeholdelsesvindue senere, skal du sikre dig, at dine afhjælpningsforanstaltninger kan håndtere den forventede belastning ved at teste dem grundigt. Sørg for, at du har konfigureret tilstrækkelig overvågning til at dække afhjælpningsforanstaltningerne.
Hvis det er relevant, kan du søge efter det samme problem eller svagheder i konfigurationen, der kan blive berørt af lignende problemer, på tværs af alle komponenter i arbejdsbelastningen. Brug denne salgsmulighed til proaktivt at adressere disse komponenter. Læs din hændelseshistorik for at registrere mønstre af lignende problemer på tværs af arbejdsbelastningen.
Brug resultaterne til at forbedre teststrategien. Sørg for, at du har løst den grundlæggende årsag og lignende problemer ved direkte at teste den samme fejl.
Fejlinjektion og vejledning i kaosteknik
Test af fejlinjektion følger principperne i kaosteknik ved at holde arbejdsbelastningen i stand til at reagere på komponentfejl. Foretag test af fejlinjektion i testmiljøer og produktionsmiljøer. Anvend de oplysninger, du har lært af analyse af fejltilstand, for at sikre, at du kun tester de fejl, du prioriterer, og at du har afhjælpningsstrategier, der afhjælper fejl.
De vigtigste retningslinjer for kaosteknik er:
Vær proaktiv. Vent ikke, til der opstår fejl. Prøv at forudse fejl ved at udføre kaoseksperimenter for at finde og løse problemer, før de påvirker produktionsmiljøet.
Udnyt fejl. Acceptér og få mere at vide om de fejl, der opstår i systemet. Se fejl som en naturlig del af komplekse systemer, og brug dem som muligheder for at lære systemet at vide og forbedre pålideligheden.
Hold pause i systemet. Der opstår bevidst fejl eller stress i systemet for at teste systemets belastning. Simuler fejl eller forstyrrelser i den virkelige verden for at teste og forbedre funktionerne til gendannelse af arbejdsbelastningen.
Opbyg immunitet. Brug eksperiment med kaosteknik til at forbedre din arbejdsbelastnings mulighed for at forhindre og gendanne efter fejl.
Kaosteknik er en integreret del af teamkulturen for arbejdsbelastning og en løbende praksis, ikke en kortsigtet indsats som svar på en enkelt udfald. Følg denne standardmetode, når du designer dine kaoseksperimenter:
Start med en hypotese. Hvert enkelt eksperiment skal have et klart mål, f.eks. at teste en flows mulighed for at undgå at miste en bestemt komponent.
Måling af grundlæggende funktionsmåde. Sørg for, at du har ensartede pålideligheds- og ydelsesmetrikværdier for det flow og komponenter, der er involveret i et eksperiment, for at sammenligne med den forringede tilstand, når du kører eksperimentet.
Indsæt en eller flere fejl. Eksperimentet skal med overlæg målrette mod bestemte komponenter, der kan gendannes hurtigt, og du skal have en velinformeret forventning om, at fejlinjektionen vil få indflydelse på eksperimentet.
Overvåg den funktionsmåde, der opstår. Indsamle telemetrikker om de enkelte flowkomponenter og den slutpunkt til slutpunkt-flowfunktion, som eksperimentet har til formål at forstå fejlens effekt korrekt. Sammenlign de målepunkter, du indsamler, med baselinemetrikværdierne for at få et komplet billede af resultaterne af fejlinjektionen.
Dokumentér processen og observationer. Hvis du opbevarer detaljerede poster over dine forsøg, bliver fremtidige beslutninger om arbejdsbelastningsdesignet informeret, så du sikrer dig, at du tager hånd om de opgaver, der er blevet brugt over tid.
Identifikation og handling på resultatet. Planlæg trin til forbedring af arbejdsbelastningen, der kan føjes til belastningsloggen, som forbedringer. Sørg for, at designforbedringsplaner gennemses og testes i nonproduction-miljøer i henhold til de samme processer som andre installationer.
Valider jævnligt din proces, dine arkitekturvalg og din kode, så du hurtigt kan registrere teknisk gældssanering, integrere nye teknologier og tilpasse dig ændrede krav.
Når du udfører forsøg med fejlinjektion, skal du:
Kontrollér, at overvågningen er på plads, og at der er konfigureret vigtige beskeder.
Valider din proces med at tildele en direkte ansvarlig person (DRI) til at tage ejerskab af en hændelse.
Sørg for, at dine dokumentations- og undersøgelsesprocesser er opdaterede.
Integrer følgende anbefalinger og overvejelser for at optimere din strategi for test af kaos:
Udfordr systemantagelser. Ved hjælp af test forsøger du at forbedre arbejdsbelastningens og dine designstrategier for arbejdsbelastning. Søg efter muligheder for at udnytte fejl i komponenter og flow, som du antager, er pålidelige på baggrund af tidligere erfaringer. De er måske ikke pålidelige i forbindelse med din nye arbejdsbelastning.
Valider ændring. Uden en grundig test, herunder test af fejlinjektion, har du muligvis ikke et ufuldstændigt billede af arbejdsbelastningen, når der er foretaget ændringer. Du kan f.eks. introducere nye afhængigheder, der ikke umiddelbart er synlige.
Brug SLA-buffere. Begræns test af kaos for at holde dig inden for dine SLA'er, og undgå potentielle negative indvirkninger fra udfald. Målene for gendannelse af flow og komponent kan hjælpe dig med at definere omfanget af testen.
Opret et fejlbudget som en investering i kaos og fejlinjektion. Dit fejlbudget er forskellen mellem at opnå 100 % af SLO og at opnå den aftalte SLO.
Stop eksperimentet, hvis det ikke kan udvides. Ukendte resultater er et forventet resultat af kaoseksperimenter. Opnå balance mellem indsamling af omfattende resultatdata og påvirkning af så få produktionsbrugere som muligt.
Arbejd tæt sammen med udviklingsteams for at sikre, at fejlene er relevante. Brug tidligere hændelser eller problemer som en vejledning. Undersøg afhængigheder og evaluer resultaterne, når du fjerner disse afhængigheder.
Identificer og dokumenter tidligere ikke-opdagede afhængigheder mellem forskellige komponenter i arbejdsbelastningen, der bliver håndteret gennem en kaostest.
Juster gendannelsesplaner efter behov for at tage højde for afhængigheder, der opdages under en test af kaos.
Brug resultaterne fra dine forsøg og test som udgangspunkt for nye forsøg og test. Efterhånden som der opstår uventede funktionsmåder, kan nye test målrette disse funktionsmåder direkte og give dig mulighed for at udforme strategier for dannelse af konflikter for dem.
Tradeoff: Test af fejlinjektion i produktion kan forstyrre og potentielt forårsage nedetid. Vær åben over for interessenter om denne mulighed og sikre, at du har sikkerhedsforanstaltninger, der gør det muligt at afslutte forsøg og annullere planer for annullering for hurtigt at vende de fejl, du introducerer.
Power Platform-processtyring
Du kan bruge statiske resultater i Power Automate til at returnere et fast resultat for at teste arbejdsbelastningen.
Power Apps Testprogram (forhåndsversion) er en Power Platform CLI-komponent, du kan bruge til at teste enkeltstående apps på lærred Power Apps.
Azure Test Plans er en brugervenlig browserbaseret teststyringsløsning, der indeholder alle de funktioner, der kræves til planlagt manuel test, test af brugeraccept, sonderende test og indsamling af feedback fra interessenter.
Hvis din arbejdsbelastning omfatter Azure-ressourcer, kan du bruge Azure Chaos Studio, en administreret tjeneste, der bruger kaosteknik, til at måle, forstå og forbedre skyprogrammet og -tjenesten.
Hvis din arbejdsbelastning omfatter en Microsoft Copilot Studio agent, kan du bruge Power CAT Copilot Studio-pakken til at konfigurere agenter og tests. Ved at køre individuelle tests i forhold til Copilot Studio API'erne (Direct Line) evalueres agent-svarene i forhold til de forventede resultater.
Kontrolliste for bæredygtighed
Se det fuldstændige sæt anbefalinger.