En guide till konfigurationsdrift och hur man förhindrar det

Konfigurationsdrift är en central utmaning för alla som arbetar med infrastruktur som kod (IaC). Denna artikel utforskar konfigurationsdrift, dess betydelse, bakomliggande orsaker och möjliga lösningar.

Vad innebär Konfigurationsdrift?

Applikationsägare behöver kontinuerligt anpassa sina applikationer och den underliggande infrastrukturen för att förbättra användarupplevelsen. Dessa användare kan finnas både inom och utanför organisationen.

Dessa uppdateringar och ändringar leder till att konfigurationen av applikationerna och infrastrukturen förändras. Dessa justeringar kan vara positiva eller försämra systemens stabilitet. Konfigurationsdrift är termen som beskriver detta fenomen.

Hur Konfigurationsdrift Uppstår

Risken för konfigurationsdrift ökar i takt med komplexiteten i mjukvaruproduktion och leveranssystem. Koden flyttas i regel från en utvecklares dator till en gemensam utvecklingsmiljö, sedan vidare till test- och QA-miljöer, och slutligen till staging- och produktionsmiljöer.

Den potentiella skadan växer ju längre in i processen driften uppstår. Även små skillnader mellan en paketversion installerad på en utvecklares dator och den version som finns på en testserver kan fördröja felsökningen. Normalt sett förväntas endast staging- och produktionsmiljöerna vara exakta kopior av varandra. Stressen är hög eftersom många företag släpper ny kod flera gånger dagligen.

Vanliga Anledningar till Konfigurationsdrift

Bristande Kommunikation

Ibland misslyckas utvecklingsteamen med att meddela förändringar till de team som är beroende av deras arbete, vilket kan leda till att hela efterföljande system bryts ner.

Snabba Fixar

Snabba fixar är brådskande kodändringar som görs för att lösa ett kritiskt problem som inte kan vänta till nästa planerade uppdatering. Ibland misslyckas de ingenjörer som löser problemet att applicera eller dokumentera samma fix i andra miljöer i leveranskedjan, vilket resulterar i drift. Att återinföra det ursprungliga problemet kan ibland lösa denna drift.

Kritiska Paketuppdateringar

Kritiska paketuppdateringar liknar snabba fixar. Båda utförs med kort varsel. Den huvudsakliga skillnaden är att kritiska paketuppdateringar implementeras i syfte att undvika framtida problem. Dessa uppdateringar kan därmed orsaka drift på samma sätt som snabba fixar.

Brist på Automatisering

Automatisering tar inte helt bort risken för konfigurationsdrift, men den minskar sannolikheten för att det ska ske.

Oplanerade Ändringar

Vissa ändringar som utvecklare gör är av tillfällig karaktär. Drift uppstår till exempel om en utvecklare installerar ett nytt paket på en testserver för att prova en funktion och glömmer att återställa den till sitt ursprungliga tillstånd.

Varför är Hantering av Konfigurationer Viktigt?

En anledning till att konfigurationsdrift kan vara så skadligt är att om ingen aktivt letar efter det, kan det passera obemärkt och långsamt underminera din infrastruktur, ungefär som ett litet läckage i en vägg.

När konfigurationsdriften väl upptäcks tar det tid att hitta den grundläggande orsaken, vilket är en värdefull resurs vid akuta situationer.

Inom mjukvaruutveckling är drift en viktig orsak till långsamma lanseringar. Det kan orsaka onödigt extraarbete och hämma utvecklarnas produktivitet.

Minskade Kostnader

Genom att ha en detaljerad översikt över din IT-infrastruktur kan du identifiera duplicerade resurser eller överprovisionering, vilket i sin tur kan minska de totala kostnaderna.

Ökad Produktivitet

System med stabila och välkända konfigurationer möjliggör batchhantering och enkel infrastrukturkonstruktion. Att begränsa antalet unika servrar minskar behovet av manuell hantering av individuella inställningar.

Snabbare Felsökning

Konsekventa konfigurationer gör att felsökningsteam kan utesluta konfigurationsfel. Teamen kan fokusera på andra potentiella orsaker och lösa problem snabbare, eftersom de inte behöver söka efter konfigurationsdrift mellan olika servrar, serverkluster eller miljöer.

Problem Orsakade av Konfigurationsdrift

Säkerhetsproblem

Osäkra konfigurationer är en av de vanligaste orsakerna till säkerhetsintrång. Även om du börjar med en säker konfiguration, kan konfigurationsdrift öka risken för andra attacker och nätverksintrång.

Driftstopp

Betydande driftstopp kan orsakas av ett konfigurationsfel som gör att en angripare kan utföra en överbelastningsattack eller kompromettera en viktig server. Men det är inte allt. Anta att du ändrar konfigurationen av en nätverksenhet, vilket påverkar prestandan. Du vill återgå till din ”gyllene konfiguration”, men om den konfigurationen är felaktig tar det mycket längre tid att återställa tjänsten.

Bristande Efterlevnad

Strikta säkerhetskontroller är nödvändiga för att uppfylla regelverk som ISO 27001, PCI-DSS och HIPAA. Konfigurationsdrift kan leda till att du bryter mot dessa krav om den inte stoppas i tid.

Försämrad Prestanda

En konfiguration är i sitt mest optimala skick när den är i det tillstånd som var avsett. Ad hoc-ändringar kan motverka nätverksoptimeringsförsök genom att skapa flaskhalsar och konflikter.

Slöseri med Tid

Felsökning av ett nätverk som du inte känner till väl eller som inte stämmer överens med din dokumentation kan ta lång tid. Konfigurationsdrift kan leda till onödiga IT-felsökningsproblem som kanske inte hade uppstått eller hade varit enklare att lösa om nätverket hade varit i det avsedda skicket, och dessutom orsakar driftstopp för användarna.

Vanliga Misstag att Undvika vid Övervakning av Konfigurationsdrift

I en ideal värld skulle alla utvecklingsmiljöer (Dev/QA/Staging/Prod) ha identiska konfigurationer. Men i verkligheten ändrar applikationsägare ofta infrastrukturen när nya funktioner läggs till programvaran.

Övervakning av konfigurationsdrift är avgörande för att säkerställa att mjukvarumiljöer är så enhetliga som möjligt. Genom att hantera konfigurationerna kan man minska kostnaderna, öka produktiviteten, snabba på felsökning och förbättra användarupplevelsen.

För att lyckas med övervakningen behöver organisationer undvika vanliga 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. En CMDB ger en central plats för att granska information om nätverkets hård- och mjukvaruinstallationer. Data samlas in för varje resurs eller konfigurationsobjekt, vilket ger insyn och transparens på arbetsplatsen.

Om man inte underhåller en CMDB riskerar företag att inte helt förstå hur konfigurationen av en resurs påverkar en annan. Organisationer kan potentiellt skada sin infrastruktur och säkerhet utan att förstå konsekvenserna.

CMDB:er kan vara krävande att administrera, särskilt när antalet resurser ökar, men effektiv databasorganisation och -hantering är avgörande för att kunna spåra konfigurationsdrift och förstå infrastrukturen på ett korrekt sätt.

Att Inte Ha en Plan för Övervakning av Konfigurationsdrift

Organisationer har ofta stora och komplexa infrastrukturer som måste övervakas. Det är avgörande att avgöra vilka komponenter som behöver övervakas mest. Annars kan konfigurationshanteringen snabbt bli ohanterlig och kaotisk.

Organisationer måste specificera vilka resurser som är viktigast för övervakning och för specifika affärsenheter. De viktigaste systemen kommer att övervakas mer noggrant, men det kommer att variera mellan olika enheter och branscher.

Att Inte Övervaka Automatiskt

Det finns flera sätt för organisationer att övervaka konfigurationsdrift, men vissa metoder är mer effektiva än andra.

Manuell övervakning av konfigurationsdrift är kostsamt och tidskrävande och ökar risken för mänskliga misstag. Det är inte den bästa metoden för övervakning, såvida inte ditt företag har en mycket liten infrastruktur.

Automatisk övervakning är det mest avancerade och effektiva sättet att hålla konfigurationerna i önskat tillstånd. Dedikerade system för konfigurationsövervakning kan upptäcka drift omedelbart och ofta erbjuda lösningar, inklusive snabb korrigering. Detta säkerställer att organisationens infrastruktur återställs till önskat tillstånd så snabbt som möjligt och med minimal påverkan.

Hur Du Övervakar Konfigurationsdrift

Det blir tydligt varför upptäckt av konfigurationsdrift bör prioriteras när du ser den skada det kan orsaka. Att veta vad som ska skyddas och varför en förändring som skapar drift har skett är det första steget.

Identifiera Vad som Ska Övervakas

Du kan prioritera inom organisationen genom att identifiera vilka komponenter som är kritiska för hela organisationen och för varje affärsenhet.

Detta varierar beroende på enhet och kan vara omfattande i strikt reglerade branscher eller bara fokusera på mer begränsade systemkritiska filer/applikationer. Systemets vikt avgör hur ofta och hur noggrant det övervakas.

Skapa en Baslinje

Det kommer alltid att finnas skillnader mellan en produktionsmiljö och testmiljöer på grund av de olika inställningarna. Baslinjen för att kontrollera drift skapas genom att definiera hur varje steg ska se ut och vilka typer av avvikelser som tillåts.

Tidiga teststeg kan vara mer lämpade för att tillåta högre drift än till exempel användaracceptanstestning eller produktion som ofta kräver noll drift.

Övervaka Ditt System

Vilken nivå av övervakning som krävs beror på organisationens mognad, nuvarande system, verktyg, det totala antalet konfigurationer som måste kontrolleras och hur noggrann granskningen ska vara. Beroende på kraven kan övervakningen variera för olika enheter inom en organisation.

Hur Man Förebygger Konfigurationsdrift

Övervakningen måste säkerställa att infrastrukturen hålls i rätt konfiguration efter att en baslinje med konfigurationer och tillåtna avvikelser har definierats. Utan en tydlig strategi för övervakning är det meningslöst att skapa konfigurationsplaner och dokumentation.

Olika strategier kan användas för att övervaka konfigurationsdrift, och många företag kombinerar olika metoder och verktyg baserat på deras mognad och efterlevnadskrav.

Kontinuerlig 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 i tid. Den bör endast användas i liten skala, för ett fåtal speciella serverkluster eller ett företag med en mindre infrastruktur.

Revisioner

Ett team granskar manuellt serverkonfigurationer som en del av konfigurationsrevisioner och jämför dem med en specificerad modell. Dessa revisioner kan vara kostsamma eftersom de kräver specialistkunskap för att avgöra hur ett system ska byggas och sedan en noggrann granskning av alla odokumenterade ändringar för att avgöra om de ska behållas eller inte.

Revisionsteamet gör också nödvändiga justeringar av konfigurationsdokumenten som kommer att tillämpas under nästa revision. Revisioner används vanligtvis för kluster som är av högt värde eller har strikta efterlevnadskrav, och utförs regelbundet, ofta flera gånger om året, på grund av tids- och kostnadsskäl.

Revisioner säkerställer konsekvent och repeterbar serverkonfiguration enligt ett förutbestämt schema.

Men mellan revisionerna kommer inställningarna att glida och avvikelserna ökar.

Automatiserad Övervakning i Realtid

Automatiserad övervakning i realtid är den mest avancerade metoden för att hålla konfigurationer i det önskade tillståndet. 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 verktyg för serverinstallation.

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

Denna automatiserade process varnar omedelbart vid drift och erbjuder ofta flera alternativ för att korrigera serverdriften.

Slutsats:

Inkonsistenta konfigurationsobjekt mellan datorer eller enheter är den grundläggande orsaken till konfigurationsdrift. Konfigurationsdrift uppstår naturligt i datacenter när mjukvaru- och hårdvaruändringar görs utan att dokumenteras eller spåras noggrant.

Många systemfel inom hög tillgänglighet och katastrofåterställning kan kopplas till konfigurationsdrift. Administratörer bör ha noggranna register över hårdvaruenheternas nätverksadresser, de installerade programvaruversionerna och utförda uppgraderingar för att minimera konfigurationsavvikelser.