Kompromisser med operational excellence
Operational Excellence ger arbetsbelastningskvalitet genom implementering av tydliga teamstandarder, förstått ansvar och ansvar, uppmärksamhet på kundresultat och teamsammanhållning. Implementeringen av dessa mål är rotad i DevOps, som rekommenderar att du minimerar processvariansen, minskar de mänskliga felen och i slutändan ökar avkastningen av värdet för arbetsbelastningen. Det värdet mäts inte bara mot de funktionella krav som hanteras av komponenterna i arbetsbelastningen. Det mäts också av det värde som teamet levererar i strävan efter förbättringar.
Under designfasen för en arbetsbelastning och under dess livscykel, när kontinuerliga förbättringssteg vidtas, är det viktigt att överväga hur beslut baserat på designprinciperna för operational excellence och rekommendationerna i checklistan Designgranskning för operational excellence kan påverka målen och optimeringarna för andra pelare. Vissa beslut kan gynna vissa pelare men utgöra kompromisser för andra. I den här artikeln beskrivs exempel på kompromisser som ett arbetsbelastningsteam kan stöta på när de utformar arkitektur och åtgärder för arbetsbelastningar.
Operational Excellence kompromissar med tillförlitlighet
Kompromiss: Ökad komplexitet. Tillförlitlighet prioriterar enkelhet eftersom enkel design minimerar felkonfigurationen och minskar oväntade interaktioner.
Säkra distributionsstrategier kräver ofta viss kompatibilitet framåt och bakåt mellan programlogik och data i arbetsbelastningen. Den här extra komplexiteten ökar testbelastningen och kan leda till komplexitets- eller integritetsproblem med arbetsbelastningens data.
Högskiktad, modulariserad eller parametriserad infrastruktur som kod kan öka risken för oavsiktlig felkonfiguration på grund av komplexiteten i interaktionen mellan kodkomponenterna.
Molndesignmönster som gynnar åtgärder kräver ibland införandet av ytterligare komponenter, till exempel användning av ett externt konfigurationslager eller samordning av sidovagnsdistributioner i en containerbaserad programplattform. De ytterligare komponenterna och de extra skikten av indirektion ökar interaktionspunkterna i systemet, vilket ökar ytan för fel eller felkonfiguration.
Arbetsbelastningskomponenter som är utformade för att självständigt utvecklas för att stödja flexibel utveckling och värd introducerar beroenden för tjänstidentifiering som ett indirekt lager. Tjänstidentifiering kan sakna svarstider för att ändra, och fel kan vara svårt att diagnostisera.
Kompromiss: Ökad potentiellt destabiliserande aktiviteter. Tillförlitlighetspelare uppmuntrar till att undvika aktiviteter eller designval som kan destabilisera ett system och leda till störningar, avbrott eller fel.
Att distribuera små, inkrementella ändringar är en teknik för att minska risken, men de små ändringarna förväntas också levereras till produktion oftare. Distributioner kan destabilisera ett system, så i takt med att distributionshastigheten ökar ökar även den här risken.
En kultur som mäter sig med hastighetsmått som distributioner per vecka och använder automatisering som kan underlätta införandet av ändringar i snabbare takt kommer sannolikt också att utföra fler distributioner under en kortare period.
Ökad densitet för att förenkla åtgärder genom att minska antalet kontroll- och observerbarhetsytor kan också leda till en ökad tillgänglighetsrisk eftersom fel eller felkonfiguration ökar påverkansradien för en destabiliserande händelse.
Operational Excellence-kompromisser med säkerhet
Kompromiss: Ökad yta. Säkerhetspelarean rekommenderar en minskad arbetsbelastningsyta när det gäller komponenter och exponering för åtgärder. Den här minskningen minimerar attackvektorer och ger ett mindre omfång för säkerhetskontroll och testning.
Komponenter som omger arbetsbelastningen och stöder dess åtgärder, till exempel automatisering eller ett anpassat kontrollplan, måste också finnas i omfånget för regelbunden säkerhetshärdning och testning.
Rutin-, ad hoc- och nödåtgärder ökar kontaktpunkterna med arbetsbelastningen. En nollförtroendemetod kräver att dessa processer betraktas som attackvektorer och måste ingå i säkerhetskontrollerna och verifieringen för arbetsbelastningen.
Systemets observerbarhetsplattform samlar in loggar och mått om arbetsbelastningen, vilket kan vara en värdefull informationskälla. Därför måste arbetsbelastningens säkerhet utökas för att skydda datamottagare från interna och externa hot.
Byggagenter, externaliserad konfiguration och funktionsväxlingslager och distributionsmetoder sida vid sida ökar alla programytan som kräver säkerhet.
En högre distributionsfrekvens som orsakas av små, inkrementella ändringar eller "hämta aktuell, håll dig uppdaterad" resulterar i mer säkerhetstestning i livscykeln för programvaruutveckling.
Kompromiss: Ökad önskan om öppenhet. En säker arbetsbelastning baseras på design som skyddar konfidentialiteten för data som flödar genom systemets komponenter.
Observerbarhetsplattformar matar in data av alla typer för att få insikter om en arbetsbelastnings hälsa och beteende. När teamen försöker uppnå högre återgivning i observerbarhetsdata finns det en ökad risk för att dataklassificeringskontroller, till exempel datamaskering, för källsystemen inte sträcker sig till loggar och loggmottagare på observerbarhetsplattformen.
Kompromiss: Minskad segmentering. En viktig säkerhetsmetod för att isolera åtkomst och funktion är att utforma en stark segmenteringsstrategi. Den här designen implementeras via resursisolering och identitetskontroller.
Att samplacera olika programkomponenter i delade beräknings-, nätverks- och dataresurser för att göra hanteringen enklare omvänd segmentering eller göra rollbaserad segmentering svårare att uppnå. Samlokala komponenter kan också behöva dela en arbetsbelastningsidentitet, vilket kan leda till övertilldelning av behörigheter eller brist på spårbarhet.
Om du samlar in alla loggar från hela systemet i en enhetlig loggmottagare blir det enklare att köra frågor och skapa aviseringar. Men om du gör det kan det också göra det svårare eller omöjligt att tillhandahålla radbaserad säkerhet för att hantera känsliga data med nödvändiga granskningskontroller.
Att förenkla hanteringen av attributbaserad eller rollbaserad säkerhet genom att minska kornigheten för roller och deras tilldelningar kan leda till olämpligt breda behörigheter.
Operational Excellence kompromissar med kostnadsoptimering
Grundpelare för operational excellence rekommenderar aldrig aktiviteter som minskar produktiviteten eller äventyrar en arbetsbelastnings avkastning på investeringen. Rekommendationer som verkar flytta fokus från leveransaktiviteter tar hänsyn till långsiktiga bästa för arbetsbelastningen och teamet. Om din arbetsbelastning närmar sig sitt slutdatum är det förmodligen inte meningsfullt att investera mycket i rekommendationer som utlöser dessa kompromisser.
Kompromiss: Ökade resursutgifter. En viktig kostnadsdrivare för en arbetsbelastning är kostnaden för dess resurser. Om du distribuerar färre resurser, rätt storleksanpassar resurser och minskar förbrukningen kan du vanligtvis hålla kostnaderna låga.
Implementering av säkra distributionsmetoder, även om ändringarna är relativt små, kan leda till en ökning av antalet resurser som distribueras samtidigt. Dessa mönster kräver distribution av flera samtidiga instanser av program- eller infrastrukturkomponenten så att trafiken kan flyttas på ett kontrollerat sätt. Den här ökningen är mer uttalad i en arbetsbelastning som använder en oföränderlig infrastrukturmetod.
Teamet kan behöva införa ytterligare arbetsbelastningskomponenter för att implementera driftsanpassade designmönster för molnet eller automatisering av arbetsbelastningar. För att till exempel stödja distributionens flexibilitet kan de lägga till en gateway-routningskomponent. För att stödja bättre konfigurationshantering kan de lägga till ett externt konfigurationsarkiv. För att stödja klientorganisationens livscykelhändelser kan de skapa ett kontrollplan. Dessa resurser påverkar också kostnaderna för förproduktionsmiljöer.
Att öka antalet förproduktionsmiljöer för att förbättra utvecklings- och testupplevelsen genom isolering ökar också antalet resurser. Dessa resurser, som inte används för att leverera tillgång mot produktionsefterfrågan, ökar kostnaden för lösningen.
Genom att öka pariteten för förproduktionsmiljöer med produktionsmiljön, när det gäller resursantal, SKU:er och datavolymer, förbättras kvalitetssäkringsprocessen. Kostnaden ökar i takt med att pariteten ökar.
Även om telemetridata inte är direkt en resurs, måste dessa data sparas för att göra observerbarhetsplattformarna effektiva. De flesta driftdatalager har priser som baseras på en kombination av inmatningshastigheter och volymer. I allmänhet, eftersom mängden telemetri med låg svarstid och hög mångfald ökar, ökar också kostnaderna. För distributioner i flera regioner förväntas dessa driftdatamottagare distribueras per region, så eventuella kostnader per resurs blir en faktor.
Kompromiss: Minskat fokus på leveransaktiviteter. Medlemmar i arbetsbelastningsteamet ger ett ökat arbetsbelastningsvärde genom att effektivt utföra uppgifter som är anpassade till deras funktioner.
Arbetsbelastningsteam som ägnar tid åt att skapa och förfina en felfri och ansvarsfull supportstruktur och incidenthantering ger en värdefull tjänst till arbetsbelastningens användare. När supportarbetet ökar (till exempel formella jourrotationer) ökar kostnaderna för dessa aktiviteter vanligtvis på grund av en förändring i affärskritiskhet. Den här kostnadsökningen kan bero på en ökning av personalen eller indirekt uppstå i form av uppmärksamhet som har flyttats från leveransaktiviteter till stödfunktioner.
Utbildning är en viktig del av ett arbetsbelastningsteams personliga kontinuerliga förbättringsprocess. Denna utbildning kan vara formell eller självriktad under personlig berikningstid. När träningstiden ökar minskar den tid som är tillgänglig för direkt utveckling av arbetsbelastningen. Investeringarna i utbildning minskar när utbildningen inte är rollbaserad eller specifikt relevant för arbetsbelastningen eller dess framtid.
Standardiserade rutinåtgärder för att skydda arbetsbelastningens tillförlitlighet, säkerhet och prestandaeffektivitet tar tid att definiera, förfina och utföra. Den här tiden spenderas inte direkt på leverans. Några exempel på dessa uppgifter är omfattande analys av ändringspåverkan, processer för ändringskontroll, noggrann testning och ökad korrigeringshantering. I takt med att frekvensen, fullständigheten eller driftsbördan för dessa uppgifter ökar ökar också den tid som investeras.
Kompromiss: Ökade krav på verktyg och mångfald. I grundpelare för kostnadsoptimering rekommenderas minskning av verktygsutbredning, konsolidering av leverantörer och en lämplig metod för alla verktygsköp.
Ett arbetsbelastningsteam köper verktyg och maskinvara för att stödja aktiviteter som utförs under hela programvaruutvecklingslivscykeln (SDLC), inklusive planering och design, utveckling och testning samt övervakning. Marknadsplatsen för verktyg i det här utrymmet växer. Verktyg erbjuds till olika prispunkter som vanligtvis motsvarar verktygens funktioner. Förutom kostnadsfria erbjudanden medför dessa verktyg initiala licenskostnader, som kan vara per användare, per enhet eller webbplatsomfattande. De kräver ofta också löpande underhållskontrakt. Nya leverantörsrelationer kan behöva upprättas. Här är några exempel på förväntade verktygs- eller maskinvaruutgifter som är kopplade till principerna för driftskvalitet:
- Krav och hantering av kvarvarande uppgifter
- Designverktyg för arkitektur
- Designverktyg för användargränssnitt/UX
- Kod- och tillgångsvärd
- Utvecklingsmiljöer med kod och låg kod
- Automatiseringsverktyg
- Arbetsstationer för utveckling och kvalitetssäkring
- Utvecklings- och distributionspipelines
- Testkörning och spårning
- Observerbarhetsverktyg
Operational Excellence kompromissar med prestandaeffektivitet
Kompromiss: Ökad resursanvändning. Pelaren Prestandaeffektivitet rekommenderar allokering av så mycket av den tillgängliga beräkningen och nätverket som möjligt till arbetsbelastningens krav.
En arbetsbelastnings observerbarhetsramverk kräver att komponenterna i arkitekturen allokerar tid och resurser för att skapa, samla in och strömma loggar och mått. Dessa datapunkter hjälper till att säkerställa att effektiva aviseringar och övervakning är möjliga för tillförlitlighet, säkerhet och prestanda. I takt med att instrumentationsnivån ökar kan belastningen på systemresurserna också öka.
Vissa distributionsmodeller, till exempel blå/grön distribution, som en arbetsbelastning kan använda för säker distribution, kan introducera distributioner sida vid sida på produktionsappplattformen. Dessa distributioner kräver förebyggande skalning för att tillhandahålla tillräckligt med tillgång för att möta framtida efterfrågan, eller lämna en mestadels vilande distribution på plats under en tidsperiod för att stödja återställning.
Kompromiss: Ökad svarstid. För att skapa högpresterande arbetsbelastningar letar teamen efter sätt att minska den tid och de resurser som arbetsbelastningar använder för att utföra sina uppgifter.
Många distributionsmodeller kräver användning av åtkomstmönster för gatewayroutning, vilket kan leda till svarstid. Den här svarstiden utgår från prestandamålbudgeten för de relaterade flödena.
Vissa molndesignmönster som stöder "oberoende ändringar över tid" för att stödja idealen för inkrementell förbättring kan medföra svarstid på grund av bläddering av ytterligare komponenter. Den här svarstiden kan introduceras av gatewayer, meddelandeköer eller lager för korruptionsbekämpning.
Relaterade länkar
Utforska kompromisserna för de andra pelarna: