Användningen av och investeringar i verktyg och teknik för Infrastructure as Code (IaC) har ökat avsevärt de senaste åren. Användningen drivs främst av en vilja att effektivisera IT-driften och den ökande användningen av hybrid- och molninfrastruktur. Trots att området och tekniken funnits länge märker jag att det finns ett intresse för att förstå fördelarna och även navigera kring metodens eventuella baksidor. Jag tänkte därför gå igenom hur jag ser på IaC.
Infrastructure as Code eller programmerbar infrastruktur, går i korthet ut på att hantera och konfigurera servrar, databaser och andra infrastrukturkomponenter med kod, i stället för att fysiskt konfigurera infrastrukturen eller använda sig av någon form av portal eller konfigureringsverktyg. Det är fullt möjligt att hantera både fysisk infrastruktur och virtuell eller molnbaserad infrastruktur på detta sätt.
Många vinster
Fördelarna med IaC är många. Den viktigaste är för de flesta att det gör det möjligt att skapa en hög grad av automation. Eftersom konfigureringskoden går att spara och återanvända, kan processen göras helt repeterbar. Metoden gör också att det går mycket snabbt att spinna upp ny infrastruktur och säkerhetsparametrar, vilket sparar både tid och manuella resurser. För många verksamheter med hög digitaliseringstakt är snabbheten ofta ett helt avgörande argument för IaC.
I takt med att cybersäkerhetshoten blir fler och alltmer avancerade blir infrastruktursäkerhet ett allt viktigare område. Även här finns det mycket att vinna med en IaC-strategi. Har du tagit fram din konfigureringskod på ett noggrant sätt och även testat och utvärderat den ordentligt, ska du kunna känna dig säker på att den håller måttet och att din infrastruktur är uppsatt på ett så säkert sätt som möjligt. Det blir då också enklare att utvärdera och säkerställa att koden överensstämmer med verksamhetens säkerhetspolicy. Skulle policyn också uppdateras kan du på ett relativt enkelt sätt uppdatera koden och skjuta ut den till hela din infrastruktur.
Kanske inte en stark drivkraft, men en inte oviktig fördel med IaC är att den skapar en enhetlighet. Den ökar kontrollen och minskar risken för felkonfigureringar. Koden utgör i sig också en typ av dokumentation av konfigurationen. Det blir då enkelt att spåra och följa förändringar som gjorts. Just spårbarheten är ett allt viktigare område där också de regulatoriska kraven ökar.
Ett varnande finger
Efter alla fördelarna med IaC, är det på sin plats att också belysa en viktig aspekt som kan skapa problem. Eftersom IaC ger en hög grad av automatisering genom att kod återanvänds, är det viktigt att hålla i åtanke att fel i konfigureringen då också snabbt fortplantas genom hela infrastrukturen. Här är det viktigt att få processer för test och verifiering på plats. Om vi jämför med traditionell programmering eller programvaruutveckling så finns ju där en tydlig feedback-loop där ny kod snabbt verifieras och utvärderas. Det är inte alltid lika självklart att denna del av processen finns med i IaC.
IaC och molnet
IaC och en ökande användning av molnbaserad infrastruktur går hand i hand. IaC fungerar utmärkt för att skapa en effektiv moln- eller hybridmiljö och det går utmärkt att inkludera både privata och publika moln. Det är dock viktigt att förankra dina IaC-processer i en övergripande molnstrategi, både ur ett process-, managerings- och säkerhetsperspektiv.
Min rekommendation är att göra en genomgripande bedömning (assessment) av verksamhetens behov, krav och digitaliseringsstrategi framåt. Det kan ge värdefulla råd kring den mest lämpliga arkitekturen för att uppnå verksamhetens säkerhetskrav och ta höjd för framtida innovation och digitala ambitioner.
Vi på CGI har mycket expertis inom detta område och kan bistå både med att göra en assessment av din nuvarande infrastruktur, hjälpa dig att integrera IaC i din molnstrategi samt bistå i att implementera IaC så att du får ut det mesta av tekniken.