Design för åtgärder
Flytta vänster i åtgärder för att förutse feltillstånd. |
---|
Testa fel tidigt och ofta i utvecklingslivscykeln och fastställa prestandans inverkan på tillförlitligheten. För rotorsaksanalysens och postmortems skull måste du ha delad synlighet, mellan team, beroendestatus och pågående fel. Insikter, diagnostik och aviseringar från observerbara system är grundläggande för effektiv incidenthantering och kontinuerlig förbättring.
Contoso University kör en webbapp som bygger på mikrotjänster som tillhandahåller utbildningstjänster, till exempel onlineklasser, för Contosos lärare och studenter. Arbetsbelastningen bygger på Azure App Service, Azure SQL Database, Microsoft Entra ID, Azure Key Vault, Azure Service Bus, Azure Monitor och Azure DevOps.
Implementera robust övervakning
Skapa observerbara system som kan korrelera telemetri.
Övervakning och diagnostik är viktiga åtgärder. Om något misslyckas måste du veta att det misslyckades, när det misslyckades och varför det misslyckades. Observerbarhet på komponentnivå är grundläggande, men aggregerad observerbarhet för komponenter och korrelerade flöden ger en holistisk syn på hälsostatus. Dessa data krävs för att göra det möjligt för platstillförlitlighetstekniker att prioritera sina åtgärder.
Contosos utmaning
- Arbetsbelastningsprogrammet distribueras som en del av en svit med fem frikopplade tjänster på flera funktionella nivåer.
- Teamet vill kunna analysera transaktioner och användarbegäranden när de går igenom de olika nivåerna i lösningen för att identifiera flaskhalsar som kan leda till instabilitet och utföra effektivare felsökning när problem uppstår.
Tillämpa metoden och resultaten
- Arbetsbelastningsteamet instrumenterar komponenterna för att samla in loggar och mått med Application Insights och konfigurerar loggning för alla plattformstjänster. Alla loggar vidarebefordras till arbetsbelastningens Azure Monitor-arbetsyta.
- Data i AzM-arbetsytan kan användas för att analysera hälsotillståndet för enskilda komponenter i lösningen och aggregerade flöden och lösningens hälsa.
- Genom att korrelera poster som hör till samma begäran mellan komponenter och nivåer kan teamet fastställa arbetsbelastningens hälsa och underlätta felsökningsprocesserna.
Förutsäga potentiella fel och avvikande beteende
Gör aktiva tillförlitlighetsfel synliga med hjälp av prioriterade och åtgärdsbara aviseringar. Investera i tillförlitliga processer och infrastruktur som leder till snabbare triage.
Tekniker för platstillförlitlighet kan meddelas omedelbart så att de kan minimera pågående live-platsincidenter och proaktivt minimera potentiella fel som identifieras av prediktiva aviseringar innan de blir liveincidenter.
Contosos utmaning
- Teamet förväntar sig en betydande ökning av trafiken i början av varje termin, eftersom eleverna registrerar sig för klasser, får åtkomst till kursplaner och köper läroböcker.
- Under den här kritiska perioden av läsåret måste teamet se till att tillräckligt med kapacitet för den ökade förväntade belastningen är tillgänglig. Teamet måste också kunna reagera snabbt på andra potentiella tillgänglighetsproblem som kan uppstå.
Tillämpa metoden och resultaten
- Teamet konfigurerar webb- och databasnivåerna för att automatiskt skala ut för att ha extra kapacitet före den förväntade ökningen av efterfrågan och fortsätta att allokera kapacitet när belastningen ökar.
- Beredskapsplanen justeras så att aviseringar relaterade till de flöden som är stressade under den här perioden prioriteras av incidenthanteringsteamet.
Testa för tillförlitlighetsrisker
Simulera fel och köra tester i produktions- och förproduktionsmiljöer.
Det är fördelaktigt att uppleva fel i produktionen så att du kan ställa in realistiska förväntningar på återställning. På så sätt kan du göra designval som på ett smidigt sätt svarar på fel. Dessutom kan du testa de tröskelvärden som du anger för affärsmått.
Contosos utmaning
- Kommunikationen mellan webbnivån och REST-tjänsten för studentregistrering i den här arbetsbelastningen förlitar sig på klientcertifikat.
- Eftersom funktionen för studentregistrering inte används mycket efter att termen börjar, kan problemet gå oidentifierat under en tid om certifikatet som används av studentregistreringstjänsten upphör att gälla.
- Under den senaste registreringsperioden inträffade dessutom flera avbrott i tjänsten på grund av att systemet felaktigt hanterade tillfälliga anslutningsfel. Teamet har gjort vissa kodförbättringar för att hantera tillfälliga fel, men är osäker på hur funktionerna kommer att bete sig i verkliga produktionsscenarier.
Tillämpa metoden och resultaten
- Teamet utvecklar syntetiska transaktionstester som ska köras i produktion enligt ett månatligt schema för att simulera flera flöden, inklusive registreringsflödet.
- Aviseringar har konfigurerats för de syntetiska transaktionstesterna så att teamet meddelas kommer att misslyckas, vilket täcker risken för att certifikaten upphör att gälla.
- Dessutom har teamet investerat i att skapa kaostestning i sitt SDLC, utföra rutinmässiga kaostester och fånga resultaten för att både validera självbevarelsedriftstekniker och för att upptäcka tidigare okända tillförlitlighetsproblem.