har du någonsin hört termen containerization? Möjligen inte. Användningen av behållare i virtuella miljöer är inte ny eftersom den har använts i flera år.

de tekniska förbättringarna har dock gjort containeriseringen populär igen tack vare lättheten i dess utförande jämfört med en virtuell maskin. I den här guiden kommer vi att berätta vad containerisering handlar om och vilka fördelar det ger.

fysiska Behållare vs. programvarubehållare

för att förstå containerisering låt oss tänka på fysiska Behållare ett tag. Den moderna sjöfartsindustrin kan effektivt transportera gods tack vare containrar.

Föreställ dig hur svårt det skulle vara att transportera en öppen pall med smartphones tillsammans med matpallar. Istället för att ha fartyg specialiserade på att transportera viss typ av last, lägger vi bara alla saker i separata behållare och skickar dem alla tillsammans på samma fartyg.

Containerisering som förklaras i IT-världen fungerar i princip på samma sätt. Istället för att skicka hela operativsystem och din programvara packar du din kod i en behållare som kan köras var som helst. Eftersom dessa behållare vanligtvis är ganska små kan du packa många behållare på en enda dator.

Vad är en behållare jämfört med en virtuell maskin?

ibland förväxlas en behållare med en virtuell maskin eftersom de fungerar på liknande sätt: isolera applikationer utan behov av fysisk hårdvara. Men dess huvudsakliga skillnad ligger i dess arkitektur. Behållare isoleras från ett operativsystem och manipuleringen med dem är lättare. Vi kan förstå dem som en lätt form av en virtuell maskin.

en behållare som en virtuell maskin har isolering, det vill säga ett utrymme reserverat för databehandling, auktorisering som rot, kan montera filsystem och mer. Till skillnad från virtuella maskiner som hanteras med separata operativsystem delar behållarna kärnan i värdsystemet med andra behållare, som visas i följande diagram.

jämförelse mellan en VM och en Containerarkitektur
Figur 1. Jämförelse mellan en VM och en Containerarkitektur

vad är en hypervisor

en hypervisor är en speciell programvara som kan emulera en klientdator och alla dess hårdvaruresurser. Hypervisorer körs på fysiska datorer, även kallade värdmaskiner. Det finns två hypervisor typer: en värd hypervisor och en bar metall hypervisor. Medan en hostad hypervisor inte kontrollerar hårdvarudrivrutinerna behöver hypervisorn inte ett operativsystem för att köra.

hur containerisering fungerar

huvudstycket i en containerarkitektur är något som kallas Docker. En Docker är en öppen källkod baserad på Linux-kärnan som ansvarar för att skapa behållare i ett operativsystem som vi har sett i Figur 1. På Master erbjuder vi virtuella hanterade servrar med KVM-virtualisering som stöder Docker containerisering.

genom att komma åt en enda OS-kärna kan Docker hantera flera distribuerade applikationer, som körs i sin egen behållare. Med andra ord är containerisering baserad på mjukvarupaketet som implementeras i en enda virtuell försändelse.

behållarna skapas från Docker-bilder. Även om bilderna är skrivskyddade lägger docker till ett Läs-Skriv-filsystem till det bildfria filsystemet för att skapa en behållare.

När en behållare skapas startar Docker ett nätverksgränssnitt som kommunicerar behållaren med den lokala värden. Lägger sedan till en IP-adress i den skapade behållaren och kör den angivna processen för att utföra den applikation som tilldelats den.

vid implementering av containerisering har varje behållare alla nödvändiga delar för att köra ett program: filer, bibliotek och alla variabler som gör att en miljö kan köras.

som vi nämnde tidigare, till skillnad från virtuella maskiner, behöver behållare inte ha ett annat operativsystem. Den här funktionen gör dem snabbare och lättare eftersom de förbrukar färre resurser från en server eller molnet.

Docker engine: Soul of containerization

Docker engine är ett mjukvarulager där en Docker körs. Sammanfattningsvis är det en lätt exekveringsmotor som hanterar containrar. Den körs på Linux-system och består av en Daemon Docker som körs på värddatorn, en Docker-klient som interagerar med Dameon Docker för att utföra kommandon och ett REST API för att kommunicera på distans med Daemon Docker.

fördelar med containerisering

Containerisering har optimerat virtualiseringen i jämförelse med virtuella maskiner genom att minska antalet resurser och exekveringstid. Dessutom sparar företag pengar eftersom de inte behöver flera versioner av operativsystem med sina respektive licenser. Precis som det händer med VM.

å andra sidan tillåter Behållare flera applikationer att köras på en enda maskin. Varför? Eftersom kärnan i operativsystemet delas. Detta tillvägagångssätt är mycket mer attraktivt ur affärssynpunkt på grund av lättheten att skapa applikationer, montera dem och flytta dem. Några andra fördelar med containerisering är följande:

portabilitet

Containerisering kan köras på alla stationära eller bärbara datorer som kan utföra en behållarmiljö. Eftersom applikationer inte behöver värdoperativsystemet körs de snabbare.

nästan vem som helst kan paketera en applikation på en bärbar dator och testa den omedelbart utan ändringar i ett offentligt eller privat moln. Både applikationsmiljön och driftsmiljön förblir rena och minimala.

skalbarhet och modulering

Behållare är lätta och överbelastas inte. Tack vare denna förmåga tjänar containrar till att skala applikationer genom grupper av system som ökar eller minskar tjänster beroende på efterfrågetoppar. Ett av de bästa verktygen för att utföra skalbarhet i behållare är Kubernets från Google. Kubernetes gör det möjligt att automatiskt styra arbetsbelastningen på behållarna, deras interaktion och implementering.

hastighet

det som gör en behållare snabbare än en VM är att genom att vara isolerade rymdmiljöer som körs i en enda kärna, ta färre resurser. Containrar kan köras på några sekunder, medan VM behöver mer tid för att starta var och en operativsystem.

Docker Hub images

Docker Hub har tusentals offentliga bilder som alla enkelt kan använda. Bildbiblioteket låter dig hitta nästan vilken bild du behöver för dina behållare enligt de specifika behoven hos dina applikationer.

isolering och reglering

vid containerisering isoleras applikationerna inte bara från varandra utan de isoleras också från det underliggande systemet. Det är lättare att styra en applikation i en behållare och systemresurserna. Säkerställer också att både data och koden förblir isolerade.

vet du det…?

i Master Internet föreslår vi avancerad klusterkonstruktion till kunder som kräver extrem tillgänglighet och prestanda för sitt projekt. Vi har erfarenheter av båda kluster som drivs inom ett datacenter och geografiskt separata platser.

mer om Klusterlösningar