Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
gäller för den här checklistsrekommendationen för tillförlitlighet i Azure Well-Architected Framework:
RE:08 | Testa för återhämtnings- och tillgänglighetsscenarier genom att tillämpa principerna för kaosteknik. Se till att dina implementerings- och skalningsstrategier för graciös nedbrytning är effektiva genom att utföra aktiva fel och simulerad belastningstestning. |
---|
Den här guiden beskriver rekommendationerna för att utforma en strategi för tillförlitlighetstestning för att verifiera och optimera tillförlitligheten för din arbetsbelastning. Tillförlitlighetstestning fokuserar på återhämtning och tillgänglighet för din arbetsbelastning, särskilt de kritiska flöden som du identifierar när du utformar din lösning. Den här guiden innehåller allmän vägledning och vägledning för testning som är specifik för felinmatning och kaosteknik.
Definitioner
Term | Definition |
---|---|
Tillgänglighet | Hur lång tid en programarbetsbelastning körs i ett felfritt tillstånd utan betydande stilleståndstid. |
Kaosteknik | Praxisen att utsätta program och tjänster för verkliga påfrestningar och misslyckanden. Målet med kaosteknik är att bygga och validera motståndskraft mot otillförlitliga förhållanden och saknade beroenden. |
Felinsprutning | Att införa ett fel i ett system för att testa systemets återhämtning. |
Återvinning | En synonym för återhämtning. |
Motståndskraft | En applikationsarbetsbelastnings förmåga att motstå och återhämta sig från fellägen. |
Utför rutinmässigt testning för att verifiera befintliga tröskelvärden, mål och antaganden. När en större ändring sker i din arbetsbelastning kör du regelbundna tester. Utför de flesta tester i test- och mellanlagringsmiljöer. Det är också bra att köra en delmängd tester mot produktionssystemet. Planera en en-till-en-koppling av viktiga testmiljöer med produktionsmiljön.
Automatisera testningen för att säkerställa konsekvent testtäckning och reproducerbarhet. Automatisera vanliga testuppgifter och integrera dem i dina byggprocesser. Manuellt testning av programvara är omständligt och känsligt för fel, men du kan utföra manuell undersökande testning. I fall där du behöver utveckla automatiserad testning använder du manuell testning för att fastställa omfånget för de tester som ska utvecklas.
Anta en metod för skift-vänster-testning för att utföra återhämtnings- och tillgänglighetstestning tidigt i utvecklingscykeln.
Anpassa ett enkelt dokumentationsformat så att det är enkelt för alla att förstå processen och resultatet av varje regelbundet test.
Dela de dokumenterade resultaten med lämpliga team, till exempel operativa team, teknikledarskap, affärsintressenter och intressenter för haveriberedskap. Resultaten bör informera om förfining av tillförlitlighetsmål, till exempel servicenivåmål , serviceavtal (SLA), mål för återställningstid (RTO) och mål för återställningspunkter .
Skapa en regelbunden testtakt för dina säkerhetskopior. Återställ data till isolerade system för att säkerställa att säkerhetskopiorna är giltiga och att återställningarna fungerar.
Dokumentera och dela mått för återställningstid med dina intressenter för haveriberedskap för att säkerställa att förväntningarna på återställning är lämpliga.
Använd procedurerna för branschstandard distributionstestning för att säkerställa att du har en automatiserad, förutsägbar och effektiv distributionsprocess.
Testa arbetsbelastningens förmåga att klara tillfälliga fel. Mer information finns i Rekommendationer för hantering av tillfälliga fel.
Testa arbetsbelastningens förmåga att svara på ändringar i belastningsmönster och toppar i användningen. Använd den här informationen för att testa din skalningsstrategi. Information om belastnings- och stresstestning finns i Rekommendationer för testning.
Testa hur din arbetsbelastning hanterar fel i beroende tjänster eller andra beroenden med hjälp av felinmatning.
Testa och verifiera hur din självläkande och självbevarande design svarar på funktionsfel. Testa automatiserade och manuella återställningsåtgärder.
Testa din katastrofhanteringsplan för att hantera katastrofala fel och andra större incidenter.
Testa arbetsbelastningens förmåga att försämras korrekt och minimera explosionsradien för komponentfel med hjälp av felinmatning.
När din arbetsbelastning är offline på grund av planerat underhåll eller ett oplanerat avbrott har du en unik möjlighet att utföra testning och förbättra din förståelse för din arbetsbelastning. Följande avsnitt innehåller rekommendationer för varje scenario.
När du har planerade underhållsperioder för uppdateringar eller korrigeringar kan du testa komponenter och flöden som inte ingår i underhållsarbetet. Utför tester utan den potentiella risken att oväntat nedgradera arbetsbelastningen eller ta den helt offline. Om du har tillräckligt med tid under underhållsperioden kan du även testa de komponenter och flöden som ingår i underhållet när underhållsarbetet är klart.
Använd varje avbrottsincident som en möjlighet att lära dig mer om din arbetsbelastning och förbättra dess återhämtning genom att följa dessa steg, ordnade efter prioritet:
Få tillbaka arbetsbelastningen online för dina kunder. För att göra det kan du utföra en tillfällig lösning för problemet, lösa problemet eller initiera återställningsprocesserna.
Fastställ den bakomliggande orsaken till driftstoppet och vidta åtgärder. Om du kan åtgärda grundorsaken som en del av undersökningen, dokumentera då grundorsaken och de åtgärder du vidtog för att åtgärda den. Om problemet kräver ytterligare en underhållsperiod vid ett senare tillfälle kontrollerar du att dina åtgärdsåtgärder kan hantera den förväntade belastningen genom att testa den noggrant. Se till att du har konfigurerat tillräckligt med övervakning för att täcka dina åtgärdsåtgärder.
Om det är tillämpligt letar du efter samma problem eller konfigurationsbrister som kan påverkas av liknande problem i alla komponenter i din arbetsbelastning. Använd den här möjligheten för att proaktivt hantera dessa komponenter. Läs din incidenthistorik för att identifiera mönster för liknande problem i din arbetsbelastning.
Använd dina resultat för att förbättra teststrategin. Kontrollera att du har åtgärdat rotorsaken och liknande problem genom att testa samma fel direkt.
Felinmatningstestning följer principerna för kaosteknik genom att markera arbetsbelastningens förmåga att reagera på komponentfel. Utför felinjiceringstester i förproduktions- och produktionsmiljöer. Tillämpa testning på infrastruktur- och programlager. Använd den information som du har lärt dig rekommendationer för att utföra fellägesanalys för att säkerställa att du bara testar fel som du prioriterar och att du har riskreduceringsstrategier som åtgärdar fel. De viktigaste riktlinjerna för kaosteknik är:
Var proaktiv. Vänta inte på att fel ska inträffa. Försök att förutse fel genom att utföra kaosexperiment för att identifiera och åtgärda problem innan de påverkar produktionsmiljön.
Omfamna misslyckande. Acceptera och lär dig av de fel som inträffar i systemet. Se fel som en naturlig del av komplexa system och använd dem som möjligheter att lära sig och förbättra systemets tillförlitlighet.
Bryt systemet. Mata avsiktligt in fel eller stress i systemet för att testa dess motståndskraft. Simulera verkliga fel eller störningar för att testa och förbättra arbetsbelastningens återställningsfunktioner.
Identifiera och åtgärda enskilda felpunkter tidigt. När du testar, konsulterar och uppdaterar din analys av felläge för att validera och åtgärda fel i din dokumentation. Använd tillförlitlighetsmetoder, till exempel redundans och segmentering, för att öka arbetsbelastningens tillgänglighet och minimera stilleståndstiden.
Installera skyddsräcken och en smidig åtgärd. Implementera säkerhetsåtgärder, till exempel kretsbrytarmönstret eller begränsningsmönstret, för att öka tillgängligheten. Implementera graciösa nedbrytningsmetoder som möjliggör affärskontinuitet vid fel.
Minimera explosionsradien. Implementera strategier för felisolering för att säkerställa att dess omfång är begränsat även om ett fel inträffar. Systemet fortsätter att fungera med minimal effekt på dina kunder.
Skapa immunitet. Använd kaostekniska experiment för att förbättra arbetsbelastningens förmåga att förhindra och återställa från fel.
Kaosteknik är en integrerad del av arbetsbelastningsteamets kultur och en pågående övning, inte en kortsiktig taktisk insats som svar på ett enda avbrott. Följ den här standardmetoden när du utformar dina kaosexperiment:
Validera regelbundet din process, dina arkitekturval och din kod för att snabbt identifiera tekniska skulder, integrera nya tekniker och anpassa dig till förändrade krav.
När du utför felinmatningsexperiment:
Integrera följande rekommendationer och överväganden för att optimera din strategi för kaostestning:
Utmana systemantaganden. Med testning försöker du förbättra återhämtningsförmågan för din arbetsbelastning och dina strategier för arbetsbelastningsdesign. Leta efter möjligheter att mata in fel i komponenter och flöden som du antar är tillförlitliga baserat på tidigare upplevelser. De kanske inte är tillförlitliga i din nya arbetsbelastning.
Verifiera ändringar, till exempel topologi, plattform och resurser. Utan noggrann testning, inklusive felinmatningstestning, kan du ha en ofullständig bild av din arbetsbelastning när ändringarna har gjorts. Du kan till exempel oavsiktligt introducera nya beroenden eller brutna befintliga beroenden på ett sätt som inte är omedelbart uppenbart.
Använd SLA-buffertar. Begränsa kaostestning för att hålla dig inom dina serviceavtal och undvika potentiella rykteseffekter eller ekonomiska effekter från avbrott. Dina mål för flödes- och komponentåterställning hjälper dig att definiera omfånget för testningen.
Upprätta en felbudget som en investering i kaos och felinmatning. Din felbudget är skillnaden mellan att nå 100 procent av SLO:et och att nå det överenskomna SLO:et.
Stoppa experimentet om det överskrider omfånget. Okända resultat är ett förväntat resultat av kaosexperiment. Sträva efter att uppnå balans mellan att samla in betydande resultatdata och påverka så få produktionsanvändare som möjligt.
Arbeta nära utvecklingsteamen för att säkerställa relevansen av de inmatade felen. Använd tidigare incidenter eller problem som en guide. Granska beroenden och utvärdera resultatet när du tar bort dessa beroenden.
Identifiera och dokumentera tidigare oupptäckta beroenden mellan olika komponenter i din arbetsbelastning som avslöjas genom kaostestning.
Justera återställningsplaner efter behov för att ta hänsyn till beroenden som identifieras 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 och ge dig möjlighet att utforma reparationsstrategier för dem.
Kompromiss: Felinmatningstestning i produktion kan vara störande och kan orsaka driftstopp. Var öppen med intressenter om denna möjlighet och se till att du har säkerhetsåtgärder redo att avsluta experiment och vända planer för att snabbt åtgärda de felaktigheter du inför. För att skydda dig mot oavsiktliga avbrott i produktionen måste du planera för tillräckligt med redundans och att dina intressenter förstår kostnadsavvägningen.
Azure Test Plans är en lättanvänd, webbläsarbaserad testhanteringslösning som innehåller alla funktioner som krävs för planerad manuell testning, testning av användargodkännande, undersökande testning och insamling av feedback från intressenter.
Azure Chaos Studio är en hanterad tjänst som använder kaosteknik för att hjälpa dig att mäta, förstå och förbättra molnappens och tjänstens motståndskraft. Azure Chaos Studio nådde allmän tillgänglighet på Ignite 2023 och har många funktioner som hjälper dig att komma igång med felinmatning och återhämtningstestning för ditt program med hjälp av Azure-infrastrukturen.
Se den fullständiga uppsättningen rekommendationer.
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Microsoft Azure Well-Architected Framework – Tillförlitlighet - Training
Använd tillförlitlighetsvägledning i din arkitektur för att förbättra arbetsbelastningens tillgänglighet och motståndskraft.
Certifiering
Microsoft-certifierad: Specialitet för Azure för SAP-arbetsbelastningar - Certifications
Demonstrera planering, migrering och drift av en SAP-lösning på Microsoft Azure medan du använder Azure-resurser.