La plataforma de Clouding utilitza el Hypervisor KVM per a tots els servidors cloud.
En l'actualitat, KVM és considerat com el millor hypervisor i també és dels més utilitzats en els Cloud Públics, com Clouding.
Hi ha altres sistemes de virtualització (com OpenVZ o Virtuozzo), però no realitzen una autèntica virtualització de maquinari, ja que són més similars a contenidors -com ara Docker.
Sistemes de contenidors com OpenVZ
Hi ha diferents formes de virtualitzar sistemes operatius en un servidor, com podrien ser els contenidors.
Entre els sistemes de contenidors més habituals trobem opcions com: OpenVZ o Virtuozzo, Linux lxc Containers, o opcions més modernes com Docker. En tot cas, la majoria d'aquestes tecnologies utilitzen les mateixes extensions del nucli de Linux.
Els sistemes de contenidors no simulen realment maquinari, sinó que utilitzen un sistema de particionat que hi ha al nucli de Linux per separar una instal·lació d'un sistema operatiu d'un altre.
Tots els contenidors funcionen sobre el mateix Kernel -per això mateix, per exemple, no és possible carregar mòduls del nucli només a un contenidor. Això té alguns avantatges però també diversos desavantatges.
El principal avantatge és la densitat. En compartir tots els contenidors el mateix nucli, és possible utilitzar tècniques de duplicació a la memòria de l'ordinador amfitrió. De manera que, si per exemple, dos contenidors carreguen la mateixa llibreria -imaginem, una extensió d'Apache-, aquesta només es carrega un cop a la memòria física de l'equip amfitrió, accedint a la mateixa tots dos contenidors.
Però aquest principal avantatge, també és el seu principal desavantatge. En compartir tots els hypervisors un mateix nucli, un atac a un contenidor es pot estendre a l'equip físic (host) i a tots els contenidors. Així mateix, no és possible tenir diferents sistemes operatius, ja que tots utilitzen el mateix nucli.
També resulta molt complicat separar correctament els recursos assignats a cada servidor, perquè un contenidor no és un sol procés en l'equip físic (host), sinó tots els processos que el mateix executa.
D'altra banda, en la gran majoria de casos, el treballar amb contenidors no es fa una reserva del 100% de la RAM assignada a cada servidor. A l'ésser un dels avantatges inherents d'aquesta tecnologia compartir RAM, en alguns casos s'abusa de la mateixa per reduir costos i això afecta la qualitat del servei.
Per tant, podríem definir aquests sistemes de virtualització (OpenVZ i similars), com una alternativa més econòmica als autèntics servidors Cloud.
Virtualització de Hardware (KVM, ESXi i Xen en mode HVM)
D'altra banda, tenim els sistemes Hypervisors que realitzen virtualització real de hardware.
En l'actualitat un dels més populars i que s'ha anat establint com a estàndard és KVM (Kernel Virtualization Module).
KVM utilitza extensions del nucli de Linux, per realitzar una virtualització emulant hardware real, amb un rendiment virtualment igual al de l'equip físic (host).
En virtualitzar maquinari, KVM presenta al servidor virtual (guest) maquinari com el que es trobaria en un equip físic. D'aquesta manera, qualsevol sistema operatiu pot funcionar normalment sobre un servidor virtual basat en KVM.
En realitzar una emulació de maquinari real, cada servidor virtualitzat disposa del seu propi hardware, BIOS i nucli. D'aquesta manera, no es comparteix espai de memòria entre servidors, cada servidor disposa d'espai de memòria totalment aïllat de la resta de servidors virtualitzats en el mateix servidor físic.
En entorns Cloud s'acostuma a fer servir sempre virtualització per hardware, pel contrari dels servidors VPS de baix cost: on es continua utilitzant OpenVZ o similars per la seva major densitat, menor cost i major capacitat de sobre venda de recursos.
KVM amb VirtlO (Drivers paravirtualitzts)
A Clouding utilitzem KVM amb VirtIO. VirtIO és un set de drivers paravirtualitzats, que ofereixen un rendiment més elevat, ja que són drivers pensats especialment per a entorns de virtualització.
Posem per exemple, la targeta de xarxa d'un servidor virtual:
En el cas d'utilitzar un maquinari virtualitzat normal -sense VirtIO- moltes tasques es dupliquen, ja que el servidor virtual (guest) realitza moltes accions innecessàries que després el servidor físic (host) tornarà a realitzar.
Però si fem servir VirtlO, la targeta de xarxa virtual amb prou feines realitza accions, perquè senzillament transmet les dades a la targeta de xarxa física de l'equip amfitrió. Aquesta transmissió simplificada, augmenta molt el rendiment, perquè en lloc d'enviar-se les dades al host, s'envien en un format adequat per ser transmeses a una xarxa física, s'envien de manera que l'equipament físic les pugui rebre a alta velocitat i transmetre-les a la xarxa física.
Aquest tipus de drivers s'utilitza per a l'accés a la xarxa i per a l'accés a disc, ja que és on més rendiment ofereixen.
Avantatges de KVM a Clouding
A Clouding estem obsessionats amb el rendiment i amb oferir-te la millor plataforma Cloud del mercat. Per això utilitzem KVM com hypervisor en tots els serveis que t'oferim.
Utilitzant KVM podem oferir-te el millor rendiment, la màxima seguretat i la major estabilitat.