Programmering

Novm udfordrer definitionen af, hvad der er en container, og hvad der er en VM

Lige da du troede, at alle muligheder var udnyttet til hypervisorer, containere og VM'er, kommer en anden udfordrer til at røre friske ingredienser i gryden.

Novm - produceret i regi af Google, selvom det ikke er et officielt Google-produkt i henhold til GitHub-beskrivelsen - er en type 2 hypervisor (beslægtet med VMware Workstation, snarere end VMware ESX) skrevet i Go og udnytter Linux's KVM og fokuserer på kører applikationer snarere end hele systemer.

Fængslende udsætter den "en filsystemenhed som en primær mekanisme til at køre gæster", ifølge projektsiden. I stedet for at definere et diskbillede, der skal bruges med den virtuelle computer, bemærker brugeren, hvilke mapper der skal gøres synlige for Novm - og listen kan ændres i realtid, så kataloger kan tilføjes eller fjernes i farten, mens systemet løber.

Novms skabere - hovedsageligt Adin Scannell, en systemsoftwareudvikler hos Google - påpeger flere fordele i forhold til containere til deres system bortset fra at gøre det mindre problematisk at administrere diskforekomster. I modsætning til et containerbaseret system kan Novm køre en hvilken som helst kerne på værten, som den ved, hvordan man starter, så gæst og vært kan køre helt forskellige versioner af Linux med forskellige blandinger af moduler. Desuden har denne model bedre sikkerhed end containere, da de eneste grænseflader, der er udsat for, er det for x86 ABI og selve hypervisoren. ("Containere er mere tilbøjelige til at lide af sikkerhedshuller, da gæsten kan få adgang til hele kernesystemets opkaldsgrænseflade," forklarer skaberne.)

I en LinuxCon-præsentation, der blev leveret i august sidste år, beskrev Scannell (også skaberen af ​​Huptime-værktøjet) noget af det, han opfattede som begrænsningerne i containere. De er stærkt afhængige af værtens kerne, hvilket gør sikkerheden vanskeligere, end det kan synes, og de skaber problemer med delt kernetilstand, som er "kompleks og vanskelig at isolere", da "migration, suspendering og genoptagelse er meget sværere. " I stedet for at forsøge at gøre containere mere som VM'er, var hans idé med Novm at forsøge at gøre en VM mere som en container, der spillede Docker-stil implementering, kunne kortlægge mapper i andre filsystemer med ikke mere end en kommando og kunne adressere nogle af disse problemer.

De nuværende ulemper ved Novms tilgang er tredelt: hastighed (I / O-intensive arbejdsbelastninger kommer med mange advarsler), understøttelse af et meget lille antal hardwareenheder og understøtter kun Linux-kerner på dette tidspunkt. Den anden begrænsning begrænser Novm til at køre applikationer med moderne stak. Som Scannell sagde: "Du kan ikke migrere dit urørlige, gamle it-system til Novm."

En analogi til eksplosionen i produkter, der udforsker spektret af muligheder mellem hypervisorer, VM'er og containere, er den måde, smartphones gennemgik en lignende eksplosion i formfaktorer på, fra det konventionelle håndsæt til "phablet", der viste sig at være en overraskende succes. Hver formfaktor opfyldte forskellige behov for forskellige kunder, selvom behovene ikke var synlige for andre kunder - eller for andre smartphone-producenter.

På samme måde er eksperimenter som disse, der undersøger flytning af skillelinjen mellem en VM og en container, beregnet til at ridse kløe, som IT-folk måske ikke ved, de havde. Det var klart, at Docker var i stand til at tilfredsstille en større kløe, men det er fuldt ud mulige projekter som Novm kan finde og tilfredsstille andre behov, der ikke er blevet vokaliseret.