Kompromisser med tillförlitlighet

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örutbestämd nivå under ett 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 incidenthanteringsplan som gör att du kan uppnå snabb identifiering och återställning är avgörande.

Under designfasen för en arbetsbelastning måste du fundera på hur beslut som baseras på designprinciperna för tillförlitlighet och rekommendationerna i checklistan Designgranskning för tillförlitlighet kan påverka andra pelares mål och optimeringar. Vissa beslut kan gynna vissa pelare men utgöra en kompromiss för andra. Den här artikeln beskriver 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 föredras 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. Detta kräver implementering av ytterligare säkerhetskontroller, som kan vara specifika för haveriberedskapslösningen.

  • För tillförlitlighetsmålens skull kan ytterligare komponenter behövas för arkitekturen, vilket ökar ytan. Till exempel kan en meddelandebuss läggas till för att göra begäranden motståndskraftiga. 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 programmets yta.

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 angelägenhetsgrad skapa ett tryck för arbetsbelastningsteam att kringgå säkerhetskontroller som är optimerade för rutinåtkomst.

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

  • Detaljerade implementeringar av säkerhetskontroller, till exempel rollbaserade åtkomstkontrolltilldelningar eller brandväggsregler, introducerar konfigurationskomplexitet och känslighet, vilket ökar risken för felkonfiguration. Att minimera den här potentiella tillförlitlighetseffekten med hjälp av 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.

  • Användning av säkerhetskorrigeringar eller programuppdateringar kan potentiellt störa målkomponenten, vilket orsakar otillgänglighet under programvaruändringen. Fördröjning eller undvikande av korrigeringar kan undvika potentiella tillförlitlighetsrisker, men det lämnar systemet oskyddat mot växande hot.

  • 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 risk för oskyddad tillförlitlighet 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 som annars kan leda till ett tillförlitlighetsproblem. Eventuell ö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 överensstämmer med 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 ytterligare 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 hanteringen av processen.

  • Supportkontrakt 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 i en arbetsbelastning. I takt med att komplexiteten i en arbetsbelastning ökar kan även driftelementen i arbetsbelastningen öka för att stödja de tillagda 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 driftseffektiviteten. Introduktionen av ytterligare komponenter i en arkitektur för att implementera designmönster för tillförlitlighet 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 enda 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: Ökat arbete för att generera teamkunskaper 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 i takt med att antalet komponenter i arbetsbelastningen ökar. Den här komplexiteten påverkar den tid som krävs för registrering och ökar den kunskap som behövs för att spåra produktöversikter och vägledning 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 omfattar ofta datareplikering för att överleva replikfel. Replikering ger ytterligare svarstid för tillförlitliga dataskrivningsåtgärder, som 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 prestandan 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 instrumentation påverka systemets prestanda. När observerbarheten ökar kan prestandan minska.

Kompromiss: Ökad överetablering. Pelaren Prestandaeffektivitet avråder från överetablering, i stället rekommenderar vi 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 flera instanser en kritisk tillförlitlighetstaktik för att ta hänsyn till fördröjningen mellan efterfrågan och skapande av tillgång. 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 överetablering av avfall i situationer som ligger utanför det användningsfallet.

Utforska kompromisserna för de andra pelarna: