
Teknik
DevOps
DevOps-metodologin kan ses som en process eller en livscykel, men hur funkar det?
Kanske har du hört talas om Docker, container eller containerteknologin. De senaste åren har Docker och containterteknik blivit allt populärare. Men vad innebär det egentligen?
Idag ställs höga krav på företag och organisationers förmåga att vara agila och snabbt kunna möta kundernas förändrade behov. Ofta pratar man om att främja en DevOps-kultur för att optimera och automatisera interna flöden och processer. Delvis för att bli mer rörliga, men också för att kvalitetssäkra sina leveranser. Docker och containrar är en del av tekniken som möjliggör DevOps-metodologin.
Docker är en teknik, eller en plattform, med öppen källkod. Plattformen förser andra program med ett gränssnitt som automatiserar distributionen av ett program genom självständiga containrar. Containrarna fungerar som en behållare som paketerar koden för ett program. De innehåller relaterade filer, bibliotek och alla beroenden som krävs för att en applikation ska köras.
Tidigare har man haft problem med att program inte fungerar som de ska när de flyttas från en miljö till en annan. Det kan bero på skillnader i konfigurationen, att de har olika krav eller andra beroenden som inte samspelar. Genom att använda sig av självständiga containrar, kan man mycket enklare paketera och distribuera program sömlöst i olika miljöer. Det här gör att koden kan skapas och köras på vilken utvecklingsdator som helst, antingen i molnet eller lokalt.
Containrar kan köra flera olika instanser, eller versioner, av samma applikation på samma operativsystem. Samtidigt kan de hålla instanserna separerade från varandra. På så sätt behöver man inte installera ett helt nytt operativsystem för varje miljö, vilket gör att man sparar mycket resurser och effektiviserar processer.
Fördelen med containrar är att de kan köra flera olika instanser, eller versioner, av samma applikation på samma operativsystem.
Med containertekniken spelar det ingen roll vilket programspråk eller vilken utvecklingsplattform man använt. Inte heller vilken molntjänst eller vilket operativsystem det körs på. Däremot krävs att värdsystemet har program installerade för att hantera plattformar som Docker. För att skapa containrarna använder man en så kallad Docker image. Det är egentligen en fil eller mall med instruktioner som innehåller villkoren för en container.
Många jämför containerteknologin med vanliga fraktcontainrar. Även om de kan innehålla olika sorters gods, är de standardiserade och lika i sin utformning och storlek. På så sätt blir det enklare och mer effektivt att frakta och stapla dem, oavsett om det gäller fartyg eller tåg över hela världen. En mjukvarucontainer fungerar ungefär på samma sätt. De körs på olika plattformar utan att behöva ändras eller anpassas, men de kan fortfarande innehålla olika saker. Precis som en fraktcontainer kan flyttas mellan olika länder, kan du också skapa, flytta eller radera en Docker container. Det här gör det smidigare att hantera tekniska miljöer, både vad gäller utveckling, distribution och drift.
En mjukvarucontainer fungerar ungefär som Containrar i verkliga livet. De går att skapa, köra eller flytta mellan olika plattformar utan att ändras.
Fördelarna kan vara många men med ny teknik kommer ofta en del brister, inte minst säkerhetsaspekten. För containrar kan säkerhetsbrist handla om den mänskliga faktorn där man glömt en inställning, eller att man har för många containrar som man inte har koll på.
Samtidigt bör man väga säkerhetens brister mot fördelar; exempelvis fördelarna med det automatiserade leveransflödet som containrar faktiskt ger. Det går trots allt att förebygga och öka säkerheten. Till exempel genom att minska antalet containrar så att man har bättre koll, men även att stärka isoleringen mellan containrar. Genom att utgå ifrån bibliotek med kontrollerade mallar för containrar, till exempel det Docker erbjuder, har man också kommit en bra bit på vägen.
Säkerhetsbristen bör vägas mot de säkerhetsmässiga fördelar som det automatiserade leveransflödet av containrar faktiskt ger. Det går att förebygga och öka säkerheten.