Anteckning
Å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.
Kärnan i grundpelarna för operational excellence är DevOps-metoder som säkerställer arbetsbelastningskvaliteten genom standardiserade arbetsflöden och teamsammanhållning. Den här pelaren definierar operativa procedurer för utvecklingsmetoder, observerbarhet och versionshantering. Målet är att minimera processvariansen, risken för mänskliga fel och störningar för kunderna. Börja med följande frågor för att utvärdera driftshälsan:
- Utför du åtgärder med disciplin?
- Använder kunder arbetsbelastningen med maximal förutsägbarhet?
- Hur lär du dig av erfarenhet och insamlade data för att skapa kontinuerlig förbättring?
Arbetsbelastningen kan övergå till kaotiska metoder när det inte finns något tydligt ägarskap eller ledarskap. I den här typen av miljö använder team ofta metoder som körs med hög ansträngning och ger låga resultat, vilket leder till dålig användarupplevelse. Dessa metoder uppfyller endast kortsiktiga mål. Långsiktiga fördelar realiseras genom kontinuerlig utvärdering och strategiska investeringar.
Designprinciperna innehåller riktlinjer för operativa strategier som måste beaktas för att åtgärda de underliggande orsakerna och inte bara behandla symtom. Börja med de rekommenderade metoderna och observera sedan vad som fungerar och vad som inte identifierar förbättringsområden. När du har angett din strategi fortsätter du att driva åtgärder med hjälp av checklistan för driftskvalitet.
Driftkraven för en arbetsbelastning är lika viktiga som företagets affärskrav. Effektiva processer säkerställer att arbetsbelastningen uppnår affärsresultat inom efterlevnadsbegränsningarna, oavsett om efterlevnaden är organisatorisk eller extern. Nyckeln är att hitta repeterbarhet med konsekvens.
Målet med grundpelare för operational excellence är att göra det rätta, att göra det på rätt sätt och att lösa rätt problem som ett team.
Om du uppfyller dessa mål körs arbetsbelastningarna tillförlitligt och förutsägbart även under förändringstider. Oförmåga att uppfylla driftskraven kan leda till misslyckade distributioner, inkonsekvent användarupplevelse och extra kostnader som kunde ha undvikits genom korrekt planering och effektiv körning.
Omfamna DevOps-kulturen
|
---|
DevOps är en community där mångfald av perspektiv och färdigheter driver mot ett uppdrag. Teamen måste främja en samarbetsmiljö med delad kunskap i stället för siloed learning. Använd delade funktioner för att försöka övervinna resursbegränsningar.
En bra DevOps-kultur frodas på delat ansvar. Utvecklings- och driftsteamen bör anpassa sina mål och prioriteringar till kundernas förväntningar och ha affärsfokus i åtanke. Utvecklingsteamet bör involvera driftsteamet i feedbackloopen så att förbättringarna drivs uppströms och andra team gynnas på samma sätt. Omvänt ansvarar driftteamen för att göra utvecklingsteamet framgångsrikt i sina affärsresultat genom att dela resurser och feedback som är relevanta för arbetsbelastningen.
Samtidigt tillämpar DevOps-metoder tydliga ägarskapslinjer och ansvarstagande för varje team. Oavsett var programmet körs ansvarar arbetsbelastningsteamet för programmet.
DevOps optimerar operativa uppgifter så att de är effektiva men inte betungande. För att dra full nytta av DevOps bör kulturen optimera processer genom teknik och ha processer för personer i organisationen för att främja transparent kommunikation.
Tillvägagångssätt | Fördelar |
---|---|
Använd vanliga system och verktyg som främjar en samarbetsmiljö för kommunikation och spårning. | Vanliga verktyg och processer möjliggör transparent kommunikation. Både utvecklings- och driftteam drar nytta av situationsmedvetenhet i olika miljöer, vanliga supportproblem och övergripande utmaningar och vinster. Teams kommer redan att känna till befintliga eskaleringsvägar om det uppstår en incident. En delad kvarvarande information gör prioriteringar, till exempel att arbeta med nya funktioner eller åtgärda buggar, tydliga. |
Skapa ett kontinuerligt utbildnings- och experimenteringstänk under hela utvecklingscykeln. Stöd för kunskapsdelning mellan team och underhåll av dokumentation för återanvändning. Genomför skuldfri analys och djuplodande genomgångar efter lansering och/eller efter incident. |
Genom experimenteringsmekanismer, till exempel A/B-testning och utveckling av konceptbevis, kan du uppmuntra innovation samtidigt som kostnaderna hålls låga. Dela med dig av kunskap genom samarbete som gör teamet skickligt på designmetoder, verktyg och processer. Att göra retrospektiv efter ett projekt hjälper till att identifiera områden för förbättring och fira framgång. |
Anta beprövade branschvariila metoder som fokuserar på åtgärdsoptimering. Leta efter möjligheter att "skifta åt vänster" i åtgärder för manuella och automatiserade processer, distributions- och kvalitetssäkringsmetoder och observerbarhet. |
Flexibla utvecklingsmetoder leder till kortare lanseringslivscykler, vilket är en indikator på affärsvärde. Att identifiera, lösa och därmed förhindra problem tidigare är ofta mindre påträngande för processen. |
Ange standarder för alla utvecklings- och driftprocedurer och granska och validera dem regelbundet. Dessa procedurer omfattar rutinuppgifter, out-of-band-processer, nödövningar och situationer, val av verktyg, övervakningsprocedurer, kompetensplaner och till och med kommunikation med intressenter och kundinformation. Var avsiktlig och explicit om dina beslut. |
Standarder ger förutsägbarhet till åtgärder och gör processer och metoder skalbara. Validering av standarder är ett bra sätt att dra poäng av förbättringar. Förbered dig för nödsituationer och återställningssituationer genom att utföra regelbundna övningar. Kör med precision och aktivera styrning för att förhindra avvikelser som leder till risker. |
Dra nytta av centraliserade driftsteam med specialkunskaper och erfarenhetsbredd. | Det finns en kostnadsförmån med att använda delade resurser både för åtgärder och resurser. Även om du äger din arbetsbelastning hjälper det centraliserade teamet dig med korsfunktionella färdigheter, till exempel incidenthantering, ett proaktivt perspektiv på övervakning och outsourcing av expertis med förtroende. |
Upprätta utvecklingsstandarder
|
---|
Utvecklingsteamet ansvarar för att hantera arbetsbelastningsproblem innan de släpps med minimal friktion. Tänk på utvecklareffektivitet och optimera för snabba vändningscykler, från kodning till testresultat. Implementera effektiva och rätt storleksprocesser som planerar och standardiserar tekniska aktiviteter och även skapar konsensus inom teamet och intressenterna.
Tillvägagångssätt | Fördelar |
---|---|
Dokumentera arbetsbelastningsfunktioner och samla in kundfördelar. Härled omfång och detaljerade funktionella och icke-funktionella krav för arkitekturen. Skapa storleksberäkningsmodeller för att rapportera om omfattningen och kostnaden för de uppgifter som berörs. |
Bra specifikationer minskar driftskostnaderna och risken för fel genom att stödja mer produktiva och strömlinjeformade utvecklingscykler. Utvecklare förstår de tekniska design-, mål- och slutförandekriterierna innan de börjar kodningscykeln. Bra dokumentation underlättar repeterbar kommunikation och registrering av nya teammedlemmar. |
Använd en branschstandardmetod för programvaruutveckling som är korrekt anpassad efter behoven för din arbetsbelastning och teamstorlek. Håll en backlogg som delas mellan alla roller. |
Införandet av en välkänd metodik anger projektets rytm. Det tar bort processambiguities genom att ge teammedlemmar tydliga förväntningar och ansvarsskyldighet. Genom att spåra mot en gemensam lista kan uppgifter förfinas och prioriteras med standardmetoder. Projektet kommer att ha bättre chanser att levereras i tid. Standardmetoder hjälper till med riskhantering. Med detaljerade granskningar av milstolpar kan utvecklare åtgärda potentiella problem innan de blir avgörande hinder. |
Använd enhetlig källkontroll för all kod, skript, distributionsmallar, pipelinedefinitioner och relaterad dokumentation. Förgreningsstrategin måste ha stöd för friktionsfri frisläppning av oberoende och beroende funktioner, felkorrigeringar och snabbkorrigeringar. Använd delade kunskaper i organisationen för att skapa din förgreningsstrategi och distributionsprocesser. |
Korrekt användning av källkontroll är avgörande för att stödja samtidiga ändringar och versionshantering. Upprätthålla ett repeterbart arbetsflöde för att släppa ändringar av olika storlekar och risker, utföra peer-granskningar som en del av processen och behålla ett spårningsspår. |
Ha kvalitetssäkringsprocesser som betonar testning tidigt i utvecklingslivscykeln. Inkludera alla artefakter för planerade testprocedurer, inklusive programkomponenter, infrastruktur och dataplansåtgärder som ingår i en funktionsversion eller uppdatering. Behandla artefakter som orörliga när de befordras genom miljöer och öka förtroendet varje gång de passerar genom en kvalitetsgrind. Där det är praktiskt möjligt automatiserar du rutinkontroller. |
Kvalitetssäkring säkerställer att funktionella och icke-funktionella krav uppfylls med förtroende, vilket leder till positiv kundpåverkan. Att ha testplaner säkerställer kvalitet och fullständighet och tar hänsyn till möjliga felfall. Med kvalitetsgrindar kan du tillämpa metodtips för att minska riskerna. Oföränderlighet ger förtroende eftersom det säkerställer att systemet som du testar är exakt vad du släpper. Testcykler blockerar effektivt förloppet såvida inte kvalitetskriterierna uppfylls. |
Skapa konsekvens genom att använda formatguider och verktyg, som tillämpar konventioner, och anta en gemensam verktygskedja för utveckling, testning och kommunikation med intressenter. Teknikstandarder för utvecklare bör kräva implementering av mönster, API-design, loggning, undantagshantering och andra processer. |
Konsekvens i kodning leder till läsbarhet och enklare underhåll. Det minskar också komplexiteten och möjliggör återanvändning av kod. Vanliga verktyg och konventioner hjälper också team att optimera processer utan att behöva åtgärda engångsval. |
Konsekvent och avsiktligt insisterar på utvecklardokumentation av kod som den är skriven. | Tydlig koddokumentation säkerställer att logik och funktioner är lätta att förstå när gammal kod behöver ses över eller när utvecklingsteam roterar. |
Rapportera förlopp och trender för att mäta effektiviteten. | Trender i buggar, misslyckade uppdateringar, tid för distribution, feedbackslingor och andra mått publiceras och som ger förbättringar. |
Utveckla åtgärder med observerbarhet
|
---|
Skapa en kultur som kontinuerligt förbättrar kvaliteten genom att övervaka arbetsbelastningen och ta hänsyn till alla grundpelare i Azure Well-Architected Framework. Gör det möjligt för teamet och intressenterna att fatta både kortsiktiga och långsiktiga beslut över många aspekter genom att tillhandahålla nödvändiga data, statistik och trender. Lär dig av dina data och driva förbättringar.
Åtgärder som skapats för att kunna observeras är nyckeln till proaktivt underhåll av programmet, kvalitets- och säkerhetssäkring, kapacitetsplanering och produkthantering.
En viktig aspekt av övervakningen är program som använder hälsomodellering för att hjälpa dig att förutse problem innan de blir incidenter och påverka kundupplevelsen. Effektiv övervakning minskar reaktiva cykler som används för incidenthantering.
Tillvägagångssätt | Fördelar |
---|---|
Skapa ett övervakningssystem med en egen stack och egna flöden. Behandla övervakningssystemet som en dimension av arbetsbelastningen som är frikopplad från dess nytta. Stacken måste omfatta alla lager, inklusive infrastruktur, programhälsa och bygg- och versionsprocesser. Insamling eller sampling av affärsdata ligger utanför omfånget för implementeringar av observerbarhet. |
Frikoppla övervaknings- och arbetsbelastningsstackar för att separera funktionella krav och observerbarhetskrav och göra oberoende utveckling möjlig. Ändringar i kod bör inte påverka övervakningen och vice versa. Eftersom efterlevnadskraven är åtskilda från funktionella krav störs inteaffärsdata av övervakning av konfigurationsändringar eller avbrott. |
Skapa konsekvens i insamlingsprocessen för varje typ av datakälla. Standardisera instrumentation i kod med hjälp av branschstandarder för telemetri, insamling av infrastrukturmått och verktyg. |
Konsekvens förhindrar varians i avkänning och mätning eftersom förtrogenhet mellan liknande resurser minskar tidsåtgången för korrelering och analys av data. Du har ett holistiskt perspektiv för att förutse problem. |
Generera telemetri från programkod som korrelerar huvudpunkterna i körningsflödet och ger ett helhetsperspektiv på olika detaljeringsnivåer. | Prioritera åtgärder baserat på allvarlighetsgrad och förstå kontexten med tanke på dess utförlighet. Den här informationen är viktig för felsökningsändamål. |
Ansvarar för att generera och samla in data, även när datamottagare delas av flera team och hanteras av centrala team. | Genom att lokalisera övervakningsdata till arbetsbelastningsmiljön kan teamet komma åt loggar och mått för att hantera arbetsbelastningsproblem. |
Samla in tillräckligt med data och behåll dem under tillräckligt med tid. Överväg kostnadsavvägningarna som är associerade med loggning och lagring av data. |
Avsiktlig datainsamling hjälper dig att optimera de ekonomiska och driftskostnader som är kopplade till insamling av mer data än du behöver. Minimera bruset och undvik intensiv beräkning under analysen och minska kostnaden för att lagra data som du inte längre behöver. |
Gör skillnad mellan de olika övervakningssignalerna: profiler, loggar, mått och spårningar. Använd varje signal för rätt syfte. Prioritera användningen av mått för att utlösa åtgärder som förlitar sig på numeriska mått. Använd profiler för att få synlighet på lägre nivå, till exempel minnesallokering, i systemet. Reservera användningen av loggar och spårningar för att tillhandahålla kontext för flöden och beroenden. |
Genom att använda signalerna i rätt syfte kan du förhindra ineffektiv implementering av övervakningssystemet. Till exempel kräver användning av loggar för åtgärder parsning. Du kanske kan uppnå samma mål snabbare med mått. |
Aggregera och visualisera data i instrumentpaneler för att presentera övervakningsdata som tillgodoser målgrupper och som håller affärskontexten i åtanke. Använd situationspaneler för att presentera data och öka medvetenhet bland intressenterna. Använd operativa instrumentpaneler och arbetsböcker med funktioner för ökad detaljnivå för operatörsaktiviteter som incidenthantering. Uppdatera instrumentpanelerna ofta och ange detaljerade data. |
Med visualiseringar kan du analysera trender, spåra mot affärsmål och hantera incidenter. Instrumentpaneler som är skräddarsydda för kundens intresse gör tolkningen relevant och påskyndar tiden för identifiering och åtgärder. |
Gör aviseringar användbara genom att meddela de ansvariga rollerna med standardiserade beskrivningar och allvarlighetsgradsnivåer. Ange information som är sorterad från olika källor och spåra avvikelser från affärsmål. Utlös endast aviseringar för incidenter som kräver åtgärd. Sträva efter proaktiva och tankeväckande aviseringar som initierar åtgärder innan ett degraderat tillstånd blir ett fel. |
Aviseringar uppmärksammar viktiga händelser enligt organisationens definition. Ett bra aviseringssystem identifierar åtgärder och allvarlighetsgrad och ger precis tillräckligt med data för att skapa klarhet och syfte. Operatörer kan starta vid reparation utan fördröjning. |
Automatisera för effektivitet
|
---|
Arbetsbelastningen kan ha arbetsflöden med processer som involverar teammedlemmar som utför vardagliga, repetitiva och tidskrävande uppgifter som faktiskt inte behöver mänskligt intellekt. Beroende på frekvensen kan du ägna mycket tid åt dessa ansträngningar och investera mer tid när arbetsbelastningen växer. Dessutom är dessa processer ofta felbenägna på grund av mänsklig indata.
Genom automatisering sparar du tid, ansträngning och pengar, och du undviker misstag.
Tillvägagångssätt | Fördelar |
---|---|
Utvärdera alla arbetsflöden mot kriterier som är på rätt nivå av komplexitet, ansträngning, frekvens, noggrannhet, aktualitet och livslängd. Automatisera arbetsflöden baserat på den utvärderingen och prioritera arbetsflödena med högst förväntad avkastning. Ta bort redundanta arbetsflöden eller lägg till värde för att motivera mänsklig ansträngning. |
Du kan återinvestera teamkapacitet i arbete med högre värde och öka produktiviteten och konsekvensen. Genom att skapa en inventering av arbetsflöden kan du automatisera rätt uppgifter. Om du tar bort redundanta uppgifter minskar du komplexiteten och felen. |
Var tydlig med ditt beslut när du utvärderar om du vill skapa anpassade verktyg eller köpa programvara. Reservera byggnadsautomation för högspecialiserade och värdefulla arbeten. |
Genom att köpa programvara utanför hyllan och dra nytta av supportavtalet sparar du på underhållskostnader. Genom att skapa programvara har du mer kontroll och kan hantera användningsfall som är unika för ditt team och din arbetsbelastning. Det finns dock en kostnadspåverkan. Val av verktyg ger en nivå av standardisering till dina åtgärder. Med utbildning kan du uppnå en enhetlig beredskapsnivå för implementering. |
Utforma dina arbetsbelastningskomponenter för att stödja automatiseringsfunktioner. | Undvik den situation där brist på automatisering i din systemdesign främjar antimönstret för repetitiva uppgifter, saktar ner tillväxten och börjar ackumulera tekniska skulder. |
Behandla all automatisering som ett kritiskt beroende av din arbetsbelastning. Anpassa till arbetsbelastningens förväntade tillväxt. En verktygsuppsättning för automatisering är en integrerad del av din arbetsbelastning och bör följa de fem pelarna i Well-Architected Framework. |
Utforma din automationskomponent för att hantera risker, till exempel säkerhetshot. Med tillämpade metodtips kan du undvika implementeringsspridning. Arbetsbelastningen fortsätter att fungera med en hög garanti om detta beroende hålls funktionellt och säkert. |
Automatisera i stor skala genom att utforska alternativ utöver din arbetsbelastning. Gynna en modell för "design en gång, kör överallt" genom att tillhandahålla mallar och ramverk för att introducera nya projekt och främja återanvändning av befintliga designer och implementeringar. |
Använd beprövade metoder och minska risken för fel. |
Använda säkra distributionsmetoder
|
---|
Skapa en automatiserad och modulär leveranskedja för arbetsbelastningar för att säkerställa konsekventa, förutsägbara och repeterbara distributioner i alla miljöer. Att tillämpa säkra metoder tidigt säkerställer förtroendet för produktionen och möjliggör snabb återställning om problem når kunderna.
Alla ändringar, oavsett om det gäller kod, konfiguration eller artefakter, måste distribueras med samma stränghetsnivå. Testning, övervakning och versionshantering är vanliga metoder för att uppnå konsekvens.
Tillvägagångssätt | Fördelar |
---|---|
Använd Infrastruktur som kod (IaC) för att definiera önskat tillstånd för all infrastruktur. Använd en modulär och skiktad metod men undvik onödiga abstraktioner. Justera skikten efter livscykelbehoven och håll grundlagren stabila. |
IaC möjliggör distributionsautomatisering och konsekvens och fungerar som självdokumentation som kan användas för spårning. IaC-artefakter blir en del av livscykeln för programvaruutveckling, vilket möjliggör testning och kvalitetsgranskningsprocesser. IaC hjälper också till att identifiera och minimera konfigurationsavvikelser. |
Föredrar små, inkrementella uppdateringar som distribueras ofta. | Mindre uppdateringar förenklar valideringen genom att minska antalet samtidiga fel. När flera defekta ändringar släpps samtidigt kan de avsevärt öka explosionsradien. |
Distribuera varje kod- och infrastrukturändring med hjälp av automatiserade pipelines i alla miljöer. | Konsekventa distributionsmetoder minskar fel och varianser, vilket gör distributionerna tillförlitliga och repeterbara. Implementeringsprocessen dokumenterar sig själv och varje körning skapar en aktivitetslogg. |
Testa uppdateringar noggrant under hela utvecklingslivscykeln, i förproduktions- och produktionsmiljöer. | Tidig testning fångar problem tidigare, möjliggör iterativa korrigeringar och minskar problem när uppdateringen är klar för produktion. Att ha flera förproduktionsmiljöer möjliggör olika typer av testning, vilket ökar förtroendet för en lyckad produktionsversion. |
Distribuera nya funktioner med hjälp av distributionsmönster som möjliggör progressiv exponering och gradvis införande av användare. Testa för bakåt- och framåtkompatibilitet. |
Kontrollerad distribution av uppdateringar minskar risken för omfattande problem från defekter. Gradvis ökande exponering bidrar till att säkerställa kompatibilitet och stabilitet, vilket skapar förtroende för lanseringen. |
Var beredd med kompenserande åtgärder för att återhämta sig från felaktiga distributioner eller kritiska defekter inom produktionen. Använd automatisering som backas upp av testning för att distribuera korrigeringar. För nöduppdateringar bör du ha en påskyndad process som är förgodkänd av intressenter. |
Om du har en åtgärdsplan minskar varaktigheten för den potentiella effekten. Du kan snabbt distribuera brådskande korrigeringar, till exempel säkerhetskorrigeringar, för att få användarna en säker version snabbare. |
Nästa steg
Vi rekommenderar att du läser checklistan för operational excellence för att utforska andra begrepp.