#Utveckling & Arkitektur

Varför containers?

Container är ett ord som det har surrats om i IT branschen ett tag nu. Men vad är det egentligen? Och ännu mer intressant hur fungerar det?  

Containerteknologin innebär en annan nivå av separering av processer i en och samma maskin jämfört med t.ex. virtuella maskiner. En container körs som en isolerad process på vårt operativsystem, detta betyder att vi kan ha flera containers körande parallellt utan att de kan påverka varandra. De känner inte till varandra, eftersom de är kapslade enheter och leker i sin egen sandlåda.  

Lätt att blanda ihop olika begrepp

När man pratar om containers är det lätt att man blandar ihop två olika begreppcontainer och image (container-image). En image är en statisk avbildning av den miljö som en container är skapad från.  En image definierar alla de verktyg, kodbibliotek och andra beroenden som behövs för att vår applikation ska kunna köras. Att sedan köra en image innebär alltså att vi instansierar en container från vår image som sedan körs som en process i vårt operativsystem. Genom att paketera applikationen tillsammans med sina beroenden så skapar vi en fristående applikation som är oberoende av till exempel vilken systemmiljö vi är i.

Containers eller virtuella maskiner?

Något som verkar vanligt när man läser diskussioner om containers är att man jämför dem med virtuella maskiner, då detta idag är ett vanligt sätt att kapsla in en applikation från omvärlden och från varandra.
 
Man kan se på containers och virtuella maskiner som lägenheter och hus. Ett hus är fristående och erbjuder skydd mot oinbjudna gäster. Ett hus är ofta stort och har sin egen infrastruktur, så som el, avlopp, vatten och värme. Och hus kommer (i flesta fall) ha minst ett sovrum, ett kök, en toalett och ett vardagsrum. Möjligen mer än man vill ha, alla kanske inte egentligen behöver ett vardagsrum? 
 
Lägenheter erbjuder även den ett skydd mot oinbjudna gäster, men de har en delad infrastruktur. Lägenhetshuset har delad el, avlopp, vatten och värme. Lägenheter kommer i många olika former och storlekar, vissa har inget vardagsrum, vissa har kanske inte något kök. Beroende på vilket behov som finns får du det som just du behöver, varken mer eller mindre. Det finns en hel del saker som kan ifrågasätta med den här jämförelsen men det är ett bra sätt att förstå skillnaden och likheterna mellan containers och virtuella maskiner. 

Container


Med containers s
å sparar vi väldigt mycket resurser jämfört med virtuella maskiner, där vi för varje ny systemmiljö behöver installera ett helt nytt operativsystem. Med containers så slipper vi det, och kan köra flera olika instanser av samma applikation på samma operativsystem och samtidigt hålla instanserna separerade från varandra.

Publicerad: 2020-02-26