« Viigo rules! | Main| Newsflash: gratis versie VMWare server beschikbaar »

Virtualisatie: de actuele ontwikkelingen

QuickImage Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Er is nogal wat beweging in de markt met betrekking tot virtualisatie. Steeds meer bedrijven kijken naar virtualisatie om bijvoorbeeld oude serverparken te consolideren naar nieuwe, krachtige hardware, of juist om schaalbare en 'mobielere' omgevingen te maken, waar virtuele servers min of meer eenvoudig verplaatst kunnen worden van de ene naar de andere fysieke machine. Ook wordt virtualisatie ingezet om resources te poolen; op één nieuwe, krachtige machine worden meerdere virtuele servers gezet; die virtuele servers maken veel efficiënter gebruik van de resources die fysiek voorhanden zijn.

Hoewel virtualisatie als concept al best oud is, waren er tot voor kort maar een paar grote spelers. Op IBM AIX-systemen kon je met logische partities werken; de AS/400 kende ook zoiets. Voor de X86-wereld had je vmware en Microsofts' Virtual Server. Dat was het wel zo'n beetje.

MS OS
Microsoft heeft trouwens voor de komende server-releases van Windows (Longhorn) concrete plannen om vergaande virtualisatie-mogelijkheden aan te bieden, waarbij een hypervisor tussen het ijzer en Windows in komt; je virtuele instances draaien op de hypervisor, en worden aangestuurd via de Longhorn-server die er naast draait, aldus dit artikel. Een demonstratie is hier te vinden.

Hyper..
Even iets over dat woord hypervisor. De hypervisor is de software-laag die virtualisatie mogelijk maakt. Sommige soorten hypervisor draaien direct op het ijzer, en dragen onmiddelijk de virtuele server: dat is het type 1 hypervisor. Andere (type 2) hypervisors hebben nog een (volledig) gast-operating system nodig. Deze hypervisors zijn over het algemeen minder efficiënt, omdat er een volledige extra laag software tussen het ijzer en de virtuele server in zit. Microsofts' constructie zoals hierboven aangegeven is in feite een hybride, die de performance-voordelen van het eerste soort hypervisor biedt, terwijl je de virtuele servers kunt aansturen vanuit een gast-OS dat náást de virtuele servers op de hypervisor draait.

Xen
De laatste tijd hoor ik ook steeds meer over het open source platform Xen. Xen gebruikt 'paravirtualisatie', een vorm van hypervisor 1-virtualisatie waarbij wel sprake is van een gast-operating system, dat echter geschikt gemaakt is voor diepe integratie met de virtuele servers. Je komt zo met je virtuele server toch wat dieper in het gast-OS, en je bereikt een wat efficiëntere virtualisatie. Xen zelf is open source, maar er zijn commerciële implementaties in de producten van Xensource en Virtual Iron. Over de laatste las ik een positieve recensie. Virtual Iron en VMWare liggen de laatste tijd regelmatig in de clinch, vooral omdat Virtual Iron die confrontatie nogal zoekt. Ze beweren, zonder meer, goedkoper én sneller dan die grote concurrent te zijn.
Nog een ander open source product waar ik goede geluiden over gehoord heb, is Qemu; zelf heb er echter geen ervaring mee.

VMWare
VMWare zelf timmert ondertussen aan de weg met gratis producten, zoals de VMWare player, VMWare server en een hele handige: de VMWare converter. De Converter heb ik nog niet geprobeerd, maar klinkt wél handig; deze tool zou je in staat stellen om eenvoudig een bestaande machine te converteren naar vmware image. Dat moeten we zeker eens gaan proberen!
Over images gesproken: een voordeel van VMWare is, dat er veel preinstalled images (appliances) beschikbaar zijn, van RedHat, Novell, IBM enzovoorts. Dat is voor andere producten minder het geval. Overigens zijn er wel methodes om die vmware images te converteren naar andere formaten, bijvoorbeeld naar Xen.
Een nadeel van de gratis vmware-producten is, dat ze echte hypervisor type 2 virtualisatie doen: ze hebben een volledig gast-OS nodig. Het integreert niet, het draait er echt óp. Dat is dus die extra laag software: twee kernels, twee operating systems. Dat maakt van VMWare-producten wat minder efficiënte virtualisatie-gasten. Natuurlijk kun je van VMWare ook de ESX-editie gebruiken; dat is wél weer een type 1 hypervisor. Die maakt gebruik van dedicated hardware, waar een dun gast-OS op draait (linux), en ESX is dan ook een veel efficiëntere manier van virtualiseren dan bijvoorbeeld VMWare server.

Buiten de deur..
Maar, het kan nog efficiënter. Steeds meer bedrijven bieden "virtual private servers" aan, voor soms best interessante prijzen: Flexservers.nl doet het bijvoorbeeld voor 13 euro per maand; al is de "minimaal 64 MB RAM-geheugen" die Flexservers daarbij belooft, wel érg minimaal. Wat er in dat opzicht een stuk erg interessanter uitziet: EC2 van Amazon. Een tijdje geleden hebben enkele collega's zich in weten te schrijven voor deze "Elastic Computing Cloud". EC2 stelt je in staat om een virtuele server te bouwen en beheren; je betaalt per uur dat de server in gebruik is - tien dollarcent om precies te zijn. Voor dat geld krijg je nog een aardig stevige machine ook:

"You have complete control of your instances. You have root access to each one, and you can interact with them as you would any machine. Each instance predictably provides the equivalent of a system with a 1.7Ghz x86 processor, 1.75GB of RAM, 160GB of local disk, and 250Mb/s of network bandwidth."

Dat is, voor maximaal 54 dollar per maand, best een aardige machine. Plus: het is "elastic". Je kunt eenvoudig opschalen, nieuwe instances laten draaien enzovoorts. Vooral omdat het image-gebaseerd is (Amazon's eigen ami-formaat) kun je zo nodig snel schakelen. Tenslotte kun je bij Amazon S3 extra schijfruimte inkopen. S3 is net zoals EC2 elastic, eenvoudig en relatief goedkoop.
Dit soort virtualisatie moet voor veel bedrijven haast wel interessant zijn. Immers, voor die 10 dollarcent per uur krijg je een volledige machine. Je koopt geen hardware, geen rackspace, geen energieverbruik, management overhead, procedureel gedoe met leveranciers, offertes,goedkeuringen, budgetten, levering en plaatsing, serverruimte, boutjes en moertjes, defecte onderdelen enzovoorts. Je koopt alleen computer-capaciteit, niks meer en niks minder! EC2 maakt het daarmee een stuk simpeler om "even" een server bij te schakelen. EC2 is nu vooral erg handig voor ontwikkel-omgevingen, want er zit nog wel een nadeel aan: je krijgt geen vaste IP-adressen. Zolang je instance draait heb je wel een fixed IP-adres, zo leert de praktijk, maar garanties zijn er niet. Nog een nadeel: als je de virtuele machine echt helemaal uitschakelt, verdwijnt alle data die niet in het image zit. Moet je ook even alert op zijn. Maar, het allergrootste nadeel van EC2 op dit moment: het is "limited beta". En hoewel ik me al maanden geleden ingeschreven heb, ben ik nog steeds niet aan de beurt! Meeliften op de accounts van collega's is tot nu toe dan ook de enige optie.

Solaris zones
Een ander voorbeeld van virtualisatie is Solaris 10 zones. In Solaris 10 kun je een fysieke Sun-machine verdelen in meerdere, onafhankelijke lokale zones, die gebaseerd zijn op één global zone. Een lokale zone is functioneel gezien een volledige, individuele server, met een eigen hostname, ip-adres, netwerk-poorten, root account enzovoorts. De global zone bevat de binaries; een lokale zone kan daar gebruik van maken, maar mag desgewenst ook zijn eigen binaries aan boord hebben. In een Solaris 10 zone-omgeving is er maar één kernel; dat betekent minder overhead en weer een efficiënte vorm van virtualisatie, maar heeft als nadeel dat alle lokale zones die aan een bepaalde global zone hangen, dezelfde versie van Solaris moeten draaien.
Daar zit ook weer een afhankelijkheid in bij het verhuizen van een lokale zone. Die zones kun je namelijk oppakken en op een andere Solaris 10-machine neerzetten, maar als die andere machine op een ander patchlevel zit, draait je lokale zone dus ook ineens op een andere versie van het OS dan voor de verhuizing. Tenminste, als je gekozen hebt voor zo'n thin of sparse lokale zone, die dus de binaries van de global zone gebruikt!
Deze vorm van virtualisatie doet me wel wat aan gepartitioneerde Domino-servers denken: één set binaries, met meerdere losse datadirectories er onder. De analogie gaat niet helemaal op, maar er zijn wel degelijk overeenkomsten. Dat geldt ook voor nog weer een ander virtualisatie-product: SWSofts' Virtuozzo; dat lijkt ook wel wat op Solaris 10 zones.

Veel meer (actuele) informatie over virtualisatie is terug te vinden op het vmblog.

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

OpenNTF random projects

PlanetLotus