En guide till konfigurationsdrift och hur man förhindrar det

Konfigurationsdrift är ett viktigt problem för alla IAAC-utvecklare där ute. Det här inlägget kommer att lära dig om hantering av konfigurationsdrift, dess betydelse, orsaker och potentiella lösningar.

Vad är Configuration Drift?

Applikationsägare måste ändra sina appar och underliggande infrastruktur över tid för att kontinuerligt förbättra kundupplevelsen. Dessa kunder kan vara antingen inom eller utanför företaget.

Konfigurationen av apparna och infrastrukturen ändras som ett resultat av dessa uppdateringar och ändringar. Dessa modifieringar kan vara fördelaktiga eller försämra systemens härdade tillstånd. Konfigurationsdrift är termen för detta.

Hur Configuration Drift fungerar

Potentialen för konfigurationsavvikelser ökar med komplexiteten i mjukvaruproduktion och leveranssystem. Koden överförs i allmänhet från en utvecklares arbetsstation till en delad utvecklingsmiljö, till test- och QA-miljöer och så småningom till iscensättnings- och produktionsmiljöer.

Den potentiella påverkan ökar med hur långt längs rörledningen avdriften sker. Även mindre variationer mellan en paketversion installerad på en utvecklares bärbara dator och versionen installerad på en testserver kan fördröja felsökning. Vanligtvis förväntas endast iscensättning och produktion vara repliker av varandra. Påfrestningen är intensiv eftersom många företag distribuerar ny kod flera gånger dagligen.

Vanliga orsaker till konfigurationsavvikelse

Brist på kommunikation

Ibland misslyckas uppströmsteamen med att kommunicera med nedströmspartnerna om de ändringar som gjorts av dem, vilket som ett resultat bryter ner hela nedströmssystemet.

Snabbkorrigeringar

Snabbkorrigeringar är ändringar av kod som görs för att lösa ett kritiskt problem som inte kan vänta till nästa planerade uppdatering av programmet. Ibland misslyckas ingenjörerna som arbetar med att lösa problemet att göra ändringar eller dokumentera samma fix till andra miljöer i pipelinen, vilket som ett resultat leder till drift. Att återinföra det ursprungliga problemet kommer ofta att lösa denna drift.

Kritiska paketuppdateringar

Kritiska paketuppdateringar liknar något snabbkorrigeringar. Båda utförs i snabb takt. Den största skillnaden är att kritiska paketuppdateringar tillämpas i hopp om att undvika framtida incidenter. Så sådana uppdateringar kan orsaka drift på samma sätt som snabbkorrigeringar.

Brist på automatisering

Automatisering kommer inte helt att ta bort riskerna för konfigurationsavvikelser. Det kommer bara att minska sina chanser.

Bekvämlighetsförändringar

Ibland är ändringar som görs av utvecklare tillfälliga. Drift uppstår till exempel om en utvecklare installerar ett nytt paket på en testserver för att testa vissa funktioner och glömmer att återställa det till sitt ursprungliga tillstånd.

Varför är konfigurationshantering viktigt?

En av anledningarna till att konfigurationsavdrift kan vara så skadlig är att om ingen ständigt letar efter den, kan avdrift förbli oupptäckt eftersom den gradvis undergräver basen av din infrastruktur, ungefär som en liten läcka i ett hus bakom en vägg.

När konfigurationsavvikelsen upptäcks tar det tid att hitta den bakomliggande orsaken till konfigurationsavvikelsen som fick allt att hända, vilket är en värdefull resurs i en nödsituation.

Inom mjukvaruutveckling är drift en betydande orsak till långsamma utgivningscykler. Det kan orsaka onödigt slit och hämma utvecklarens produktivitet.

Lägre kostnader

Du kan minska det totala beloppet som behövs genom att identifiera dubbletter eller överprovisionering när du har en detaljerad bild av din IT-infrastruktur.

Högre produktivitet

Kluster med stabila och välkända konfigurationer möjliggör batchhantering och infrastrukturkonstruktion. Dessutom minskas kravet på att hantera individuella inställningar manuellt genom att begränsa unika (eller snöflinga) servrar.

Snabbare felsökning

Konsekventa konfigurationer tillåter felsökningsteam att utesluta konfigurationsfel. Team kan koncentrera sig på andra potentiella orsaker och lösa ärenden snabbare eftersom de inte behöver leta efter konfigurationsavvikelser mellan servrar, serverkluster eller miljöer.

Problem orsakade på grund av konfigurationsdrift

Säkerhetsproblem

Osäkra konfigurationer är en av de vanligaste orsakerna till säkerhetsintrång. Konfigurationsdrift kan göra andra attacker och nätverksintrång mer sannolika, även om du börjar med en skyddad konfiguration.

Driftstopp

Betydande driftstopp kan bero på ett konfigurationsfel som gör att en angripare kan använda ett DoS-fel eller äventyra en viktig server. Det är dock inte allt. Låt oss säga att du ändrar en nätverksenhets konfiguration, vilket påverkar prestandan. Du kan alltid gå tillbaka till din ”gyllene konfiguration”, eller hur? Det kommer att ta mycket längre tid att återställa tjänsten om den konfigurationen är felaktig.

Faller ur efterlevnad

Strikta säkerhetskontroller är nödvändiga för att följa föreskrifter som ISO 27001, PCI-DSS och HIPAA. Konfigurationsdrift kan göra att du bryter efterlevnaden om den inte stoppas.

Försämrad prestanda

En konfiguration är vanligtvis i sitt mest optimala skick när den är i sitt avsedda tillstånd. Ad hoc-modifieringar kan hindra nätverksoptimeringsförsök genom att orsaka flaskhalsar och konflikter.

Bortslösad tid

Det kan ta lång tid att felsöka ett nätverk som du inte förstår väl eller inte matchar din nätverksdokumentation. Detta innebär att konfigurationsavvikelser kan resultera i IT-felsökningsproblem som kanske inte funnits eller som skulle ha varit lättare att lösa om nätverket hade varit i avsett skick, förutom att generera driftstopp för användarna.

Vanliga misstag att se upp för när du övervakar konfigurationsdrift

I en perfekt värld skulle alla miljöservrar för utvecklare (Dev/QA/Staging/Prod) ha samma konfigurationer. Tyvärr är det inte så saker fungerar i den ”verkliga” världen. I kommersiella miljöer ändrar programägare ofta infrastrukturen när nya funktioner introduceras till programvaran.

Övervakning av konfigurationsdrift är avgörande för att säkerställa att mjukvarumiljöer är så homogena som möjligt. Att konfigurera hanteringen minskar utgifterna, ökar produktiviteten och felsökningstiden och förbättrar användarupplevelsen.

För att bli så framgångsrik med övervakning som möjligt måste organisationer undvika misstag även när de använder konfigurationshantering och övervakar sin konfigurationsdrift.

De vanligaste misstagen listas nedan:

Att inte underhålla en CMDB

Att hålla en konfigurationshanteringsdatabas (CMDB) uppdaterad är en viktig del av konfigurationshanteringen. Information om ett nätverks hård- och mjukvaruinstallationer kan granskas på ett ställe, tillhandahållet av en databas för konfigurationshantering. Data samlas in för varje tillgång eller konfigurationsobjekt, vilket ger synlighet och transparens på arbetsplatsen.

Underlåtenhet att underhålla en CMDB utsätter företag för risken att inte helt förstå hur konfigurationen av en artikel påverkar en annan artikel. Organisationer riskerar att skada sin infrastruktur och säkerhet utan att förstå konsekvenserna.

CMDB:er kan vara utmanande att administrera, särskilt när antalet tillgångar ökar, men effektiv databasorganisation och -hantering är avgörande för att framgångsrikt spåra konfigurationsdrift och förstå infrastruktur.

Att inte ha en plan för hur man övervakar konfigurationsdrift

Organisationer har ofta massiva, komplicerade infrastrukturer som måste övervakas. Att bestämma vilka komponenter som behöver övervakas mest är avgörande. Annars kan konfigurationshantering snabbt bli ohanterlig och kaotisk.

Organisationer måste specificera vilka tillgångar som är väsentliga för företagsövervakning och specifika affärsenheter. De mest avgörande systemen kommer att bevakas, som kommer att skilja sig från enhet till enhet och bransch till bransch.

Övervakar inte automatiskt

Organisationer kan övervaka konfigurationsavvikelser på flera sätt. Vissa metoder är dock mer raffinerade och framgångsrika än andra.

Manuell övervakning av konfigurationsdrift är kostsamt och tidskrävande. Manuell övervakning avslöjar också risken för mänskliga fel. Detta är inte den bästa tekniken för att övervaka konfigurationsavvikelser om inte ditt företag har en mycket liten infrastruktur.

Automatisk övervakning är det mest utvecklade och effektiva sättet att hålla konfigurationer i önskat tillstånd. Dedikerade konfigurationsövervakningssystem kan upptäcka drift omedelbart och erbjuder ofta lösningar, inklusive snabb korrigering. Detta garanterar att verksamhetens infrastruktur återställs till önskat skick så snabbt som möjligt och med minimala effekter.

Så här övervakar du konfigurationsdrift:

Det blir uppenbart varför upptäckt av Configuration Drift bör vara en stor oro när du inser vilken skada det kan orsaka. Att veta vad som ska bevaras och varför det presenterades som en förändring som skapade drift är det första steget i den processen.

Vet vad du letar efter

Du kan triage din organisation genom att identifiera de komponenter som är avgörande för organisationen som helhet och de som är avgörande för varje affärsenhet.

Detta varierar beroende på enhet och kan vara expansivt i starkt reglerade branscher eller enbart fokusera på smalare systemkritiska filer/applikationer. Systemets betydelse kommer att avgöra övervakningssystemens frekvens och allvar.

Ställ in en baslinje

Det kommer alltid att finnas avvikelser mellan en produktionsmiljö och teststadier på grund av de olika inställningarna. Baslinjen för att kontrollera avdrift skapas genom att definiera vad varje steg ska vara och vilka typer av avvikelser som är tillåtna.

Tidiga teststeg kan vara mer lämpade för en högre drifttillåtelse än en inställning för användaracceptanstestning eller ett tillverkningssteg med noll avdrift.

Övervaka ditt system

Den övervakningsnivå som krävs kommer att variera beroende på organisationens mognad, dess nuvarande system, verktyg, det totala antalet konfigurationer som måste kontrolleras och nivån av granskning som krävs. Beroende på krav och efterlevnad kan övervakningen skilja sig åt för varje enhet inom en organisation.

Hur man förhindrar konfigurationsavdrift

Övervakningen måste säkerställa att infrastrukturen hålls i lämplig konfiguration efter att en baslinje av konfigurationer och tillåtna luckor har definierats. Utan en övervakningsstrategi slösar tid att konstruera konfigurationsplaner och dokumentation.

Olika tillvägagångssätt kan användas för att övervaka konfigurationsavvikelser, och många företag kommer att kombinera metoder och verktyg baserat på deras mognads- och efterlevnadskrav.

Konstant manuell övervakning

Enskilda maskinkonfigurationer kan granskas manuellt och jämföras med en känd konfigurationsfil. På grund av den mänskliga aspekten är denna process fortfarande felbenägen och dyr när det gäller anställdas timmar. Jag bör endast användas i liten skala för ett fåtal speciella serverkluster eller ett företag med en blygsam infrastruktur.

Revisioner

Ett team undersöker manuellt serverkonfigurationer som en del av konfigurationsrevisioner och jämför dem med en specificerad modell. Dessa revisioner kan bli dyra eftersom de kräver specialistkunskap för att avgöra hur ett system ska byggas och sedan en grundlig undersökning av eventuell odokumenterad chans att avgöra om den ska bevaras eller inte.

Revisionsteamet gör också nödvändiga justeringar av konfigurationsdokumenten som kommer att tillämpas under nästa revision. Revisioner behålls vanligtvis för högvärdiga eller efterlevnadstunga kluster och utförs regelbundet, vanligtvis flera gånger om året, på grund av tids- och kostnadsöverväganden.

Revision garanterar konsekvent och repeterbar serverkonfiguration enligt ett förutbestämt schema.

Men fram till nästa granskning kommer inställningarna att glida och förbli fler och fler.

Automatiserad övervakning i realtid

Automatiserad realtidsövervakning är det mest sofistikerade sättet att hålla konfigurationer i önskat tillstånd. För att göra detta måste servrar eller grupper av servrar skapas tillsammans med en beskrivning av hur de ska konfigureras med hjälp av dedikerade serverinstallationsverktyg.

Dessa program kommer att använda en lättviktsagent för att övervaka en servers konfiguration inom den gruppen och jämföra den med dess definition.

Denna automatiserade process varnar omedelbart för drift och ger vanligtvis flera alternativ för att korrigera serverdriften.

Slutord:

Inkonsekventa konfigurationsobjekt (CI) mellan datorer eller enheter är grundorsaken till konfigurationsdrift. Konfigurationsdrift sker naturligt i datacentermiljöer när mjukvaru- och hårdvarumodifieringar görs i farten utan att vara noggrant dokumenterade eller spårade.

Många systemfel med hög tillgänglighet och katastrofåterställning tillskrivs konfigurationsdrift. Administratörer bör hålla noggranna register över nätverksadresserna för hårdvaruenheter, tillsammans med de programvaruversioner som är installerade på dem och de uppgraderingar som har gjorts, för att minimera konfigurationsavvikelser.