Dela via


Tillförlitlighetsavvägningar

En tillförlitlig arbetsbelastning uppfyller konsekvent sina definierade tillförlitlighetsmål. Den bör nå etablerade återhämtningsmål, helst genom att kringgå händelser som påverkar tillförlitligheten. Realistiskt sett måste dock en arbetsbelastning tolerera och kontrollera effekten av sådana händelser och underhålla åtgärder på en fördefinierad nivå vid aktivt fel. Även under en katastrof måste en tillförlitlig arbetsbelastning återställas till ett visst tillstånd inom en viss tidsperiod, som båda avtalas mellan intressenterna. En plan för incidenthantering som gör att du kan uppnå snabb identifiering och återställning är avgörande.

Under designfasen för en arbetsbelastning måste du överväga hur beslut som baseras på designprinciperna för tillförlitlighet och rekommendationerna i checklistan Designgranskning för tillförlitlighet kan påverka mål och optimeringar för andra pelare. Vissa beslut kan gynna vissa pelare men utgöra en kompromiss för andra. I den här artikeln beskrivs exempel på kompromisser som ett arbetsbelastningsteam kan stöta på när de utformar arbetsbelastningsarkitektur och åtgärder för tillförlitlighet.

Tillförlitlighetsavvägningar med säkerhet

Kompromiss: Ökad arbetsbelastningsyta. Säkerhetspelarean prioriterar en reducerad och innesluten yta för att minimera attackvektorer och minska hanteringen av säkerhetskontroller.

  • Tillförlitlighet erhålls ofta via replikering. Replikering kan ske på komponentnivå, på datanivå eller till och med på geografisk nivå. Repliker ökar avsiktligt ytan för en arbetsbelastning. Ur ett säkerhetsperspektiv rekommenderas en reducerad och innesluten yta för att minimera potentiella attackvektorer och effektivisera hanteringen av säkerhetskontroller.

  • På samma sätt ökar haveriberedskapslösningar, till exempel säkerhetskopior, en arbetsbelastnings yta. De är dock ofta isolerade från arbetsbelastningens körning. Dessa lösningar kräver implementering av ytterligare säkerhetskontroller, som kan vara specifika för haveriberedskapsmetoden.

  • För tillförlitlighetsmålens skull kan ytterligare komponenter behövas för arkitekturen, vilket ökar ytans yta. Till exempel kan en meddelandebuss läggas till för att göra begäranden motståndskraftiga genom avkoppling. Den här ökade komplexiteten ökar arbetsbelastningens yta genom att lägga till nya komponenter som måste skyddas, eventuellt på sätt som inte redan används i systemet. Vanligtvis åtföljs dessa komponenter av ytterligare kod och bibliotek för att stödja deras användning eller allmänna tillförlitlighetsmönster, vilket också ökar programytan.

Kompromiss: Förbikoppling av säkerhetskontroll. Säkerhetspelare rekommenderar att alla kontroller förblir aktiva i både normala och stressade system.

  • När en arbetsbelastning upplever en tillförlitlighetshändelse som åtgärdas under aktiv incidenthantering kan brådskande åtgärder skapa ett tryck för arbetsbelastningsteam att kringgå säkerhetskontroller som är optimerade för rutinmässig åtkomst.

  • Felsökningsaktiviteter kan leda till att teamet tillfälligt inaktiverar säkerhetsprotokoll, vilket gör att ett redan stressat system kan exponeras för ytterligare säkerhetsrisker. Det finns också en risk att säkerhetsprotokollen inte återupprättas omedelbart.

  • Detaljerade implementeringar av säkerhetskontroller, till exempel anpassade rollbaserade åtkomstkontrolltilldelningar eller smala brandväggsregler, introducerar konfigurationskomplexitet och känslighet, vilket ökar risken för felkonfiguration. Att minimera den här potentiella tillförlitligheten genom att använda breda regler urholkar alla tre Nolltillit arkitekturprinciper.

Kompromiss: Gamla programvaruversioner. Säkerhetspelare uppmuntrar till en "get current, stay current"-metod för leverantörssäkerhetskorrigeringar.

  • Att tillämpa säkerhetskorrigeringar eller programuppdateringar kan potentiellt störa målkomponenten, vilket orsakar otillgänglighet under programvaruändringen. Fördröjning eller undvikande av korrigering kan undvika potentiella tillförlitlighetsrisker, men systemet blir oskyddat mot hot som utvecklas.

  • Ovanstående överväganden gäller även för arbetsbelastningens kod. Det gäller till exempel programkod som använder gamla bibliotek och containrar som använder gamla basavbildningar. Om uppdatering och distribution av programkod ses som en oskyddad tillförlitlighetsrisk exponeras programmet för ytterligare säkerhetsrisker över tid.

Tillförlitlighetsavvägningar med kostnadsoptimering

Kompromiss: Ökad redundans eller slöseri med implementering. En kostnadsoptimerad arbetsbelastning minimerar underutnyttjerade resurser och undviker överetablering av resurser.

  • Replikering är en viktig strategi för tillförlitlighet. Mer specifikt är strategin att ha tillräckligt med replikering för att hantera ett visst antal samtidiga nodfel. Toleransen för fler samtidiga nodfel kräver ett högre antal repliker, vilket leder till ökade kostnader.

  • Överetablering är en annan teknik för att absorbera oväntad belastning på ett system, till exempel under en redundanshändelse, som annars kan leda till ett tillförlitlighetsproblem. All överkapacitet som inte används anses vara slösaktig.

  • Om en arbetsbelastning använder en haveriberedskapslösning som på ett överdrivet sätt uppfyller arbetsbelastningens mål för återställningspunkt och -tid leder överskottet till högre kostnader på grund av slöseri.

  • Själva arbetsbelastningsdistributionerna är en potentiell källa för tillförlitlighetspåverkan, och den effekten minimeras ofta av redundans vid distributionen via en distributionsstrategi som blå/grön. Den här tillfälliga dupliceringen av resurser under säker distribution ökar vanligtvis den totala kostnaden för arbetsbelastningen under dessa perioder. Kostnaderna ökar med distributionsfrekvensen.

Kompromiss: Ökade investeringar i åtgärder som inte är anpassade till funktionskraven. En metod för kostnadsoptimering är att utvärdera värdet som tillhandahålls av en distribuerad lösning.

  • För att uppnå tillförlitlighet kräver ett system observerbarhet. Övervakningssystem kräver dataöverföring och insamling av observerbarhet. I takt med att övervakningsfunktionerna ökar ökar datafrekvensen och datavolymen, vilket leder till extra kostnader.

  • Tillförlitlighetspriserna i arbetsbelastningar kräver testning och detaljgranskningar. Att utforma och köra tester tar tid och potentiellt specialiserade verktyg, vilket medför kostnader.

  • Arbetsbelastningar med höga tillförlitlighetsmål har ofta en snabb svarsprocess som kräver att tekniska teammedlemmar ingår i en formell jourrotation. Den här processen medför ytterligare personalkostnader och förlorade affärsmöjligheter på grund av uppmärksamhet som kan riktas någon annanstans. Det medför också potentiella verktygskostnader för hantering av processen.

  • Supportavtal med teknikleverantörer är en viktig komponent i en tillförlitlig arbetsbelastning. Supportkontrakt som inte används eftersom supportnivån är överetablerad medför slöseri.

Tillförlitlighetsavvägningar med operational excellence

Kompromiss: Ökad driftskomplexitet. Operational Excellence, som tillförlitlighet i sig, prioriterar enkelhet.

  • Tillförlitlighet ökar vanligtvis komplexiteten för en arbetsbelastning. I takt med att komplexiteten i en arbetsbelastning ökar kan även driftelementen i arbetsbelastningen öka för att stödja de extra komponenterna och processerna när det gäller distributionssamordning och konfigurationsytan.

  • Att ha en omfattande övervakningsstrategi för en arbetsbelastning är en viktig del av driftskvaliteten. Introduktion till ytterligare komponenter i en arkitektur för att implementera mönster för tillförlitlighetsdesign resulterar i fler datakällor att hantera, vilket ökar komplexiteten i implementeringen av distribuerad spårning och observerbarhet.

  • Om du använder flera regioner för att övervinna resurskapacitetsbegränsningar för en enskild region och/eller implementera en aktiv/aktiv arkitektur ökar komplexiteten i arbetsbelastningens driftshantering. Den här komplexiteten introduceras genom behovet av att hantera flera regioner och behovet av att hantera datareplikeringen mellan dem.

Kompromiss: Ökad ansträngning för att generera teamkunskap och medvetenhet. Grundpelare för operational excellence rekommenderar att du behåller och underhåller en dokumentationslagringsplats för procedurer och topologier.

  • När en arbetsbelastning blir mer robust genom tillägg av tillförlitlighetskomponenter och mönster tar det mer tid att underhålla driftprocedurer och artefaktdokumentation.

  • Träningen blir mer komplex när antalet komponenter i arbetsbelastningen ökar. Den här komplexiteten påverkar den tid som krävs för registrering. Komplexiteten ökar också den kunskap som behövs för att spåra produktöversikter och den senaste vägledningen på servicenivå.

Tillförlitlighetsavvägningar med prestandaeffektivitet

Kompromiss: Ökad svarstid. Prestandaeffektivitet kräver ett system för att uppnå prestandamål för användar- och dataflöden.

  • Tillförlitlighetsmönster innehåller ofta datareplikering för att överleva replikfel. Replikering introducerar ytterligare svarstid för tillförlitliga dataskrivningsåtgärder, vilket förbrukar en del av prestandabudgeten för en specifik användare eller ett visst dataflöde.

  • Tillförlitlighet använder ibland olika former av resursbalansering för att distribuera eller omdistribuera belastning till felfria repliker. En dedikerad komponent som används för balansering påverkar vanligtvis prestanda för den begäran eller process som balanseras.

  • Distribution av komponenter över geografiska gränser eller tillgänglighetszoner för att överleva en begränsad inverkan medför nätverksfördröjning i kommunikationen mellan komponenter som sträcker sig över dessa tillgänglighetsgränser.

  • Omfattande processer används för att observera hälsotillståndet för en arbetsbelastning. Även om övervakning är avgörande för tillförlitligheten kan instrumentering påverka systemets prestanda. När observerbarheten ökar kan prestandan minska.

Kompromiss: Ökad överetablering. Pelaren Prestandaeffektivitet avråder från överetablering och rekommenderar i stället att du använder tillräckligt med resurser för att tillgodose efterfrågan.

  • Automatiska skalningsåtgärder är inte omedelbara och kan därför inte på ett tillförlitligt sätt hantera en plötslig och dramatisk ökning av efterfrågan som inte kan formas eller jämnas ut. Därför är överetablering via antingen större instanser eller fler instanser en kritisk tillförlitlighetstaktik för att ta hänsyn till fördröjningen mellan efterfrågesignalen och skapande av tillgång för att hjälpa till att absorbera bursts. Outnyttjad kapacitet motverkar målen för prestandaeffektivitet.

  • Ibland kan en komponent inte skalas som en reaktion på efterfrågan och den efterfrågan är inte helt förutsägbar. Att använda stora instanser för att täcka det värsta fallet leder till överetableringsavfall i situationer som ligger utanför det användningsfallet.

Utforska kompromisserna för de andra pelarna: