Virtualisering, Containers, Docker & Orchestrators
Vi tar en repetition av virtualisering och tittar på några andra begrepp som är viktiga för att molnet ska fungera.
#Vad innebär Virtualisering
“Med virtualisering skapas en simulerad, eller virtuell, datormiljö till skillnad från en fysisk miljö. Virtualisering innefattar ofta datorgenererade versioner av maskinvara, operativsystem, lagringsenheter och annat. Det gör att organisationer kan dela upp en enskild fysisk dator eller server i flera virtuella datorer. Varje virtuell dator kan sedan interagera var för sig och köra olika operativsystem eller program samtidigt som de delar resurserna på en enskild värddator.
Eftersom flera resurser skapas på en enskild dator eller server ger virtualisering bättre skalbarhet och arbetsbelastningar med färre servrar, lägre energiförbrukning, lägre infrastrukturkostnader och mindre underhåll.”
Källa: Vad är virtualisering? hos Microsoft.
Virtualisering sker genom mjukvara som kallas Hypervisor. Man kan tänka sig hypervisorn som ett lager som ligger mellan den fysiska datorn eller servern och de virtuella plattformar som den hanterar. Några vanliga hypervisors är VmWare, Hyper-V och VirtualBox.
Titta på denna videon från IBM som ger en bra grundbeskrivning.
#Vad är Containers?
Containers är en mycket använd teknik för att lösa problemet med hur man får mjukvara att fungera på samma sätt i olika utvecklings- och driftmiljöer.
En container består av en runtime-miljö: dels din applikation, men också de bibliotek, konfiguration och filer som den är beroende av.
Genom att kapsla in din applikation med dess plattform och beroenden i en container så avskärmar du den samtidigt från operativsystem och infrastruktur.
Läs igenom What is a Container? och titta på denna videon.
#Vad är skillnaden mellan containers och virtualisering?
Med virtualiseringsteknik blir själva lagret ovanpå hypervisorn en hel server som inkluderar både operativsystem och själva applikationen.
Om du däremot använder dig av containermetoden så skulle en server som kör tre containeriserade applikationer ha ett enda operativsystem, och varje container delar operativsystemkärnan med sina syskoncontainers. Det betyder att containers är mycket lättare och använder mycket färre resurser än virtuella maskiner.
#Vad är Docker?
Docker är ett open-source projekt för att automatisera deployment av applikationer som containers.
Med Docker kan man köra flera containers samtidigt på en virtuell eller fysisk maskin.
Läs igenom What is Docker, Docker terminology och Docker containers, images, and registries.
#Vad är Container Orchestrators?
En Container Orchestration plattform automatiserar provisionering och driftssättning av containers, har verktyg för konfiguration och schemaläggning, lastbalansering, monitorering, managering, skalning och kommunikation mellan containers, och mycket mer.
Den troligen mest kända plattformen är Kubernetes, men det finns många alternativ som t.ex. Docker Swarm, Marathon, Amazon ECS, Azure Container Services mm.
Titta på Container Orchestration Explained.
#Revision history
- 2021-12-17: (A, efo) Skapad inför VT2022.