Návrh privátní IaaS cloudové platformy - Newt on-da-line

Transkript

Návrh privátní IaaS cloudové platformy - Newt on-da-line
Univerzita Hradec Králové
Fakulta informatiky a managementu
Katedra informatiky a kvantitativních metod
Návrh privátní IaaS cloudové platformy
Diplomová práce
Autor: Bc. Aleš Komárek
Studijní obor: Informační management (2)
Vedoucí práce: Ing. Vladimír Soběslav, Ph.D.
Hradec Králové
Srpen 2013
Prohlášení
Prohlašuji, že jsem svou diplomovou práci vypracoval samostatně a použil pouze zdroje
uvedené v přiloženém seznamu.
V Hradci Králové dne 20. 8. 2013
Aleš Komárek
ii
Poděkování
Rád bych zde poděkoval všem, kteří mi pomáhali při tvorbě této práce. Zvlášť pak děkuji
svému vedoucímu práce, panu Vladimíru Soběslavovi, za odbornou pomoc, podnětné rady
a čas, který mi věnoval a panu Janu Kaufmanovi, který mi pomohl překonat mnohé
problémy při vlastní realizaci vybraného cloudového řešení.
iii
Anotace
Diplomová práce se zaměřuje na problematiku virtualizace a cloudových služeb. Jedná se
o dynamickou oblast, která poslední dobou prochází bouřlivým vývojem, jak po technické,
tak po obchodní stránce. Teoretická část práce popisuje historii virtualizace a hlavní
virtualizační a cloudové řešení s ohledem na jejich dopad na trh s těmito technologiemi.
V praktické části bude vybráno vhodné řešení pro realizaci privátní IaaS platformy.
Vybraná platforma se nasadí do dvou referenčních instalací. První instalace bude ve
vizualizovaném prostředí VirtualBox. Druhá referenční instalace bude v síťové laboratoři
CEPSOS při UHK FIM.
Annotation
This master thesis focuses on virtualization and cloud services. It’s a very dynamic field,
which undergoes a great deal of change in both technical and business aspects. Theoretical
part describes history of virtualization and cloud solutions and their impact on market
today.
The practical part focuses on finding the most proper solution for realization of a private
IaaS platform. Chosen platform will be then installed into two reference installations. First
installation will be at virtual environment of VirtualBox virtualization application. The
second installation will take place in the CEPSOS network laboratory at UHK FIM.
iv
„Simplicity is the ultimate sophistication.“
Leonardo da Vinci
v
Obsah
1. Úvod ...................................................................................................................................1
2. Cíl a metodika práce ...........................................................................................................2
2.1. Postup práce ............................................................................................................... 2
3. Virtualizace a cloud computing..........................................................................................3
3.1. Historie virtualizace ................................................................................................... 4
3.2. Základní rozdělení ...................................................................................................... 4
3.2.1. Modely poskytování cloudových služeb ............................................................. 6
3.2.2. Modely nasazení cloudů ...................................................................................... 7
3.3. Virtualizace systémů a procesů .................................................................................. 8
3.3.1. OpenVZ ............................................................................................................... 9
3.3.2. Xen .................................................................................................................... 10
3.3.3. KVM .................................................................................................................. 11
3.3.4. Oracle VirtualBox ............................................................................................. 11
3.3.5. VMware ESX .................................................................................................... 12
3.3.6. Windows Hyper-V ............................................................................................ 13
3.4. Virtualizace infrastruktury ....................................................................................... 13
3.4.1. Amazon EC2 ..................................................................................................... 14
3.4.2. VMware vSphere ............................................................................................... 15
3.4.3. OpenStack ......................................................................................................... 16
3.4.4. Apache CloudStack ........................................................................................... 16
3.5. Virtualizace aplikační platformy .............................................................................. 17
3.5.1. Google App Engine ........................................................................................... 17
3.5.2. Windows Azure ................................................................................................. 18
3.5.3. Heroku ............................................................................................................... 18
3.5.4. OpenShift........................................................................................................... 19
vi
4. Obchodní stránka virtualizace a cloud computingu .........................................................20
4.1. Přínosy ...................................................................................................................... 20
4.1.1. Konsolidace služeb ............................................................................................ 20
4.1.2. Sjednocení prostředí .......................................................................................... 21
4.1.3. Obnova hardware a software ............................................................................. 21
4.1.4. Vysoká dostupnost ............................................................................................ 21
4.2. Problémy .................................................................................................................. 22
4.2.1. Hardwarové nároky ........................................................................................... 22
4.2.2. Údržba virtuálních systémů ............................................................................... 22
4.2.3. Zvýšené licenční nároky a složitost................................................................... 23
4.3. Současný stav trhu .................................................................................................... 23
4.4. Trendy a výhledy ...................................................................................................... 23
4.4.1. Veřejné cloudové řešení .................................................................................... 24
4.4.2. Privátní cloudové řešení .................................................................................... 25
4.5. Situace v Evropě ....................................................................................................... 25
4.5.1. Uvolnění potenciálu cloudů v Evropě ............................................................... 25
4.5.2. Projekt Optimis.................................................................................................. 26
5. Výběr IaaS platformy .......................................................................................................27
5.1. Kritéria výběru ......................................................................................................... 27
5.2. Možnosti výběru ....................................................................................................... 28
5.3. Vlastní výběr ............................................................................................................ 29
6. Projekt OpenStack ............................................................................................................31
6.1. Architektura systému................................................................................................ 31
6.2.1. Nové služby ve verzi Folsom ............................................................................ 33
6.2. Služby systému OpenStack ...................................................................................... 34
6.2.1. Obrazová služba ................................................................................................ 34
vii
6.2.2. Úložiště objektů................................................................................................. 37
6.2.3. Síťová služba ..................................................................................................... 38
6.2.4. Blokové uložiště ................................................................................................ 39
6.2.5. Správce identit ................................................................................................... 39
6.2.6. Řídící aplikace ................................................................................................... 40
6.2.7. Výpočetní služba ............................................................................................... 41
6.3. Vývojový cyklus OpenStack platformy ................................................................... 45
6.3.1. Ubuntu Archiv ................................................................................................... 45
7. Realizace OpenStack platformy .......................................................................................46
7.1. VirtualBox virtuální server ....................................................................................... 46
7.1.1. Použitý hardware ............................................................................................... 46
7.1.2. Použité služby.................................................................................................... 46
7.1.3. Nastavení sítě .................................................................................................... 48
7.2. Laboratoř CEPSOS................................................................................................... 49
7.2.1. Použitý hardware ............................................................................................... 50
7.2.2. Použité služby.................................................................................................... 50
7.2.3. Nastavení sítě .................................................................................................... 51
7.2.4. Postup instalace ................................................................................................. 52
7.3. Ukázka nasazeného řešení ........................................................................................ 55
7.3.1. Instalace s Ubuntu vzhledem ............................................................................. 55
7.3.2. Instalace s OpenStack vzhledem ....................................................................... 56
8. Závěr .................................................................................................................................61
8.1. Podpora výuky.......................................................................................................... 62
8.2. Otevřený cloud ......................................................................................................... 63
Seznam použité literatury .....................................................................................................65
Seznam obrázků ...................................................................................................................70
Seznam tabulek.....................................................................................................................71
viii
Návrh privátní IaaS cloudové platformy
Kapitola 1. Úvod
1. Úvod
Jedním z hlavních důvodů pro psaní této práce je aktuální vývoj na trhu s virtualizačními a
cloudovými technologiemi. Jde o velmi dynamický trh, který neustále směřuje k větší
podpoře a využití kvalitních open-source řešení ze strany důležitých společností, od
poskytovatelů infrastruktury, až po velké uživatele a poskytovatele služeb.
Stále aktuálnější téma levného a spolehlivého cloudového řešení (1), které splňuje náročné
požadavky na škálování, bezpečnost a stabilitu, má v dnešní době několik řešení. Liší se
cenou, službami a celkových obchodním modelem. Trend přechodu od správy vlastních IT
prostředků po prostředky kompletně outsourcované, ať fyzické nebo virtuální, je neustále
sílící. Cena za vlastní správu IT zdrojů je v proměnném prostředí informačních technologií
a souvisejících potřeb a hrozeb je rostoucí. Úspory jsou jedním z hlavních důvodů (1), proč
firmy přecházejí na levnější a flexibilnější virtuální prostředky a do cloudových prostředí.
Virtualizace má řadu omezení, která brání růstu infrastruktury nad určité meze.
V první části práce je popsána teorie, která je nezbytná pro pochopení důležitosti
virtualizace, následuje historie virtualizace a srovnání hlavních virtualizačních technologií
současnosti. Následují výhody a problémy cloudových platforem a celkový pohled na
trendy na trhu virtualizačních a cloudových technologií. Po výběru vhodné IaaS platformy
pro privátní cloud, budou provedeny dvě referenční instalace.
1
Návrh privátní IaaS cloudové platformy
Kapitola 2. Cíl a metodika práce
2. Cíl a metodika práce
Cílem této diplomové práce je výběr vhodné IaaS platformy a následná realizace vybrané
platformy v síťové laboratoři. Výběr bude podložen výčtem stávajících technologií
v oblasti virtualizace a cloudových technologií. Nejdůležitější výběrová kritéria budou
cena, kvalita dokumentace a podpory, podpora stávajících hardwarových prostředků a
licenční podmínky.
Popis vlastní architektury systému bude navržen pro aktuální verzi vybrané platformy.
IaaS řešení jsou neustále vyvíjené systémy, kde se mění počet komponent, některé
přibývají a některé se rozdělují. Z tohoto důvodu nelze mít pouze statický popis
architektury systému, ale i určené procesy jak tuto architekturu přizpůsobovat aktuálním
potřebám a možnostem.
V rámci diplomové práce se vytvoří model architektury vybraného privátního IaaS
systému. Tento model se pak přes konfigurační management promítne do reálného
prostředí. Pro potřeby práce se vytvoří dvě referenční instalace:
•
Nasazení na virtuálním serveru VirtualBox
•
Nasazení v síťové laboratoři CEPSOS při UHK FIM
2.1. Postup práce
Cloudové IaaS platformy nemají jednotný postup instalace (2) (3) (4). Každá instalace je
jedinečná, liší se počtem fyzických serverů, možnostmi použité virtualizační platformy a
topologií sítě. Pro každé nasazení systému je důležité vytvořit jedinečný model, který bude
použité servery, síť, softwarové služby a vazby mezi nimi detailně popisovat.
Tento model se aplikuje na konfigurační management (5), který provede vlastní
konfiguraci fyzických serverů a uvede servery do požadovaného stavu. Po dokončení
nastavení serverů pomocí konfiguračního managementu je možné použít webové a API
rozhraní cloudové platformy.
2
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
3. Virtualizace a cloud computing
Virtualizací (5) označujeme techniky, které umožňují k dostupným zdrojům přistupovat
jiným způsobem, než jakým fyzicky existují, jsou propojeny atd. Virtualizované prostředí
se dá snadněji přizpůsobit potřebám uživatelů, případně skrýt pro uživatele nepodstatné
detaily (jako např. rozmístění hardwarových prostředků).
Podle Popeka a Golberga (6) musí každé virtuální prostřední splňovat následující
podmínky:
•
Věrohodnost – Aplikace provozovaná ve virtualizovaném prostředí nesmí poznat
rozdíl od fyzického serveru.
•
Výkonnost – Velká většina instrukcí virtualizovaného stroje se provádí přímo na
hostitelském stroji.
•
Bezpečnost – Virtualizovaná prostředí se nemohou vzájemně ovlivňovat a
přistupovat k hostitelskému stroji.
Virtualizovat jde na různých úrovních. Od celého počítače, který pak označujeme jako
virtuální server, nebo jeho jednotlivých hardwarových komponent, například virtuální
procesor nebo virtuální paměť, případně pouze softwarové prostředí, příkladem je JVM 1.
Virtualizace také překračuje rámec jednotlivých serverů a virtualizují se například celé sítě
(7), které jsou pak více flexibilní, dají se upravit v případě zvýšené zátěže nebo výpadku
některých síťových spojů. Další oblastí, která se začíná ve větší míře virtualizovat, jsou
diskové úložiště, které je pak využíváno jako služba. Tyto virtualizované služby pak tvoří
základní prvky virtualizace celých IT infrastruktur (8), tzv. IaaS 2 řešení, které se také
označují jako tzv. „cloudy“, příkladem jsou Amazon EC2, RackSpace jako firmy
poskytující IaaS platformy, nebo OpenStack a CloudStack jako zástupci IaaS řešení, která
se dají provozovat lokálně.
1
2
JVM – Java Virtual Machine
IaaS – Infrastructure as a Service
3
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
Poslední dobou je stále populárnější je virtualizace na úrovni aplikační platformy (7), tzv.
PaaS 3 řešení, kde se provozuje prostředí pro běh aplikací vytvořených v moderních
programovacích jazycích, například Java, Python, Ruby nebo PHP. Tento přístup dovoluje
provozovat aplikace bez potřeby správy jiných služeb a velmi dobrou mírou
škálovatelnosti.
3.1. Historie virtualizace
Význam termínu virtualizace pochází z 60. let 20. století, kdy vznikl pokusný stránkovací
mechanismus systému IBM M44 (9). Zakládání a správa virtuálních strojů byla v
počátcích CP40 také označována jako zakládaní a správa pseudostrojů a později jako
virtualizace serverů. Od té doby získal termín virtualizace a virtuální stroj mnoho jiných
významů.
Virtualizace platformy je prováděna na dané hardwarové platformě pomocí řídícího
programu na hostiteli, který vytváří simulované prostředí počítače (virtuální stroj) pro
hostovaný software. Software hosta, často celý operační systém, funguje, jako by byl
nainstalován přímo na hardwarové platformě. Typicky lze simulovat více takovýchto
virtuálních strojů na jednom fyzickém stroji. Pro správnou funkci hosta je třeba, aby byl
dostatečný výkon na straně hostitele a aby existovala podpora pro vnější rozhraní
hostovaného systému, což obvykle zahrnuje hardwarové ovladače.
3.2. Základní rozdělení
Existuje řada druhů virtualizace (9), základní rozdělení typů virtualizace je popsáno
v následující tabulce.
Typ
Popis
Emulace
Virtuální
stroj
simuluje
celý
hardware,
dovoluje
běh
neupraveného OS hosta na zcela odlišném procesoru. Tento
3
PaaS – Platform as a Service
4
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
přístup je dlouho používán za účelem tvorby softwaru pro
procesory, které nejsou fyzicky dostupné.
Příklady: Bochs, Microsoft Virtual PC, QEMU bez akcelerace
Nativní virtualizace Virtuální stroj simuluje dostatečné množství hardwaru tak, aby
a plná virtualizace
umožnil oddělený běh neupraveného OS hosta určeného pro
stejný druh CPU. Obvykle je možný souběh více instancí.
Tento přístup se poprvé použil u systému CP-4O.
Příklady: VirtualBox, Virtual PC, VMware Workstation,
VMware ESX, QEMU, Hyper-V a další.
Paravirtualizace
Virtuální stroj nemusí nezbytně simulovat hardware, místo toho
nabízí aplikační rozhraní, které může být použito jen z
hostovaného systému.
Příklady: Xen, KVM, Parallels Workstation
Virtualizace na
Virtualizuje se fyzický server na úrovni OS, což umožňuje běh
úrovni operačního
více izolovaných bezpečných virtuálních serverů na jednom
systému
fyzickém serveru. Prostředí hostovaného OS sdílejí jeden OS
s hostitelským systémem. Aplikace běžící v hostovaném
prostředí jej však vnímají jako samostatný systém.
Příklady: Linux-VServer, Virtuozzo, OpenVZ
Aplikační
Desktopové nebo serverové aplikace běžící na daném stroji,
virtualizace
používají místní zdroje, ale běží ve zvláštním virtuálním stroji.
To je rozdíl oproti tradičnímu lokálnímu běhu nativních
aplikací, tj. softwaru instalovaném přímo na systému. Toto
virtuální prostředí se chová jako vrstva mezi aplikací a
operačním systémem, která zabraňuje konfliktům mezi aplikací
a OS nebo mezi aplikacemi vzájemně.
Příklady: Java Virtual Machine, Citrix, VMware a další
5
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
Virtualizace
Virtualizace celé IT infrastruktury IaaS (8) kombinuje
infrastruktury
administraci virtualizace na úrovni operačních systémů a
přidává navíc možnost navíc spravovat síťové služby, diskové
úložiště a další služby.
Příklady: Amazon EC2, OpenStack, CloudStack a další
Virtualizace
Virtualizace na úrovní aplikační platformy PaaS (8)
tvoří
platformy
prostředí vhodné pro provoz webových aplikací vytvořených
v moderních programovacích jazycích (např. Java, Python,
Ruby, PHP nebo Go).
Příklady: OpenShift, Heroku, Google App Engine, Windows
Azure
Tabulka 1: Základní rozdělení virtualizačních technologií
Pro zaměření této práce jsou důležité virtualizace na úrovni operačního systému a
paravirtualizace pro výběr nejvhodnější. Cloudové služby jsou nejpokročilejší formou
virtualizace a jsou hlavním předmětem zájmu této diplomové práce, proto je dále
rozdělíme na dílčí kategorie.
3.2.1. Modely poskytování cloudových služeb
Poskytovatelé cloudů nabízejí své služby podle několika základních modelů: infrastruktura
jako služba (IaaS), platforma jako služba (PaaS) a software jako služba (SaaS), kde IaaS je
nejzákladnější a každý vyšší model obsahuje vlastnosti předchozích modelů.
3.2.1.1. Infrastruktura jako služba (IaaS)
Nejzákladnější model poskytování cloudových služeb nabízí servery (8), fyzické nebo
častěji virtuální, a další zdroje. Virtualizační hypervisor (Xen, KVM) provozuje virtuální
stroje. Skupiny hypervisorů v rámci cloudu mohou provozovat velké množství virtuálních
strojů a mají schopnost škálovat poskytované služby v závislosti na měnících se
6
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
požadavcích přicházejících od zákazníků. IaaS cloudové platformy nabízejí často i další
služby jako jsou knihovny virtuálních disků, blokové a souborové úložiště, virtuální sítě,
firewally pro rozložení zátěže. Poskytovatelé IaaS cloudových platforem poskytují
tyto zdroje na vyžádání ze svých datových center.
3.2.1.2. Platforma jako služba (PaaS)
V modelu Platforma jako služba (PaaS) hostují poskytovatelé cloudových služeb
počítačovou platformu ve formě operačního systému (8), prostředí pro běh určitého
programovacího jazyka, databáze a webového serveru. Vývojáři aplikací mohou
provozovat a případně vyvíjet svá softwarová řešení bez výrazných nákladů a složitého
nákupu a konfiguraci potřebného hardwaru a softwaru. Některé PaaS platformy nastavuje
výpočetní a úložné prostředky aplikace automaticky tak, aby odpovídala aktuálním
požadavkům aplikace bez nutnosti zásahu zákazníka.
3.2.1.3. Software jako služba (SaaS)
V modelu SaaS provozují poskytovatelé cloudových služeb aplikační software v cloudu (8)
a uživatelé k tomuto softwaru přistupují pomocí klientského software (např. webové
prohlížeče). Uživatelé cloudu tedy nespravují infrastrukturu ani platformu, kde aplikace
běží. Není proto třeba instalovat a spouštět cloudové aplikace na vlastních počítačích
uživatele, což velmi zjednodušuje údržbu. Cloudové aplikace se liší od ostatních aplikací v
možnostech škálování, kterého může být dosaženo díky distribuce úkolů na více
virtuálních strojů, a tím reagovat na měnící se poptávku. Tento proces je pro uživatele
služby transparentní, uživatel vidí pouze jeden přístupový bod pro danou aplikaci.
3.2.2. Modely nasazení cloudů
Vlastní využití cloudů může probíhat několika způsoby (10). Veřejné a komunitní cloudy
může používat jeden nebo více zákazníků. Privátní cloudy slouží většinou pro potřeby
jednoho zákazníka a je většinou provozován na jeho infrastruktuře. Poslední model
kombinuje možnosti předchozích řešení a dovoluje propojovat cloudové služby různých
poskytovatelů do jednoho řešení.
7
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
3.2.2.1. Veřejný cloud
Veřejné cloudové aplikace (10), výpočetní výkon, úložiště a další služby jsou k dispozici
široké veřejnosti poskytovatelem služby. Služby jsou poskytovány zdarma nebo podle
modelu platby za množství použitých služeb. Je zvykem, že veřejní poskytovatelé
cloudových služeb, jako je Amazon AWS, Microsoft nebo Google, vlastní a provozují
hardwarovou infrastrukturu a nabízejí k ní přístup pouze přes Internet.
3.2.2.2. Komunitní cloud
V rámci komunitního cloudu (10) sdílí infrastrukturu cloudu několik organizací, které mají
společné zájmy (bezpečnost, dodržování předpisů, působnost, atd.). Komunitní cloud může
být spravován interně nebo prostřednictvím třetí strany. Stejně může být hostovaný interně
nebo externě. Náklady jsou rozloženy mezi méně uživatelů než na veřejném cloudu.
3.2.2.3. Privátní cloud
Privátní cloud (10) je infrastruktura provozována výhradně v rámci jedné organizace.
Může být spravován interně nebo prostřednictvím třetí strany a hostován opět interně nebo
externě. Aby mohl podnik využít privátní cloud, musí nejprve virtualizovat celé své
podnikatelské prostředí. Vlastní přechod vyvolává řadu bezpečnostních otázek, které je
třeba řešit, aby se zabránilo vážným zranitelnostem celého řešení.
3.2.2.4. Hybridní cloud
Hybridní cloud (10) je spojení dvou nebo více cloudů (soukromých, komunitních nebo
veřejných), které zůstávají samostatné, ale jsou těsně propojeny. Toto složení rozšiřuje
možnosti nasazení cloudových služeb a tím umožňuje IT organizacím využít veřejné
cloudové prostředky k uspokojení dočasných potřeb. Tato schopnost umožňuje hybridním
cloudům škálovat přes více nezávislých cloudů.
3.3. Virtualizace systémů a procesů
Následuje podrobnější popis v dnešní době nejrozšířenějších technologií pro virtualizaci
operačních systémů a procesů. Jednotlivé technologie se od sebe odlišují přístupem
8
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
k vlastní virtualizaci a provozovaným obchodním modelem. V rámci našeho rozdělení se
tedy jedná o plné virtualizace, paravirtualizace, virtualizace na úrovni operačního systému
případně virtualizace procesů. Implementací je celá řada a dále jsou popsané jen ty
nejrozšířenější.
3.3.1. OpenVZ
OpenVZ je virtualizace na úrovni operačního systému (9) pro Linux a využívá oddělených
kontejnerů. OpenVZ vytváří více oddělených Linuxových kontejnerů (známé jako VPS 4)
na jednom fyzickém serveru, který umožňuje lepší využití prostředků a zajišťuje, aby se
aplikace neblokovaly.
Obrázek 1: OpenVZ virtualizace, převzato a upraveno z (11)
Každý kontejner se chová jako samostatný server, může být samostatně restartován, má
uživatele, IP adresy, paměť, procesy, soubory, aplikace, systémové knihovny a
konfigurační soubory.
4
VPS – Virtual Private Server
9
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
3.3.2. Xen
Xen vznikl jako výzkumný projekt na univerzitě v Cambridge pod vedením Iana Pratta,
zakladatele společnosti XenSource. První verze Xenu byla vydána v roce 2003. V roce
2007 proběhla akvizice firmy XenSource společností Citrix Systems. Poté došlo i k
přejmenování produktů pod značkou Citrix.
Od roku 2010 je Xen komunitním projektem publikovaným pod licencí GPL. Amazon
EC2, Linode a Rackspace Cloud používají pro správu virtuálních strojů Xen hypervisor.
Obrázek 2: Xen virtualizace, převzato a upraveno z (11)
Hypervisor Xenu (12) pracuje na nejnižší hardwarové vrstvě. Tato vrstva podporuje jeden
nebo více hostovaných operačních systémů, jejichž běh je plánován na fyzické procesory.
První hostovaný OS se nazývá doménou 0 (dom0). Hlavním účelem hostovaného systému
dom0 je přímý přístup k hardware a jeho management. Do hostitelského systému je možné
přidávat uživatelské domény (domU). Doména Dom0 je zpravidla upravený Linuxu nebo
Solaris. Uživatelské domény mohou být Linuxové operační systémy nebo například
Microsoft Windows.
10
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
3.3.3. KVM
Vývoj KVM 5 začal v technologické společnosti Qumranet v roce 2006. V roce 2008 byl
Qumranet koupen technologickou společností Red Hat (13). Dnes KVM spravují vývojáři
Marcelo Tosatti a Gleb Natapov. KVM je virtualizační infrastruktura založená na
linuxovém jádru.
Každý virtuální stroj má svůj vlastní virtualizovaný hardware včetně síťové karty, disku a
grafické karty. Pro správnou funkci KVM vyžaduje procesor s rozšířením pro virtualizace
hardwaru.
Obrázek 3: KVM virtualizace, převzato a upraveno z (11)
3.3.4. Oracle VirtualBox
Oracle VM VirtualBox je virtualizační aplikace, vytvořená společností Innotek GmbH.
V roce 2008 koupil Innotek společnost Sun Microsystems. Dnes projekt spravuje Oracle
Corporation jako součást své rodiny vizualizačních řešení. VirtualBox podporuje
architektury x86 a AMD64/Intel64 (14). V současné době běží VirtualBox na systému
Windows, Linux, Macintosh a Solaris a podporuje velké množství hostovaných operačních
5
KVM - Kernel-based Virtual Machine
11
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
systémů, například Windows, DOS, Linux, Solaris, BSD, Android. Oracle VM VirtualBox
se nainstaluje na stávající hostitelský operační systém jako aplikace. Tato hostitelská
aplikace umožňuje spouštět hostované operační systémy, každý s vlastním virtuálním
prostředí.
VirtualBox podporuje architektury x86 a AMD64/Intel64 (14). V současné době běží
VirtualBox na systému Windows, Linux, Macintosh a Solaris a podporuje velké množství
hostovaných operačních systémů, například Windows, DOS, Linu, Solaris, BSD, Android.
Obrázek 4: Oracle VirtualBox virtualizace, převzato a upraveno z (11)
3.3.5. VMware ESX
VMware ESX Server je tenký klient s vlastním jádrem, který běží přímo nad hardwarovou
vrstvou (15). Kernel ESX funguje jako hostitelský operační systém pro vrstvení dalších
služeb. Kernel je postaven na platformě Linux. Toto linuxové jádro na sebe váže modul
vmkernel s dalšími obslužnými funkcemi, který tvoří základní stavební kámen celého
řešení. Varianta ESXi je odlehčená verze ESX klienta, která dovoluje běžet hostitelský
systém na výměnném zařízení.
12
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
Výhodou tohoto řešení je možnost alokace co největšího množství hardwarových
prostředků pro hostované systémy. Tenký klient totiž zbytečně nevyužívá systémové
prostředky hostujícího serveru. Pro vlastní práci s hostovanými systémy je k dispozici
servisní konzole a díky ovladačům vmkernelu je možné k základnímu klientovi přistupovat
z různých míst.
3.3.6. Windows Hyper-V
Microsoft Hyper-V (16) je hypervisorově (obdobně jako Xen) stavěný serverový systém
pro 32 a 64 bitové systémy. Někdy se nazývá také pod kódovým označením Viridian a
dříve se jmenoval Windows Server Virtualization. První beta verze Hyper-V byla dodána v
jistých edicích Windows Server 2008 a konečná verze byla vydána v červnu 2008. Od té
doby je Hyper-V dostupný samostatně a zdarma.
Dnes je technologie Hyper-V integrovaná do Windows Server 2012 (17), kde pomáhá
organizacím všech velikostí zlepšit provozní efektivitu. Hyper-V v systému Windows
Server 2012 značně rozšiřuje podporu pro hostitelské procesory a paměti. To nyní
obsahuje podporu pro 64 procesorů a 1 TB operační paměti pro hostitelské servery HyperV, nový formát virtuálního pevného disku VHDX o kapacitě až 64 TB a lepší odolností.
Díky systému Windows Server 2012 s technologií Hyper-V se mohou začít využívat nové
technologie, zatímco se stále využívají stávající servery.
3.4. Virtualizace infrastruktury
Infrastruktura jako služba (IaaS), není koncepčně nová (5). Společnosti využívají datová
centra od té doby, co vznikly. To co odlišuje IaaS od klasických serverů v datových
centrech jsou nástroje a služby za ním. Správné IaaS řešení by mělo plně nahradit všechny
hardwarové potřeby firem v datových centrech.
Mezi základní IaaS služby patří:
•
Správa a provoz serverů
•
Vyrovnávání zátěže
•
Veřejné a soukromé připojení k síti
13
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
•
Zabezpečení sítě
•
Úložiště dat
K těmto službám jsou navíc poskytovány všechny potřebné podpůrné služby. Ty zahrnují
mimo jiné monitoring, napájení, chlazení, opravy a zabezpečení. Nejdůležitější službou
jsou stále kvalifikovaní lidé, kteří se starají bezproblémový chod služby.
Někteří globální poskytovatelé IaaS služeb poskytují také řešení pro geografickou
diverzifikaci výpočetních zdrojů. To vše je k dispozici za cenu, která je prostě mimo
možnosti tradičních fyzických serverů. Typicky se za jeden virtuální server účtují centy za
hodinu.
Jako první přestavil ucelenou platformu Amazon v roce 2006. V roce 2009 přešla firma
VMware na řadu cloudových operačních systémů. Po roce 2010 se objevili otevřené IaaS
řešení, které získávají značný ohlas. Následuje detailnější popis nejznámějších IaaS řešení.
3.4.1. Amazon EC2
Amazon Elastic Compute Cloud je webová služba (18), která poskytuje škálovatelnou
výpočetní kapacitu na serverech v datových centrech firmy Amazon, které se mohou
použít k vytvoření a provozu softwarových systémů. Ke službám a funkcím, které EC2 6
poskytuje, se přistupuje přes webové rozhraní, rozhraní příkazové řádky, nebo
standardního API.
První beta verzi EC2 vydala firma Amazon v srpnu 2006. Kapacita byla omezená a
k dispozici byli pouze malé a střední instance. Velké a extra-velké instance byly přidány
v roce 2008. Dnes je k dispozici celkem 12 druhů instancí. V roce 2008 přidal Amazon
další vlastnosti a to statické IP adresy, geograficky oddělená datová centra a datové
úložiště EBS 7 . V roce 2008 dosáhla služba EC2 verze 1.0 a v roce přibyl monitoring,
vyvažování zátěže a konzole AWS 8.
6
EC2 – Elastic Compute Cloud
EBS – Elastic Block Store
8
AWS – Amazon Web Services
7
14
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
Při užívání služby Amazon EC2 se platí pouze za kapacitu, která se reálně spotřebuje,
procesorový výkon, síťový provoz, atd. Použití této služby eliminuje potřebu nákupu
drahého hardware, snižuje potřebu přesného předvídání provozu, dovoluje automaticky
nastavit a škálovat IT prostředky při řešení změnových požadavků nebo výkyvů v míře
užívání poskytované služby. Mimo výpočetní servery Amazon dále poskytuje řadu služeb
pod názvem AWS, které se dají použít v součinnosti s EC2 servery. Mezi tyto služby patří
databáze, S3 úložiště a mnoho dalších.
3.4.2. VMware vSphere
VMware vSphere je cloudový virtualizační operační systém od firmy VMware (15).
V roce 2009 vyšla první verze VMware vSphere 4. VMware vSphere 4.1 se začal prodávat
v srpnu 2010. Součástí této aktualizace byl vCenter Configuration Manager, a vCenter
Application Discovery Manager. Přibyla schopnost vMotion přesouvat více než jeden
virtuální stroj současně z jednoho hostitelského stroje na jiný. V únoru 2011 se přidala
podpora pro RHEL 9, Ubuntu a Solaris. V červenci 2012 vydal VMware verzi VMware
vSphere 5.1.
VMware vSphere je dostupný v několik edicích, které se liší podle dostupných vlastností a
ceně licence.
3.4.2.1. VMware edice Essentials
Tato edice je určena pro menší nasazení (15). Limitace této edice jsou 3 fyzické servery,
které se dají spravovat pomocí vCenter serveru, který je součástí této edice. Rozšířená
edice „Essentials Plus“ dále přináší možnost vysoké dostupnosti HA Cluster, zálohování
pomocí nástroje VMware Data Recovery a možnost přesouvat běžící virtuální servery mezi
jednotlivými hostitelskými servery (vMotion).
9
RHEL – Red Hat Enterprise Linux
15
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
3.4.2.2. VMware edice Acceleration Kit
Acceleration kity jsou balíčky vCenter (15) serveru pro verzi standard (pro správu
neomezeného počtu ESXi hostů) a enterprise verzí vSphere (Standard, Enterprise,
Enterprise Plus). Limitujícím faktorem pro AK jsou počty patic procesorů a počet
zakoupené paměti. Verze „Standard“ poskytuje stejné funkce jako verze „Essentials Plus“.
Vyšší verze jsou potom obohaceny o další služby (vShield Zones, Storage vMotion…) pro
podporu virtuální infrastruktury.
3.4.3. OpenStack
OpenStack je cloudová platforma, kterou v červnu roku 2010 vytvořili společnosti
Rackspace Hosting a NASA (19). Vychází z platformy Nebula z dílny NASA. NASA se
spojila s firmou Rackspace, která vyvíjela platformu Cloud Files, která byla
komplementární k nově vznikající aplikaci Nebula.
První verze OpenStack systému byla uvolněna pod licencí Apache, která dovoluje téměř
neomezené použití. První verze projektu byla vydána po čtyřech měsících pod označením
Austin s plány na pravidelný cyklus nových verzí každých několik měsíců.
Projekt adoptovali brzy i populární Linuxové distribuce Ubuntu Linux a Red Hat Linux,
které pomáhají s vývojem a distribucí produkčních verzí systému.
3.4.4. Apache CloudStack
Apache CloudStack (20) je software určený k nasazení a správu velkého počtu virtuálních
strojů ve formě vysoce dostupné a škálovatelné infrastruktury jako služby. CloudStack
používá celá řada poskytovatelů služby veřejného cloudu, mnoho společností má navíc
také svůj soukromý cloud jako součást hybridního cloudového řešení.
CloudStack je komplexní řešení, které zahrnuje celý balík funkcí, které se očekávají od
IaaS řešení: orchestraci výpočetního výkonu, Network-as-a-Service, správu uživatelů
služby, úplného a otevřeného rozhraní, počítání zdrojů, a prvotřídní uživatelské rozhraní.
16
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
CloudStack v současné době podporuje nejpopulárnější hypervisory VMware, KVM, Xen
a XCP10.
Uživatelé mohou spravovat svůj cloud přes jednoduché webové rozhraní, nástroje
příkazového řádku nebo plnohodnotné API. Rozhraní, které CloudStack poskytuje, je
kompatibilní s AWS EC2 a S3 pro ty organizace, které mají potřebu nasazovat hybridní
cloudy.
3.5. Virtualizace aplikační platformy
Nejmladší z rodiny virtuálních služeb je virtualizace aplikační platformy (8). Platforma
jako služba – PaaS (8) poskytuje výpočetní platformu s celým řešením jako službu. V
tomto modelu spotřebitel vytváří aplikace pomocí nástroje a knihoven dostupných od
poskytovatele. Spotřebitel si řídí nasazení softwaru a konfiguraci nastavení. Poskytovatel
poskytuje sítě, servery, datových úložiště a další služby. Díky PaaS lze nasadit aplikace
bez nákladů a nutnosti nákupu drahého hardware a software.
3.5.1. Google App Engine
GAE 11 umožňuje spouštět webové aplikace na infrastruktuře Googlu (21). Aplikace v App
Engine se velmi snadno udržují a dobře škálují svůj výkon podle toho, jak rostou potřeby
aplikace. V Google App Engine nejsou žádné servery. Stačí pouze nahrát aplikaci, a ta je
okamžitě připravena pro své uživatele. Aplikace se dají provozovat na vlastní doméně,
například http://www.example.com/, nebo se může použít generická doména appspot.com.
Aplikace mohou být plně veřejné, nebo s omezeným přístupem pouze pro členy vaší
organizace.
GAE
podporuje
aplikace
napsané
v
různých
programovacích
jazycích.
Díky
integrovanému Java prostředí mohou být aplikace vytvořené pomocí standardních Java
technologií, včetně JVM, Java servletů nebo jiných jazyků, které se kompilují do JVM,
jako je JavaScript nebo Ruby. App Engine dále poskytuje Python runtime prostředí s
10
11
XCP – XenServer Cloud Platform
GAE – Google App Engine
17
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
rychlým interpretem jazyka Python a standardní knihovnu. App Engine poskytuje také Go
prostředí, kde běží aplikace napsané v Go kódu. Tyto prostředí jsou nastavena tak, aby
zajistily co nejrychlejší a nejbezpečnější běh aplikací bez rušení od jiných aplikací v
systému.
GAE bylo první masově rozšířené PaaS řešení.
3.5.2. Windows Azure
Další službou je Windows Azure (22). Je to cloudová platforma provozovaná společností
Microsoft pro vytváření, a správu aplikací a služeb v celosvětové sítě datových center
společnosti Microsoft. Služba Windows Azure se skládá z platformy jako službu (PaaS) a
infrastruktury jako služba (IaaS). Také podporuje mnoho různých programovacích jazyků
(PHP, .NET, and Node.js) a operačních systémů Windows 2008, Windows 2012 a několik
Linuxových distribucí. Svým zaměřením je Windows Azure konkurenční produkt k službě
Amazon Web Services, Google App Engine a obdobným službám. Služba Windows
Azure se stala komerčně dostupnou v roce 2010.
3.5.3. Heroku
Heroku se místo na virtualizace serverů zaměřuje na procesy. Základní aplikační jednotkou
jsou takzvané „Dynos“ (23). Jsou to plně izolované kontejnery, provozované v takzvaném
dyno prostředí. Jednotlivé Dynos pak přijímají webové žádosti, připojují se ke zdrojům
z prostředí, jako jsou cachovací a databázové servery, a zapisují výstupy do Logplexu,
který je pak vrací uživateli. Vlastní dynos jsou pak LXC kontejnery (24).
Linuxové LXC kontejnery volí zcela odlišný přístup k virtualizaci, než virtualizační
technologie jako KVM nebo Xen, které startují oddělené virtuální systémy na emulovaném
hardwaru a pak snižují jejich zátěž přes paravirtualizace a podobné mechanismy. LXC
využívá účinný mechanismus (upravené Linuxové řízení procesů) pro izolaci procesů
místo naprosté izolace, která vede ke snížení účinnosti systému. Výsledkem je virtualizační
systém, který je škálovatelný a přenositelný jako chroot. Je schopný současně provozovat
tisíce emulované systémů na jednom hostitelském serveru. Možností je také lehká
virtualizační platforma pro směrovače a inteligentní telefony.
18
Návrh privátní IaaS cloudové platformy
Kapitola 3. Virtualizace a cloud computing
3.5.4. OpenShift
OpenShift je PaaS platforma společnosti Red Hat (25). Díky tomuto řešení se Red Hat stal
čtvrtou velkou společností s vlastní cloudovou PaaS platformou. OpenShift podporuje řadu
moderních programovacích jazyků: node.js, Ruby, Python, PHP, Perl a Javu. Dále
podporuje MySQL, PostgreSQL a MongoDB databáze. Platforma byla přestavena
veřejnosti během roku 2011. Stejně jako OpenStack se jedná o open-source projekt, který
se snaží o zavedení určité míry standardů do oblasti PaaS řešení. Koncepčně je velmi
podobný Heroku a používá také LXC kontejnery pro oddělení jednotlivých procesů.
19
Návrh privátní IaaS cloudové platformy
Kapitola 4. Obchodní strana virtualizace a cloud computingu
4. Obchodní stránka virtualizace a cloud
computingu
Virtualizace a cloudové služby představují rychle se rozvíjející trh IT technologií, který
každým rokem roste. Vzhledem ke komplikovanosti moderních softwarových řešení se
ustálil trend v odděleném provozování dílčích služeb na samostatných serverech. Běžně se
provozují samostatné databázové, aplikační, poštovní servery, souborové servery, webové
servery a další komponenty rozsáhlejších systémů.
To nakonec vede k potřebě velkého množství serverů se všemi důsledky (26). Je nutná
pravidelná systémová údržba, jednotlivé stroje nevyužívají plně svůj výkon a v neposlední
řadě je zvýšená potřeba elektrické energie, klimatizace a záložní zdroje napájení. Proto se
pomalu přechází na vizualizaci operačních systémů, dílčích služeb, i celých infrastruktur.
4.1. Přínosy
Provozováním většího množství virtuálních serverů na menším množství serverů fyzických
se uspoří prostory, elektrická energie a náklady na hardwarovou podporu vzhledem k
menšímu počtu fyzických serverů, jedná se o tzv. „Green ICT“. Díky tomu se může lépe
rozložit zátěž a využití výkonu jednotlivých fyzických serverů. Operátoři mohou reagovat
na měnící se podmínky v provozní zátěži jednotlivých dílčích služeb systému, a případnou
zátěž vhodně rozložit mezi servery fyzickými.
4.1.1. Konsolidace služeb
Virtualizace umožnila dále rozvinout specializaci jednotlivých serverů na dílčí služby
informačních systémů, každá služba má vlastní prostředí a není negativně ovlivňována
dalšími službami v rámci jednoho systému. Výhody oddělených služeb spočívají v
přesnějším monitorování služby a řešení případných výkonnostních problémů.
Virtualizace zvyšuje dostupnost a provozní spolehlivost služeb ICT. Virtuální servery se
snadno zálohují, stačí zálohovat konfigurační nastavení serveru a diskové soubory tvořící
virtuální diskové jednotky virtuálního serveru. Virtualizace také přináší rychlejší obnovu
20
Návrh privátní IaaS cloudové platformy
Kapitola 4. Obchodní strana virtualizace a cloud computingu
po výpadku fyzického serveru. Virtuální server lze znovu spustit dalším serveru, u
některých vizualizačních systémů je tato funkce dokonce automatická.
4.1.2. Sjednocení prostředí
Produkční, testovací a vývojová prostředí mohou být díky virtualizaci prakticky identické.
Stejné nejen z pohledu hardware, ale díky snadnější správě lze testovací prostředí snadno
vytvořit „naklonováním“ prostředí provozního. Je tedy možné novou verzi komplexního
informačního systému instalovat nejprve do virtuálního prostředí, otestovat nejdříve u
dodavatele a teprve pak instalovat u zákazníka pouhým přenesením virtuálních serverů.
4.1.3. Obnova hardware a software
Při provozu standardních serverů vyžaduje náhrada i jednoho serveru velké množství
práce. Je třeba instalovat operační systém a všechny aplikace. Pak je třeba provést řadu
testů, zda je nové prostředí stoprocentně kompatibilní a funkční s tím starým. Při použití
virtualizace stačí na nový fyzický server nainstalovat jen prostředí pro virtualizaci a
provozované virtuální servery pak stačí na nový server pouze přenést. Tím lze dosáhnout
významné úspory času.
4.1.4. Vysoká dostupnost
Díky možnosti rychlého a automatizovaného obnovení běhu virtuálních serverů po
výpadku fyzického serveru, lze řešit vysoké dostupnost služby HA 12 již na úrovni
virtualizačního systému, a není potřeba např. u aplikačních serverů řešení na úrovní
operačního systému virtuálního serveru. Je možné pak provozovat „Standard“ verze
aplikací místo mnohem dražších „Enterprise“ verzí a tím výrazně uspořit na licenčních
nákladech.
Vysokou dostupnost je možné řešit provozem serverů v geograficky oddělených
clusterech, kde se zálohy provozních serverů v geograficky oddělených clusterech přenáší
12
HA – High Availability
21
Návrh privátní IaaS cloudové platformy
Kapitola 4. Obchodní strana virtualizace a cloud computingu
do záložního datového centra, kde existuje záloha provozního prostředí pro případ
výpadku některých datových center.
4.2. Problémy
Prvním problémem, který se musí řešit v rámci přechodu z fyzické na virtuální
infrastrukturu, je přenesení stávajících fyzických serverů do virtuálních - tento jednorázový
proces lze řešit novou instalací celého prostředí včetně testování, druhou možností je
použití specializovaného P2V 13 softwaru pro přenesení fyzického serveru do virtuálního.
4.2.1. Hardwarové nároky
Virtualizace má určitou režii. Ta spočívá hlavně ve zvýšené potřebě operační paměti
fyzického serveru. Každý virtuální server provozuje svůj operační systém a v součtu je tak
potřeba větší množství operační paměti. Další věc je úbytek výkonu procesoru, řádově
v jednotkách procent. Tento problém mnohem dobře řeší nejnovější procesory a operační
systémy s přímou podporou virtualizace a použitím hypervizoru.
Další věc, kterou si je třeba uvědomit, výkon počítače není dán pouze výkonem jeho
procesoru a operační paměti, ale též výkonem disků, síťových karet a dalších komponent.
Reálný pokles výkonu způsobený virtualizací se tak může lišit podle zátěže a využití
jednotlivých dílčích systémů fyzického serveru.
4.2.2. Údržba virtuálních systémů
Jednoduché vytváření a provoz virtuálních serverů vede obvykle k nárůstu jejich počtu.
Díky virtualizaci není třeba pokaždé pořizovat fyzické servery (27). Díky virtualizaci se
začnou plně využívat možnosti klonování serverů, různá testovací a vývojová prostředí. To
kromě výše popsaných přínosů znamená i zvýšení počtu serverů zahrnutých pod správu. Je
proto nezbytné mít vhodné nástroje pro vlastní správu celé infrastruktury, které budou řídit
provoz a monitorování celého prostředí, jak na fyzické, tak na virtuální úrovni.
13
P2V - Physical to Virtual
22
Návrh privátní IaaS cloudové platformy
Kapitola 4. Obchodní strana virtualizace a cloud computingu
Pro bezproblémový chod je nutná pravidelná správa, údržba a záplatování virtuálních
OS.To, že je server virtuální, neznamená, že není třeba jej zahrnout do správy a údržby. Ta
je sice jednoduší díky jednotnému emulovanému hardwarovému prostředí, ale zase se týká
mnohem většího počtu systémů. Je proto třeba mít i tyto úkony maximálně
zautomatizované a konfigurovatelné mimo vlastní virtuální servery. Vhodnými nástroji
umožňujícími automatizaci této činnosti jsou nástroje Puppet nebo Salt.
4.2.3. Zvýšené licenční nároky a složitost
Pro provoz virtuálních systémů platí různá licenční pravidla, některá jsou stejná jako pro
fyzické systémy, některá odlišná (28). Celý proces licencování je v každém případě
komplikovanější. Proto je třeba i nadále zvažovat množství a účelnost především
provozních virtuálních serverů, kde je třeba mít přiměřený počet serverů a licencí.
4.3. Současný stav trhu
V současné době jsou nejdůležitějšími hráči v oblasti virtualizace VMware a Amazon.
VMware se stal standard pro privátní podnikové IaaS prostředí a Amazon se svou Elastic
Compute Cloud službou dominuje na trhu IaaS řešení.
Poslední dobou se začínají prosazovat hybridní IaaS řešení, která vhodně kombinují
privátní a veřejné řešení. Navenek služba vystupuje jako jeden cloud, ale ve skutečnosti se
jedná o několik propojených cloudů.
4.4. Trendy a výhledy
Navzdory nesporným výhodám virtualizace a cloudových řešení, kdy tyto technologie šetří
čas i peníze, není rychlost přijímání těchto technologií tak velká, jak by se mohlo zdát.
Jak bylo řečeno, nejdůležitějšími hráči v oblasti virtualizace jsou v současné době VMware
a Amazon. Jejich pozice je tak silná, že je pro ostatní technologické firmy vážnou hrozbou
a proto se snaží přijít s otevřeným řešením, které by bylo kvalitativně i kvantitativně na
obdobné úrovni jako řešení od firem VMware či Amazon.
23
Návrh privátní IaaS cloudové platformy
Kapitola 4. Obchodní strana virtualizace a cloud computingu
Jedním z řešení je OpenStack, který v dnešní době podporuje řada důležitých
technologických společností. Hlavními členy nadace OpenStack, která se stará o vývoj
OpenStack platformy, jsou společnosti AT&T, Canonical, HP, IBM, Nebula, Rackspace,
Red Hat a SUSE. Dalšími firmami, které podporují nadaci OpenStack jsou Cisco (29),
Dell, Intel, Yahoo a kupodivu také firma VMware.
Obrázek 5: Historie IaaS řešení
Rychlost přijímání virtualizace a cloudových řešení není velká a výrazně se liší regionálně.
Ve srovnání se světem, kde je rychlost adoptování cloudových technologií i celkové
využití cloudových technologií větší, je Evropa pozadu v mnoha ohledech. Evropa je podle
studie firmy Logica zhruba 2 roky pozadu za USA.
4.4.1. Veřejné cloudové řešení
V oblasti veřejných cloudů dlouhou dobu dominuje společnost Amazon se svojí Elastic
Compute Cloud službou. Je to velmi dynamický trh, který každoročně roste. Na trh se
snaží protlačit další společnosti, které se snaží konkurovat službám společnosti Amazon.
Ta má velkou výhodu ve velikosti a počtu poskytovaných služeb.
Platforma
Manažer
Amazon EC2
Vlastní
HP Cloud
OpenStack
GoGrid
Vlastní
Rackspace
OpenStack
Linode
Vlastní
24
Návrh privátní IaaS cloudové platformy
Kapitola 4. Obchodní strana virtualizace a cloud computingu
Tabulka 2: Přehled manažerů IaaS platforem
4.4.2. Privátní cloudové řešení
V oblasti privátních cloudů dochází k pomalému odchylování od řešení VSphere
společnosti VMware (30), které je velmi nákladné a licence jsou přímo vázané na
počítačový hardware, procesorová jádra a velikost operační paměti. Na jedné straně je
řešení Hyper-V od společnosti Microsoft, který je výrazně levnější a má lepší licenční
podmínky a na druhé straně jde o OpenStack, který je zdarma.
4.5. Situace v Evropě
Evropa je podle studie firmy Logica (31) zhruba 2 roky pozadu za USA v mnoha ohledech
adoptování virtualizačních a cloudových technologií. Je to nelichotivý stav a může se stát
jednou z překážek pro globální konkurenceschopnost Evropských firem.
4.5.1. Uvolnění potenciálu cloudů v Evropě
Jeden s nejvyšších orgánů Evropské Unie, Evropská Komise, si dal za cíl umožnit a
usnadnit rychlejší přijetí cloudových služeb ve všech sektorech ekonomiky s cílem zvýšit
její produktivitu, růst a celkovou zaměstnanost (32). Evropská komise přijala strategii pro
"Uvolnění potenciálu cloudů v Evropě" koncem roku 2012. Tato strategie vymezuje
opatření, která by měla zajistit vytvoření 2,5 milionu nových pracovních příležitostí v
Evropě, roční zvýšení HDP EU o 160 miliard EUR (kolem 1%) do roku 2020. Strategie je
navržena tak, aby urychlila a zvýšila využití cloudů v rámci všech odvětví hospodářství.
Tato strategie je výsledkem analýzy politických, regulačních a technologických skupin a
rozsáhlých konzultací se všemi zúčastněnými stranami, které posloužili k identifikaci
potřeb, aby se co nejvíce využil potenciál, který cloudy mohou nabídnout. Tento dokument
stanovuje další konkrétní kroky a představuje tak jasný politický závazek Evropské
Komise. Čas ukáže, jak se politické cíle sloučí s obchodní realitou.
25
Návrh privátní IaaS cloudové platformy
Kapitola 4. Obchodní strana virtualizace a cloud computingu
4.5.2. Projekt Optimis
Projekt Optimis (33) se zaměřuje na optimalizaci cloudových služeb pomocí
architektonického rámce a sady nástrojů určených pro vývoj. Optimalizace se vztahuje na
kompletní životní cyklus cloudových služeb, od nasazení po provoz. To dává možnost
poskytovatelům služeb rozvíjet služby všech typů cloudových prostředí - soukromé,
hybridní i veřejné.
Optimis zjednodušuje správu infrastruktur díky automatizaci většiny procesů a současně
ponechává kontrolu nad rozhodováním. Různé nástroje pro správu v rámci projektu
Optimis dovolují, aby byla výsledná infrastruktura adaptabilní, spolehlivá a škálovatelná.
Pomocí OPTIMIS toolkitu mohou organizace snadno využívat služeb více poskytovatelů
najednou a umožní jim optimalizovat využití zdrojů.
26
Návrh privátní IaaS cloudové platformy
Kapitola 5. Výběr IaaS platformy
5. Výběr IaaS platformy
Pro finální výběr vhodné platformy pro implementaci privátní IaaS platformy byl použit
AHP 14 proces. AHP proces je systematický postup pro organizaci a analýzu složitých
rozhodnutí (34). Tato metoda byla vyvinuta Thomasem L. Saatym v roce 1970 a má
základy v matematice a psychologii. Neslouží k vybrání jednoznačné odpovědi, ale
pomáhá určit, která z možností je podle zadaných kritérií nejlepší.
Tato metoda nepředepisuje správné řešení, ale pomáhá lidem učinit to nejlepší rozhodnutí,
které bude nejlépe vyhovovat jejich požadavkům. Poskytuje komplexní a racionální rámec
pro strukturování rozhodovacího problému, pro reprezentaci a kvantifikaci jeho prvků a
pro zhodnocení možných alternativních řešení.
Po sestavení hierarchie se systematicky zhodnotí jednotlivé prvky porovnáním po párech s
ohledem na dopad na prvek v hierarchii o úroveň výše. Při porovnávání se používají
dostupné údaje o prvcích, které se převedou na konkrétní číselné hodnoty, které mohou být
dále zpracovány a porovnány. Číselné priority jsou odvozeny pro každý prvek v hierarchii,
což umožňuje porovnávat různé a často nesouměřitelné prvky konzistentním způsobem.
Tato funkce odlišuje AHP proces od ostatních rozhodovacích technik. V posledním kroku
procesu se vypočítaly číselné priority pro každou z možných alternativ.
5.1. Kritéria výběru
Nejprve se zvolila vhodná kritéria výběru nejvhodnější privátní IaaS platformy.
•
Cena – Kolik stojí pořízení daného řešení a jaké jsou udržovací poplatky? Je
použití při dané ceně omezeno jen na určitý počet serverů?
•
Dokumentace – Existuje kvalitní dokumentace pro nasazení a provoz dané IaaS
platformy? Jsou k dispozici knihy, které popisují způsob práce s danou platformou?
•
Komunita – Jak silnou má daná platforma komunitu? Jaká je podpora platformy ze
strany velkých firem?
14
AHP – Analytický hierarchický proces
27
Návrh privátní IaaS cloudové platformy
Kapitola 5. Výběr IaaS platformy
•
Hardwarová podpora – Jak velká je podpora pro různé hardwarové prvky systému:
sítě, úložiště, atd.
•
Licence – Jaký typ licence daná platforma používá? Je to volná nebo uzavřená
licence?
Jednotlivým kritériím se přiřadila určitá míra důležitosti, která je popsána v následující
tabulce. Ceně byla přiřazena největší váha, protože představuje další náklady spojené
s provozem privátního cloudu.
Kritérium
Váha
Cena
0,30
Dokumentace
0,20
Komunita
0,20
Podpora HW
0,20
Licence
0,10
Tabulka 3: Kritéria výběru IaaS platformy
5.2. Možnosti výběru
Jako možné alternativy pro výběr vhodné privátní IaaS platformy připadají v úvahu
následující IaaS řešení. Ostatní z popisovaných IaaS řešení jsou pro nasazení ve veřejných
cloudech.
•
OpenStack
•
CloudStack
•
VMware Vsphere
28
Návrh privátní IaaS cloudové platformy
Kapitola 5. Výběr IaaS platformy
5.3. Vlastní výběr
Vlastí výběr proběhl v aplikaci ExpertChoice, která umí modely problémů pro AHP
procesy velmi dobře modelovat. Celý rozhodovací proces je popsán následující hiearchií
AHP procesu.
Obrázek 6: Rozhodovací hierarchie AHP procesu pro výběr IaaS platformy
Po vložení jednotlivých kritérií, jejich přiřazení možnostem výběru a porovnání
vzájemných vztahů v programu ExpertChoice se došlo k výslednému rozhodnutí
popsanému v následující tabulce.
Platforma
Výsledná váha
OpenStack
0,45
CloudStack
0,37
29
Návrh privátní IaaS cloudové platformy
Kapitola 5. Výběr IaaS platformy
0,18
Vsphere
Tabulka 4: Možnosti výběru IaaS platformy
Vsphere je jediný zástupce komerčních řešení, je relativně drahý a má velmi omezenou
licenci (15). Naopak má skvělou dokumentaci, ale nemá velkou komunitní podporu.
Další alternativy byli volné řešení OpenStack a CloudStack, které jsou obdobné, ale
OpenStack má přeci jen lepší dokumentaci a komunitní podporu. Co se týká podpory
hardwarových komponent, OpenStack má obdobnou podporu jako VMware, zatímco
CloudStack zaostává.
Jako nejlepší volba nakonec vyšla OpenStack platforma, následovaná CloudStack
platformou. Na posledním místě skončil VMware VSphere a to hlavně díky ceně a použité
licenci.
30
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
6. Projekt OpenStack
Tato kapitola se věnuje detailněji vybranému projektu OpenStack a popisu jeho
jednotlivých částí. OpenStack byl vybrán z důvodu svobodné licence, dobré a rostoucí
podpory ze strany společností i komunity a jeho vynikající dokumentací. Pro potřeby
vlastní virtualizace operačních systémů byl vybrán Xen server, protože poskytuje nejlepší
výkonnostní i bezpečnostní parametry.
V červnu roku 2010 vytvořili společnosti Rackspace Hosting a NASA novou open-source
cloudovou iniciativu pod jménem OpenStack. Do té doby se inženýři z NASA snažili
vytvořit platformu Nebula, která koncepčně vycházela z projektu Eucalyptus, ale vzhledem
k některým návrhovým nedostatkům tohoto řešení a nové neveřejné licenci se rozhodli pro
vytvoření platformy vlastní pod názvem Nebula. Tomu pomohlo spojení s firmou
Rackspace, vyvíjející platformu Cloud Files, která byla komplementární k nově vznikající
aplikaci Nebula. Uvolnění existujícího kódu z NASA pod svobodnou licenci byl nejistý
proces, který do jisté míry usnadnila geografická blízkost obou subjektů. RackSpace i
NASA sídlí v Houstonu v Texasu. (19) Díky to byla první verze OpenStack systému
uvolněna pod licencí Apache, která dovoluje téměř neomezené použití kódu. První vydání
projektu pod označením Austin bylo vydáno po čtyřech měsících s plány na pravidelný
cyklus nových verzí každých několik měsíců. Projekt adoptovali brzy i populární Linuxové
distribuce Ubuntu Linux a Red Hat Linux.
6.1. Architektura systému
Systém OpenStack byl navržen jako celek pro provoz „škálovatelného cloudového
operačního systému“ (35). Bylo vytvořeno několik oddělených služeb, které byly navrženy
tak, aby společně tohoto cíle dosáhly a vytvořily tak plnohodnotnou „Infastrukturu jako
službu“ (IaaS). Integrace těchto služeb probíhá přes veřejná aplikační rozhraní (API), která
jednotlivé služby poskytují nebo naopak používají. Tato rozhraní umožňují komunikaci
mezi službami, ale také nahrazují dílčí službu jinou implementací, pokud má definované
kompatibilní rozhraní. Tato rozhraní jsou většinou dostupná i koncovým uživatelům
cloudu.
31
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
V aktuální verzi Folsom se systém OpenStack skládá ze 7 základních komponent:
•
Výpočetní služba (Compute Service)
•
Uložiště objektů (Object Storage)
•
Správce identit (Identity Service)
•
Řídící aplikace (Dashboard)
•
Blokové uložiště (Block Storage)
•
Sítová služba (Network Service)
•
Diskové obrazy (Image Service)
Jejich role v systému se dají zhruba shrnout:
•
Uložiště objektů (kódové označení „Swift“) dovoluje ukládat soubory, ale
neumožňuje připojovat adresáře jako souborové systémy. Několik společností
poskytuje komerční uložiště na bázi Swiftu. Patří mezi ně firmy KT, Rackspace
(kde Swift vznikl) a Internap. Swift využívají v mnoha velkých společnostech pro
ukládání firemních dat.
•
Služba diskové obrazy (kódové označení „Glance“) poskytuje katalog virtuálních
diskových obrazů. Tyto disky se nejčastěji využívají v OpenStack Výpočetní službě
projektu OpenStack. Tato služba sice není povinná, ale žádný větší cloud se bez ní
neobejde.
•
Výpočetní služba (kódové označení „Nova“) provozuje virtuální servery podle
potřeby. Firmy Rackspace a HP poskytují komerční výpočetní službu postavenou
na Nova a používá se ve firmách jako je Mercado Libre nebo NASA (kde Nova
původně vznikla).
•
Řídící aplikace (kódové označení „Horizon“) je modulární webové rozhraní pro
všechny služby z projektu OpenStack. S tímto webovým UI se dají provádět
základní operace jako vytvoření nové serverové instance, přiřazení IP adres a
nastavení přístupu.
•
Správce identit (kódové označení „Keystone“) poskytuje autentifikaci a autorizaci
pro všechny služby projektu OpenStack. Pro potřeby jednotlivých OpenStack
cloudů spravuje katalog služeb.
32
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
Základní vazby mezi jednotlivými službami:
Obrázek 7: Obrázek 8: Architektura Openstack platformy, převzato a upraveno z (35)
6.2.1. Nové služby ve verzi Folsom
•
Síťová služba (kódové označení „Quantum“) poskytuje „síťovou konektivitu jako
službu“ mezi jednotlivými stroji spravovanými ostatními službami (nejčastěji
Nova). Tato služba umožňuje uživatelům vytvářet si své vlastní virtuální sítě a
33
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
připojovat na ně jednotlivé virtuální servery. Quantum má modulární architekturu,
kterou podporuje mnoho významných výrobců síťových prvků.
•
Blokové uložiště (kódové označení „Cinder“) poskytuje trvalé úložiště blokových
uložišť pro virtuální servery. Tento projekt má kořeny v projektu Nova pod názvem
nova-volume. Jedná se pouze o blokové uložiště, ne o souborový systém jako NFS
nebo CIFS.
6.2.2. Nové služby ve verzi Grizzly
•
Služba sběru metrik (kódové označení „Ceilometer“) (36) tvoří jednotný bod pro
účetní systémy, které zde mohou získat všechny potřebné hodnoty počítadel, které
jsou nutné pro řádné vyúčtování služeb pro zákazníky. Tato služba je schopná měřit
všechny současné i budoucí komponenty projektu OpenStack.
•
Orchestrační služba (kódové označení „Heat“) (37) dovoluje nastavit kompozitní
cloudové aplikace použitím formátu AWS CloudFormation, buď přes nativní API
nebo dotazy na API kompatibilní s CloudFormation. Tato služba je důležitá pro
zaplnění jedné z posledních mezer ve funkcích, které Amazon poskytuje a
OpenStack ne.
6.2. Služby systému OpenStack
V následující části budou detailněji popsané jednotlivé služby, ze kterých je systém
OpenStack složen.
6.2.1. Obrazová služba
Obrazová služba Glance (38) poskytuje služby spojené s virtuálními diskovými obrazy.
Rozhraní obrazové služby poskytuje standardní REST formát pro přístup k informacím o
uložených virtuálních diskových obrazech. Obrazy mohou být uloženy v různých
úložištích, například v úložišti Swift nebo S3.
Klienti mohou pomocí této služby registrovat nové obrazy nebo přistupovat k veřejně
dostupným obrazům. Obrazy mohou mít různé formáty a vlastnosti v závislosti na použité
metodě virtualizace.
34
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
6.2.1.1. Formáty diskových obrazů
Důležitou vlastností jednotlivých diskových obrazů je formát, ve kterém je uložen.
Existuje několik základních formátů diskových obrazů, které se liší způsobem ukládání
informací na disk i metadaty, které daný diskový obraz popisují.
Služba Glance podporuje následující formáty:
Formát
Popis
RAW
Nestrukturovaný formát diskového obrazu
VHD
VHD diskový formát, častý formát používaný virtuálními stroji od firem
VMware, Xen, Microsoft, VirtualBox and ostatních.
VMDK
Další obvyklý formát podporovaný všemi virtuálními stroji, pochází od
firmy VMware
VDI
Formát diskového obrazu podporovaný VirtualBox a QEMU emulátorem
ISO
Archivní formát pro obsah optických disků (např. CDROM)
qcow2
Formát diskového obrazu podporovaný QEMU emulátorem, který se může
dynamicky rozšiřovat
AKI
Diskový obraz, který vychází z Amazon Kernel Image
AKI
Diskový obraz, který vychází z Amazon Ramdisk Image
AMI
Diskový obraz, který vychází z Amazon Machine Image
Tabulka 5: Formáty virtuálních diskových obrazů
35
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
6.2.1.2. Základní vlastnosti obrazů disků
Při práci s obrazy je třeba specifikovat některé základní vlastnosti, které jsou důležité pro
jejich další využití (39). V následující tabulce je seznam základních vlastností, které
podporují všechny formáty obrazů disků.
Vlastnost
Popis
architecture
Architektura operačního systému
instance_uuid
ID instance pro vytvoření toho obrazu
kernel_id
ID obrazu uloženého ve službě Glance, který se použije jako
kernel při startu serveru z AMI-kompatibilního obrazu
ramdisk_id
ID obrazu uloženého ve službě Glance, který se použije jako
ramdisk při startu serveru z AMI-kompatibilního obrazu
os_distro
Obecný název operačního systému
os_libosinfo_shortid Zkrácený identifikátor operačního systému, více na
http://libosinfo.org
os_version
Verze operačního systému
Tabulka 6: Vlastnosti virtuálních diskových obrazů
6.2.1.2. Základní vlastnosti obrazů disků
Služba Glance podporuje několik základních způsobů ukládání souborů s obrazy disků:
•
Souborový systém – Soubory se ukládají na místní souborový systém
•
Swift služba – Soubory se ukládají do služby Swift
•
S3 služba – Soubory se ukládají do služby S3
36
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
Pro základní instalace stačí souborový systém, ale pro větší nasazení je třeba využít službu,
která lépe škáluje a zvládá více současných přístupů.
6.2.2. Úložiště objektů
Swift (40) je vysoce dostupné, distribuované a neustále konsistentní úložiště objektů. Swift
byl původně vyvinutý firmou Raskspace a je jednou z původních služeb OpenStack
platformy. Swift se používá pro efektivní, bezpečné a levné ukládání velkého množství dat.
Nejdůležitějším prvkem infrastruktury Swift služby je Proxy server.
Proxy server je propojuje dohromady celou Swift architekturu. Zpracuje každý požadavek,
vyhledá umístění příslušného účtu, kontejneru nebo objektu v Kruhu (viz níže) a
přesměruje žádost na určené místo. Veřejné API rozhraní je vystaveno také na Proxy
serveru. Objekty procházejí směrem k uživateli z vlastních objektových serverů přes Proxy
server, který je dále nijak nezpracovává.
Kruh představuje mapování mezi jmény objektů uložených na disku a jejich fyzickým
umístěním. K dispozici jsou samostatné Kruhy pro účty, kontejnery a objekty.
Když je třeba provést operaci na určitém objektu, kontejneru, nebo na účtu, je potřeba
komunikovat s příslušným Kruhem a určit jeho umístění v clusteru. Kruh udržuje toto
mapování aktuální pomocí zón, zařízení a oddílů. Každý oddíl v Kruhu je replikován ve
výchozím nastavení 3 krát. Umístění jednotlivých oddílů se uchovává v mapování
uloženém na Kruhu. Kruh je také zodpovědný za určení, která zařízení se použijí v případě
poruchy. Data mohou být izolována díky koncepci zón v Kruhu. U každé repliky oddílu je
zaručeno, že bude v jiné zóně. Zóna může představovat pevný disk, server nebo datové
centrum.
Oddíly Kruhu jsou rovnoměrně rozděleny mezi všechny zařízení v infrastruktuře Swift
služby. Když je potřeba některý oddíl přesunout (například v případě přidání nového
zařízení do clusteru), Kruh zajistí, že se v určitý čas přesouvá pouze jedna replika oddílu.
37
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
6.2.3. Síťová služba
Quantum (41) je služba OpenStack projektu, která poskytuje "Síť jako službu" mezi
servery, na kterých běží další služby platformy (např. nova). Quantum se stal součástí
OpenStack platformy ve verzi Folsom a nahradil službu nova-network. Quantum pracuje
se sadou zásuvných modulů, které mohou použít rostoucí řadou síťových technologií. Tyto
zásuvné moduly mohou být přímo součástí služby Quantum, nebo jsou spravované
samostatně. Následuje základní sada modulů obsažených v hlavní distribuci služby
Quantum:
•
Open vSwitch
•
Cisco UCS/Nexus
•
Linux Bridge
•
Nicira NPV (Network Virtualization Platform)
•
Ryu OpenFlow Controller
•
NEC OpenFlow
Quantum je samostatná služba a stejně jako ostatní služby OpenStack platformy zahrnuje
několik procesů na různých serverech. Hlavní proces služby je quantum-server. Je to
Python server, který vystavuje API síťové služby a předává požadavky nastavenému
modulu pro další zpracování. Modul vyžaduje přístup do databáze obdobně jako ostatní
OpenStack služby. Quantum obsahuje i další služby, které mohou být potřeba v závislosti
na nasazení:
•
Agent zásuvného modulu - běží na každém hypervisoru a provádí konfiguraci
virtuálního směrovače. Běh agenta závisí na použitém modulu, protože některé
moduly nevyžadují agenta.
•
DHCP agent - Poskytuje DHCP služby uživatelům sítí. Tento agent je stejný pro
všechny moduly.
•
L3 agent - L3/NAT směrování, které poskytuje přístup virtuálních strojů k externím
sítím. Tento agent je stejný ve všech modulech.
38
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
Tito agenti komunikují s hlavním procesem služby Quantum prostřednictvím standardního
API sítě OpenStack. Quantum vyžaduje identitní službu Keystone pro autentizaci a
autorizaci všech API dotazů.
6.2.4. Blokové uložiště
Cílem projektu Cinder (42) je oddělit stávající blokovou službu nova-volume do vlastního
projektu. Blokové úložiště je jednou ze zásadních složek OpenStack platformy, proto se jí
dostává velké pozornosti. Vyčleněním do hlavního projektu OpenStack platformy se
výrazně zlepšila funkčnost a spolehlivost této komponenty. Bloková služba Cinder je
určena k provozu na jednom nebo více serverech.
Cinder používá centrální databázi, která je sdílena všemi službami Cinder v systému.
Množství dat užívaných touto službou se docela dobře vejde do SQL databáze. Pro malé
nasazení je to optimální řešení. Pro větší nasazení, a to zejména v případě, pokud je
bezpečnost problém, potřebuje Cinder více datových skladů s nějakým druhem agregace.
Cinder slouží jako vrstva abstrakce pro různé druhy zařízení pro ukládání dat. Následující
seznam popisuje jednotlivé služby, které jsou podporovány službou Cinder přímo
prostřednictvím svých nativních API rozhraní.
•
IBM Storwize V7000
•
IBM XIV Storage System
•
SheepDog
•
SolidFire
•
NexentaStor Appliance
6.2.5. Správce identit
Keystone (43) je projekt OpenStack platformy, který má na starost poskytování Identity,
Token, katalog a pravidel služeb. Slouží pro autentifikaci ostatních projektů v rodině
OpenStack služeb. Keystone implementuje OpenStack identity API.
Keystone je organizován do skupiny služeb přístupných na jednom nebo více koncových
bodech. Mnoho z těchto služeb se používá kombinovaně. Například při použití řídící
39
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
aplikace, Keystone nejprve ověří uživatele přes službu Identita, a po úspěšném ověření,
vytvoří a vrátí Token příslušné služby.
Služba Identity poskytuje ověřovací mechanismus a základní údaje o uživatelích,
skupinách a rolích spolu se všemi souvisejícími metadaty. Všechny tyto údaje spravuje
služba Keystone a ukládá je na datové uložiště. Služba Token ověřuje a spravuje tokeny
používané při ověření požadavků již přihlášených uživatelů nebo služeb. Všechny
podporované služby jsou uloženy v interním katalogu služeb.
Služba Keystone v současné verzi podporuje následující typy datových úložišť:
•
SQL databáze – Libovolná SQL databáze, například MySQL nebo PostgreSQL
•
LDAP adresář – Libovolný LDAP nebo Active Directory server, například Apache
Active Directory, nebo OpenLDAP
6.2.6. Řídící aplikace
Řídící aplikace Horizon (44) vznikla pouze pro správu výpočetní služby OpenStack
platformy. Implementovala pouze základní funkce, šablony a dotazy na rozhraní API
služby Nova.
Pak se přibyla podpora pro další služby z rodiny OpenStack služeb. Ty se pak uspořádaly
do projektového a systémového panelu. Tento růst byl ale velmi nesouměrný, vyhovoval
sice dále popsané vlastnosti
"Základní podpora", ale nevyhovoval vlastnostem
"Rozšiřitelnost" a "Spravovatelnost". Zatímco se formovali ostatní klíčové hodnoty služby,
bylo jasné, že je potřeba celý projekt redesingovat pro zlepšení modularity.
Horizon tedy ve své podstatě implementuje návrhový vzor, podle kterého se jedná o
aplikaci, do které se registrují a připojují ostatní aplikace. Následuje výpis základních
principů služby Horizon.
6.2.6.1. Základní podpora
Horizon má nyní 3 hlavní panely: uživatelský panel, panel nastavení a projektový panel.
Aplikace používá abstraktní API rozhraní pro základní OpenStack služby s cílem
poskytnout konzistentní a stabilní sadu opakovaně použitelných metod pro vývojáře.
40
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
6.2.6.2. Rozšiřitelnost
Aplikace Horizon je založena na třídě Dashboard, která poskytuje konzistentní API a sadu
funkcí pro všechny základní aplikace OpenStack platformy a stejně tak i pro aplikace
třetích stran. Dashboard třída slouží zároveň jako nejvyšší úroveň navigace. Pokud
potřebuje vývojář funkce z existujícího panelu (například přidání monitorovací strany do
uživatelského panelu), jednoduchý registrační vzor dovoluje psát aplikace, které se mohou
přidat jako strany do aktuálních panelů stejně snadno, jako vytvoření panelu nového.
Jediné, co se musí udělat, je importovat panel, který je třeba rozšířit.
6.2.6.3. Ovladatelnost
Aplikace Horizon má jednoduchá metodu pro registraci nových stránek do jednotlivých
panelů. Každý panel musí ale obsahovat potřebnou logiku. Toto rozdělení se zabraňuje
tomu, aby měli soubory nových stránek tisíce řádků, a umožňuje tak snadnou korelaci
kódu přímo s navigací.
6.2.6.4. Konzistence
Horizon poskytuje základní třídu, kterou mohou používat další aplikace, stejně jako sadu
opakovaně použitelných šablon a dalších nástrojů, díky kterým se dá udržet soulad mezi
aktuálními a novými aplikacemi.
6.2.6.5. Stabilita
Architektura založena na několika
základních třídách a opakovaně použitelných
komponentách zajišťuje, že nově přidané položky budou zpětně kompatibilní, jak jen je to
možné.
6.2.7. Výpočetní služba
Nova (45) je název projektu pro výpočetní službu OpenStack platformy, která je hlavní
část každého IaaS systému. Kdokoliv může využít Nova službu pro hostování a správu
vlastních cloud computingových systémů. Služba Nova vznikla jako projekt v NASA
Ames Research Laboratory. Služba Nova se řídí následující principy:
41
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
•
Komponentová architektura – rychle se dají přidávat nové funkce
•
Vysoká dostupnost – Zvládá velmi velká zatížení
•
Odolnost vůči chybám – Izolace procesů, aby se dalo vyhnout kaskádovým
selháním
•
Obnovitelnost – Selhání by měla jít snadně diagnostikovat, odladit a opravit
•
Otevřené standardy – Nova představuje referenční implementaci pro výpočetní API
•
Kompatibilita API – Nova se snaží poskytovat API kompatibilní s hlavními IaaS
systémy, jako je Amazon EC2
Služba Nova je tedy postavena na architektuře založené na zasílání zpráv, kde se nic přímo
nesdílí. Všechny hlavní komponenty nova lze spustit na více serverech. To znamená, že
veškerá komunikace mezi jednotlivými komponentami prochází přes frontu zpráv. Aby se
zabránilo zablokování jednotlivých komponent při čekání na odpověď, používá se
opožděné zpětné volání, které se spustí, až když je odpověď přijata.
Nova používá pro ukládání dat centrální SQL databázi, která je sdílena všemi komponenty
systému. Množství dat potřebných pro provoz této služby se pěkně vejde do SQL databáze.
Pro malá nasazení se to může zdát jako optimální řešení. Pro větší nasazení, a zejména v
případě, pokud je bezpečnost problém, může Nova použít více datových skladů s agregací.
Následuje výčet komponent, které služba Nova obsahuje. Některé komponenty se již
přesunuly do vlastních projektů.
•
api – komponenta, která přijímá HTTP požadavky, převádí je na příkazy a
komunikuje s ostatními komponenty přes frontu zpráv
•
scheduler – služba, která rozhoduje, na který hostitelský server se daný virtuální
server nahraje
•
network – řídí přiřazování IP adres a virtuálních sítí VLAN, ve verzi Folsom byla
nahrazena službou Quantum
•
compute – řídí vlastní komunikaci s hypervisorem a jednotlivé virtuální stroje
42
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
6.2.7.1. Podporované hypervisory
Služba nova podporuje řadu virtuálních hostitelů (46), v realizaci je dokonce podpora pro
fyzické servery, kde by OpenStack mohl spravovat fyzické servery.
Xen
KVM
QEMU
LXC
ESXi
HyperV
Fyzický
Pustit
✔
✔
✔
✔
✔
✔
✔
Restartovat
✔
✔
✔
✔
✔
✔
✔
Ukončit
✔
✔
✔
✔
✔
✔
✔
Změnit velikost
✔
✔
✔
?
?
✔
?
Obnovit
✔
✔
✔
?
✔
?
?
Pozastavit
✔
✔
✔
?
✗
✔
?
✔
✔
✔
?
✗
✔
?
✔
✔
✔
?
✔
✔
?
✔
✔
✔
?
✔
✔
?
Vložit síť
✔
✔
✔
?
✔
✔
✔
Vložit soubor
✔
✔
✔
?
?
✗
✔
Sériová konzole
✗
✔
✔
✗
✔
✗
✔
VNC konzole
✔
✔
✔
?
✔
?
?
Připojit disk
✔
✔
✔
✗
✔
✔
?
Vlastnost
Obnovit
z pozast.
Uspat
Obnovit ze
spánku
43
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
Odpojit disk
✔
✔
✔
✗
✔
✔
?
Živá migrace
✔
✔
✔
?
✔
✔
?
✔
✔
✔
?
✔
✔
?
iSCSI
✔
✔
✔
?
✔
✔
?
Nastavení hesla
✔
✗
✗
?
✗
✗
?
✔
✔
✔
?
✔
✔
?
✔
✔
✔
?
✔
✔
?
✔
✔
✔
?
✔
✔
✔
VLAN síť
✔
✔
✔
✔
✔
✗
?
Plochá síť
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
?
?
?
✔
✔
✔
?
?
?
?
Routování
✔
✔
✔
?
✔
✗
?
Diagnostika
✔
✔
✔
?
?
?
?
Uložení stavu
disku
Nastavení
informací
Vyvolání
informací
Integrace
Glance
Bezpečnost.
skupiny
Firewallová
pravidla
Tabulka 7: Podpora hypervisorů platformou OpenStack, převzato a upraveno z (46)
44
Návrh privátní IaaS cloudové platformy
Kapitola 6. Projekt OpenStack
Z tabulky vyplývá, že OpenStack má omezenou podporu správy přímo fyzických serverů,
která se bude ještě dále prohlubovat.
6.3. Vývojový cyklus OpenStack platformy
Od začátku vývoje projektu byl nastaven pravidelný půlroční cyklus nových verzí. Projekt
začal v roce 2010. Poslední známé jméno vydání bude Havana. Aktuální verze je Grizzly a
je zhruba měsíc stará.
6.3.1. Ubuntu Archiv
Firma Canonical spravuje Ubuntu Cloud archiv (47), odkud je možné instalovat nové verze
projektu OpenStack na stabilní verzi Ubuntu Server 12.04 LTS 15 včetně všech závislostí a
to až do vydání další LTS verze Ubuntu (pravděpodobně to bude verze 14.04) v dubnu
2014. Pro zjednodušení aktualizace jednotlivých částí se využívají stejné postupy jako pro
všechny ostatní aplikace v rámci operačního systému Ubuntu. Firma Canonical nespravuje,
ani nemá plány v Ubuntu Cloud archivu spravovat instalace projektu OpenStack pro
standardní (ne LTS) verze Ubuntu serveru.
Následující diagram zobrazuje možnosti instalace projektu OpenStack v Linuxové
distribuci Ubuntu:
Obrázek 8: Vývojové cykly OpenStack platformy, převzato a upraveno z (47)
15
LTS – Long time support, rozšířená serverová podpora s aktualizacemi po dobu 3 let
45
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
7. Realizace OpenStack platformy
OpenStack platforma je velmi dobře konfigurovatelná (48), dokáže spolupracovat s řadou
různých druhů zařízení. Neexistuje jedna určitá instalace systému, každá je jedinečná podle
dostupného hardwarového vybavení. První nasazení je realizováno na lokální virtuální
server, kde se ladí konfigurace jednotlivých služeb. Druhé nasazení je již na více fyzických
serverech a lépe simuluje reálné nasazení.
7.1. VirtualBox virtuální server
První realizací systému OpenStack je instalace na virtuální server v prostředí VirtualBox.
Vlastní virtualizace probíhá pomocí QEMU emulátoru v již virtualizovaném prostředí.
Virtualizace na virtualizaci není ideální řešení a slouží pouze pro testování propojení a
konfigurace jednotlivých služeb.
7.1.1. Použitý hardware
Pro první nasazení se použil notebook Sony Vaio Z1, který má čtyřjádrový procesor Intel
i7 s podporou virtualizace, 8GB RAM a 128GB SSD disk. Všechny služby jsou
nainstalované na jednom virtuálním serveru, který běží v prostředí VirtualBox
nainstalovaném na notebooku.
Účel
Typ
VirtualBox virtuální server
2 CPU, 4GB RAM, 40GB HDD
Tabulka 8: Hardware pro nasazení OpenStack platformy na VirtualBox serveru
7.1.2. Použité služby
V rámci nasazení na virtuálním serveru byly vybrané následující služby OpenStack
platformy (49). Některé oblasti jdou realizovat i jednodušším způsobem, ale hlavním cílem
46
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
této instalace je testování a ladění komponent, které se použijí při reálném nasazení na
fyzických serverech.
Vlastnost
Hodnota
Vydání OpenStack systému
Grizzly
Operační systém na hostu
Ubuntu 12.04 LTS
Zdroj instalace
Ubuntu Cloud Archive (47)
Hypervisor
QEMU
Databáze (SQL)
MySQL
Fronta zpráv (AMQP)
RabbitMQ
Síťová služba
Quantum
Správa sítě
-
Single/multi host síť
Single-host
Ukládání pro obrazovou službu (Glance)
Soubor
Ukládání pro správce identit (Keystone)
SQL
Ukládání pro blokové úložiště (Cinder)
LVM
Úložiště objektů
-
Úložiště pro živé migrace
-
Tabulka 9: Služby OpenStack platformy na VirtualBox serveru
47
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
7.1.3. Nastavení sítě
V rámci prvního nasazení byly vytvořeny 2 virtuální sítě, jedna veřejná s propojením na
Internet a druhá místní pro management a datovou síť. OpenStack vyžaduje oddělené sítě,
které fyzicky oddělují provoz virtuálních strojů od provozu a komunikace vlastní
OpenStack infrastruktury.
Typ
Rozsah
Brána
Management a data
10.10.10.0/24
-
Veřejná
192.168.100.0/24
192.168.100.1
Tabulka 10: Nastavení sítě OpenStack platformy na VirtualBox serveru
Následující obrázek popisuje infrastrukturu OpenStack platformy nainstalované na
VirtualBox serveru.
48
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
Obrázek 9: Nasazení na VirtualBox serveru, převzato z (3)
7.2. Laboratoř CEPSOS
Druhou realizací systému OpenStack je síťová laboratoř CEPSOS (50) při UHK FIM.
Laboratoř vznikla v roce 2007, kdy se podařilo získat prostředky z fondu rozvoje vysokého
školství pro nákup základního vybavení. V roce 2009 byl založen Labteam, který sdružuje
studenty a akademické pracovníky s cílem zlepšit míru spolupráce a zlepšit řízení
výzkumných projektů. V letech 2011 a 2012 byla laboratoř zásadně rozšířena a
zmodernizována. Laboratoř je vybavena širokým spektrem síťových prvků, kabeláže,
měřících přístrojů a fyzických serverů. Laboratoř proto představuje ideální prostředí pro
nasazení OpenStack platformy.
49
Obrázek 10: Infrastruktura OpenStack platformy na VirtualBox serveru
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
7.2.1. Použitý hardware
V síťové laboratoři je k dispozici řada serverů. Pro účely této diplomové práce byly
zvoleny servery IBM Server x320 s 16GB RAM a 500 GB pevnými disky, kterých je
v laboratoři celkem 11. Instalace, po zkušenostech z prvního nasazení, proběhla bez
problémů. Každý server má 2 pevné disky. Na prvním je primární operační systém a druhý
je volný pro instalace nových služeb. Služby OpenStack platformy s vyhrazeným
operačním systémem se instalovaly na druhý disk serverů. Při startu serveru lze pak vybrat,
který operační systém se spustí.
Účel
Typ
Řídící server
IBM Server x3200, 16GB RAM, 500 GB HDD
Síťový server
IBM Server x3200, 16GB RAM, 500 GB HDD
Výpočetní server
IBM Server x3200, 16GB RAM, 500 GB HDD
Přepínač
Cisco Catalyst 2960
Tabulka 11: Hardware pro nasazení OpenStack platformy v laboratoři CEPSOS
Servery poskytují dostatečný výkon, jedinou slabinou je přepínač Cicco Catalyst 2960,
který pracuje s rychlostí 100Mbit/s, která není vyhovující. Mnohem vhodnější by byla
rychlost sítě 1Gbit/s nebo vyšší.
7.2.2. Použité služby
V rámci nasazení v laboratoři CEPSOS jsou vybrané služby OpenStack platformy (49),
které jsou uvedené v následující tabulce. Tato instalace již mnohem lépe simuluje reálné
nasazení. Použité služby jsou stejné jak při nasazení na VirtualBox virtuálním serveru.
Procesory použitých serverů mají podporu virtualizace, proto jsme mohli použít
virtualizaci KVM.
50
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
Vlastnost
Hodnota
Vydání OpenStack systému
Grizzly
Operační systém na hostech
Ubuntu 12.04 LTS
Zdroj instalace
Ubuntu Cloud Archive (47)
Hypervisor
KVM
Databáze (SQL)
MySQL
Fronta zpráv (AMQP)
RabbitMQ
Síťová služba
Quantum
Správa sítě
GRE
Single/multi host síť
Multi-host
Ukládání
pro
obrazovou
službu Soubor
(Glance)
Ukládání
pro
správce
identit SQL
(Keystone)
Ukládání pro blokové úložiště (Cinder)
iSCSi
Úložiště objektů
-
Úložiště pro živé migrace
-
Tabulka 12: Služby OpenStack platformy v laboratoři CEPSOS
7.2.3. Nastavení sítě
V rámci nasazení byly použité 3 sítě. Jedna veřejná s propojením na Internet, druhá místní
pro management OpenStack platformy a třetí pro datovou komunikaci virtuálních serverů.
51
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
OpenStack z bezpečnostních důvodů vyžaduje oddělené sítě, které fyzicky separují provoz
virtuálních strojů od provozu a komunikace vlastní OpenStack infrastruktury. Servery jsme
jednoduše zapojili do nezávislých přepínačů. Odpadla proto nutnost konfigurovat oddělené
VLAN sítě.
Typ
Rozsah
Brána
Management
10.10.10.0/24
-
Datová
10.100.100.0/24
-
Veřejná
192.168.1.0/24
192.168.1.1
Tabulka 13: Nastavení sítě OpenStack platformy v laboratoři CEPSOS
7.2.4. Postup instalace
Instalace OpenStack platformy v síťové laboratoři CEPSOS je důležitou částí této
diplomové práce, proto se bude jednotlivým krokům věnovat větší pozornost. Všechny
servery v rámci platformy používají operační systém Ubuntu 12.04 se zdrojem OpenStack
služeb v cloud archivu společnosti Canonical. První se instaloval řídící server, na kterém se
spustil databázový server MySQL a fronta zpráv RabbitMQ. Jsou to služby, které
využívají všechny ostatní komponenty OpenStack platformy pro ukládání dat a přenos
zpráv. První službou z rodiny OpenStack služeb, která se nainstalovala na řídící server,
byla identitní služba Keystone, do které se zaregistrovaly koncové body ostatních služeb.
Další instalovanou službou byla obrazová služba Glance, která se nastavila pro ukládání
souborů na lokální disk. Do služby Glance se pak importovalo několik základních obrazů
operačních systémů ve formátu srozumitelném pro KVM virtualizaci.
Další instalovanou službou na řídící server byla aplikace Horizon, která se napojila na
službu Keystone. Služba Horizon se může napojit na více Keystone serverů, které pak
mohou autentifikovat služby i v několika oddělených lokalitách. Poté se na řídící server
52
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
nainstalovala služba Quantum pro ovládání síťového serveru. Další aplikací instalovanou
na řídící server byla služba Nova, která se stará o rozdělování virtuálních serverů na
jednotlivé fyzické servery a poskytuje podporu pro virtuální konzole. Poslední služba
instalovaná na řídící server byla služba Cinder, která se stará o přiřazování blokových
zařízení jednotlivým virtuálním serverům.
Po dokončení instalace a konfigurace řídícího serveru se nainstaloval síťový server. Na
tento server se nainstalovala služba OpenVswitch. Je to linuxová služba poskytující
podporu pro virtuální síťová zařízení. Pak se nainstalovaly některé moduly služby
Quantum a to L3, DHCP a OVS.
Posledním instalovaným typem serveru v rámci OpenStack platformy byl výpočetní server.
Na tento server se nainstalovala služba OpenVswitch a Quantum s modulem OVS, který
službu OpenVswitch ovládá. Následovala instalace a konfigurace KVM virtualizace a
výpočetní částí služby Nova, která KVM virtualizaci řídí. Úspěšnost instalace se
zkontrolovala jednoduchým příkazem. Pokud je u každé služby stav , znamená to, že
instalace proběhla úspěšně a komponenty mezi sebou bez problémů komunikují.
Obrázek 11: Kontrola stavu služeb OpenStack platformy
Instalace proběhla v pořádku a mohlo se začít s instalací prvních virtuálních serverů.
Nakonfigurovala se služba Quantum a vytvořily se potřebné virtuální sítě a směrovače,
které přes síťový server propojují virtuální sítě OpenStack platformy z výpočeních serverů
se sítí připojenou k internetu.
53
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
Poté se vytvořil první projekt a regulérní uživatel systému a mohly se začít instalovat
vlastní virtuální servery. Instalace na Linuxu založených operačních systémů proběhla bez
problémů. Problém nastal u instalace virtuálního Windows serveru, který se uzávěrky této
práce nepodařilo vyřešit.
Následující
obrázek
popisuje
infrastrukturu
OpenStack
platformy
nainstalované
v laboratoři CEPSOS.
Obrázek 12: Infrastruktura OpenStack platformy v laboratoři CEPSOS, převzato z (2)
54
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
7.3. Ukázka nasazeného řešení
Uživatelské rozhraní OpenStack platformy má na starosti aplikace Horizon. Následují
ukázky nejdůležitějších stránek této aplikace, které demonstrují reálné použití OpenStack
platformy.
7.3.1. Instalace s Ubuntu vzhledem
Následující obrázek představuje úvodní obrazovku Horizon aplikace ve VirtualBox
instalaci s Ubuntu vzhledem. Ubuntu vzhled je v porovnání se základním OpenStack
vzhledem modernější a dobře demonstruje možnosti, jak je možné upravit Horizon aplikaci
do požadovaného vzhledu dle potřeb a vzhledu organizace, která vlastní privátní
cloudovou platformu provozuje. Horizon s tímto nastavením byl testován v rámci prvního
nasazení ve virtuálním serveru na VirtualBox platformě. Následující náhled představuje
úvodní stranu Horizon aplikace z pohledu administrátora celého systému. Další náhledy
jsou již z pohledu konkrétního uživatele v základním OpenStack vzhledu.
Obrázek 13: Úvodní strana aplikace Horizon s Ubuntu vhledem
55
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
7.3.2. Instalace s OpenStack vzhledem
Jedním z prvních kroků po instalaci OpenStack platformy je vytvoření bezpečnostních
skupin, které slouží k omezení přístupu k jednotlivým serverům. Ve své podstatě jde o
nastavení firewallových pravidel přístupu k jednotlivým službám na servery patřících do
dané bezpečnostní skupiny.
Pro přístup na vytvořené virtuální stroje slouží SSH klíče, které se přes tu stranu dají
jednoduše vytvořit nebo importovat. Při vytvoření nového serveru se vybrané klíče
automaticky připojí k administrativnímu uživateli serveru.
Poslední věcí, která jde na této straně měnit, jsou plovoucí IP adresy, které jsou
mimo rámec této diplomové práce.
Obrázek 14: Přístupy a bezpečnostní skupiny
56
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
Další krok, který je třeba provést před vlastním spuštěním prvního virtuálního stroje, je
nahrát do obrazové služby Glance obrazy operačních systémů. V rámci druhého nasazení
se testovalo několik obvyklých operačních systémů. Do aplikace Glance se nahrály obrazy
operačních systémů.
•
CentOS 6.2 – Linuxová distribuce ve formátu AMI
•
Ubuntu 12.04 – Linuxová distribuce ve formátu AMI
•
Fedora 16 – Linuxová distribuce ve formátu QCOW2
Tyto obrazy představují instalační média pro instalaci čistých operačních systémů. Další z
možností na této straně je správa již nainstalovaných systémů, které se mohou uložit do
formy takzvaných snímků. Snímky dovolují klonovat existující servery s kompletním
nastavením.
Obrázek 15: Obrazy a snímky virtuálních disků
Poté se může přistoupit k vytvoření vlastního virtuálního serveru. Při vytváření severu je
třeba nastavit několik základních parametrů pro běh virtuálního serveru. Následuje výčet
těch nejdůležitějších parametrů.
57
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
•
Zdroj instance (Instance source) – Instaluje se instance z obrazu disku nebo ze
snímku disku?
•
Obraz (Image) – Jaký zdrojový obraz disku (operační systém) se použije pro
vytvoření virtuálního serveru?
•
Příchuť (Flavor) – Jaká je velikost instalovaného serveru: počet procesorů a
velikost paměti?
•
Bezpečnostní skupina (Security group) – Firewallová pravidla virtuálního serveru.
Po instalaci serveru se tento objeví na straně se seznamem virtuálních serverů. Zde má
uživatel možnost s virtuálními servery dále pracovat. Následuje výpis možných akcí pro
jednotlivé virtuální servery.
Obrázek 16: Vytvoření nového virtuálního serveru
•
Vytvořit snímek (Create snapshot) – Vytvoří snímek s aktuální konfigurací
virtuálního serveru pro možné klonování již hotových virtuálních serverů.
•
VNC konzole (VNC Console) – Terminálové připojení k virtuálnímu stroji.
58
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
•
Přiřadit IP (Associate Floating IP) – Přiřadit plovoucí IP adresy virtuálnímu
serveru.
•
Upravit server (Edit Instance) – Změny v nastavení virtuálního serveru.
•
Restarovat server (Reboot Instance) – Restart virtuálního serveru.
•
Odstranit server (Terminate Instance) – Kompletní odstranění virtuálního serveru.
Obrázek 17: Seznam virtuálních serverů
V detailu serveru má uživatel možnost zkontrolovat nastavení virtuálního serveru,
prohlédnout si logy serveru, které zasílá příslušný hypervisor, a dále má možnost připojit
se na server přes virtuální konzoli, která je zobrazena na následujícím obrázku.
59
Návrh privátní IaaS cloudové platformy
Kapitola 7. Realizace OpenStack platformy
Obrázek 18: Konzole virtuálního serveru
Virtuální konzole lze použít pro terminálový i grafický přístup k virtuálnímu serveru. Přes
tuto konzoli se může server ovládat bez omezení a je důležitá pro řešení problémů se sítí,
kdy se k virtuálnímu serveru nelze připojit přímo.
60
Návrh privátní IaaS cloudové platformy
Kapitola 8. Závěr
8. Závěr
Otázka levného a spolehlivého cloudového IaaS řešení, které splňuje náročné požadavky
na škálování, bezpečnost a stabilitu, má více řešení. Po zvážení všech hledisek jsem vybral
projekt OpenStack (51). Hlavními důvody výběru byla cena, podpora hardwaru, vynikající
dokumentace ke všem částem systému, svobodná licence a nástroje pro nasazení. Další
zajímavý projekt, který připadal v úvahu, byl projekt CloudStack.
Virtualizace má řadu omezení, které brání růstu infrastruktury nad určité meze. Cloudové
platformy přináší nástroje, které pomáhají tyto omezení odstranit. OpenStack je systém,
který má vynikající vlastnosti právě v oblasti správy a škálování IT infrastruktur.
V praktické části se podařilo namodelovat a nainstalovat základní instalaci OpenStack
platformy. První nasazení proběhlo na virtuálním serveru na platformě VirtualBox se
všemi službami na jednom serveru a s použitou QEMU virtualizací. Druhé nasazení
proběhlo v CEPSOS laboratoři a již mnohem více odpovídalo reálnému nasazení.
V konfiguraci byli 3 servery (řídící server, síťový server a výpočetní server) s KVM
virtualizací. Výsledkem obou nasazení bylo spuštění virtuálních serverů s operačním
systémem Ubuntu.
Realizace proběhly bez problémů díky obsáhlé dokumentaci, která podrobně popsala
jednotlivé kroky a možnosti nastavení jednotlivých komponent, a hlavně díky podpoře ze
strany komunity, bez které by vlastní realizace trvala mnohem déle.
OpenStack se může díky své ceně a poskytované podpoře ze strany komunity i velkých
firem nahradit stávající IaaS řešení jak v privátním, tak veřejném nasazení. Veřejné IaaS
cloudy založené na OpenStack technologii již poskytují například HP a Cisco. V oblasti
privátních cloudů má OpenStack potenciál nahradit drahá komerční řešení a díky
jednoduchosti práce s virtualizovanými prostředky pomoci mnohem lépe využívat
dostupné zdroje.
OpenStack sice v současné podobě nenabízí všechny funkce a služby jako konkurenční
produkty, ale vzhledem k dynamice vývoje a množství podpory lze usuzovat, že se
61
Návrh privátní IaaS cloudové platformy
Kapitola 8. Závěr
OpenStack během následujících let může stát otevřeným standardem pro provoz IaaS
cloudů.
8.1. Podpora výuky
Jedním z možných využití OpenStack platformy je prostředí síťové laboratoře CEPSOS,
kde může plně nahradit nebo integrovat stávající komerční řešení, které díky licenčním
omezením nedovoluje plné využití kapacity laboratoře. Platformu OpenStack je možné
využít pro podporu výuky předmětů, jako jsou Počítačové sítě nebo Operační systémy.
Platforma umožní vyučujícím jednoduše vytvořit a spravovat oddělené virtuální
infrastruktury pro velký počet studentů najednou. V současné době jsou jediným
omezením pro plnohodnotné nasazení v síťové laboratoři CEPSOS síťové přepínače. Jejich
rychlost 100Mb/s nevyhovuje požadavkům pro přenos potřebných objemů dat. Tento
problém se již řeší. Po instalaci nových přepínačů bude možné platformu použít jako
plnohodnotný nástroj pro podporu výuky.
Obrázek 19: Využití OpenStack laboratoře pro podporu výuky
62
Návrh privátní IaaS cloudové platformy
Kapitola 8. Závěr
Další důležitá role platformy bude podpora akademických projektů, které se realizují na
Fakultě informačních technologií Univerzity Hradec Králové, jmenovitě simulaci virtuální
ekonomiky v Unity a EkiOne prostředí a hostování vlastního virtuálního světa v aplikaci
OpenSim.
Výhodou cloudového přístupu je pružnost alokace dostupných hardwarových zdrojů, kde
se velmi rychle střídají potřeby
8.2. Otevřený cloud
Další velkou inspirací při psaní této práce byl čínský projekt StackLab (52). Tento projekt
slouží pro testování nasazení IaaS platformy v několika regionech, které přispěli a spravují
společnosti, které poskytují služby v oblasti serverových technologií. Tyto regiony jsou
administrované týmem vývojářů, který se stará bezproblémový běh řídících služeb systému
i výpočetních serverů v jednotlivých regionech. Celý systém má jednotné rozhraní, kam
mohou přistupovat koncoví uživatelé, kteří si mohou zdarma vyzkoušet plnohodnotnou
práci s IaaS platformou.
Obrázek 20: Využití OpenStack laboratoře pro veřejný cloud, převzato z (53)
63
Návrh privátní IaaS cloudové platformy
Kapitola 8. Závěr
V laboratoři CEPSOS by mohl vzniknout pilotní region OpenStack platformy. Se
získaným know-how se mohou oslovit významné firmy, které mohou mít obchodní zájem
na propagaci otevřené cloudové platformy, případně testování různých hardwarových
konfigurací pro vlastní potřebu. Další možný uživatel cloudových služeb je akademický
sektor, kde již například CERN plánuje rozšířit vlastní cludovou infrastrukturu založenou
na OpenStack platformě během následujících 18 měsíců o 15000 fyzických serverů na
kterých bude v provozu více než 150000 serverů virtuálních (54).
Věřím, že by navrhovaná řešení mohla pomoci k rozšíření povědomí i praktických
zkušeností s cloudovými technologiemi jak pro studium a akademickou práci, tak i pro
širší veřejnost v rámci České Republiky případně i Evropské Unie, protože míra použití
cloudových technologií je v Evropě v porovnání se světem slabá.
64
Seznam použité literatury
1. Bradshaw, David. Quantitative Estimates of the Demand for Cloud Computing in
Europe and the Likely Barriers to Up. Europen Comission. [Online] 13. 07 2012. [Citace:
21. 02 2013.]
http://ec.europa.eu/information_society/activities/cloudcomputing/docs/quantitative_estim
ates.pdf.
2. Msekni, Bilel. OpenStack Grizzly Install Guide, OVS MultiNode. GitHub. [Online] 17.
4 2013. [Citace: 20. 4 2013.] https://github.com/mseknibilel/OpenStack-Grizzly-InstallGuide/blob/OVS_SingleNode/OpenStack_Grizzly_Install_Guide.rst.
3. —. OpenStack Grizzly Install Guide, OVS SingleNode. GitHub. [Online] 22. 4 2013.
[Citace: 25. 4 2013.] https://github.com/mseknibilel/OpenStack-Grizzly-InstallGuide/blob/OVS_MultiNode/OpenStack_Grizzly_Install_Guide.rst.
4. —. OpenStack Grizzly Install Guide, Nikira SingleNode. [Online] 15. 04 2013. [Citace:
10. 05 2013.] https://github.com/mseknibilel/OpenStack-Grizzly-InstallGuide/blob/Nicira_SingleNode/OpenStack_Grizzly_Install_Guide.rst.
5. Kusnetzky, Dan. Virtualization: A Manager's Guide. Sebastopol : O’Reilly Media, Inc.,
2011. 9781449306458.
6. Popek, Gerald J. Goldberg, Robert P. Formal Requirements for Virtualizable Third
Generation Architectures. ACM. [Online] 7 1974. [Citace: 20. 3 2013.]
http://www.logos.ic.i.u-tokyo.ac.jp/~tau/lecture/os/gen/papers/p412-popek.pdf.
7. McGrath, Michael P. Understanding PaaS. Sebastopol : O’Reilly Media, Inc., 2012.
9781449323424.
8. Mell, Peter. The NIST Definition of Cloud Computing. NIST. [Online] 9 2011. [Citace:
29. 3 2013.] http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf.
9. Kolyshkin, Kirill. Virtualization in Linux. OpenVZ. [Online] 1. 9 2006. [Citace: 15. 3
2013.] http://download.openvz.org/doc/openvz-intro.pdf.
10. FDCCI. What are the Deployment Models? Info.apps.gov. [Online] Federal Data
Center Consolidation Initiative (FDCCI), 2012. [Citace: 1. 3 2013.]
http://info.apps.gov/content/what-are-deployment-models.
11. Virtuatopia.com. An Overview of Virtualization Techniques. Virtuatopia. [Online]
Virtuatopia.com, 4. 6 2009. [Citace: 22. 2 2013.]
http://www.virtuatopia.com/index.php/An_Overview_of_Virtualization_Techniques.
12. Bahram, Paul. Xen and the Art of Virtualization. University of Cambridge Computer
Laboratory. [Online] 2003. [Citace: 18. 3 2013.]
http://www.cl.cam.ac.uk/research/srg/netos/papers/2003-xensosp.pdf.
13. Andrews, Jeremy. Interview: Avi Kivity. KernelTrap. [Online] 27. 4 2007. [Citace:
20. 3 2013.] http://kerneltrap.org/node/8088.
14. Oracle Corporation. Oracle VM VirtualBox User Manual. Oracle VM VirtualBox.
[Online] 2013. [Citace: 20. 3 2013.]
http://download.virtualbox.org/virtualbox/UserManual.pdf.
15. VMware. VMware vSphere ESXi and vCenter Server 5.1 Documentation. VMware
vSphere 5.1 Documentation Center. [Online] VMware, 2013. [Citace: 15. 3 2013.]
http://pubs.vmware.com/vsphere51/index.jsp?topic=%2Fcom.vmware.vsphere.vcenterhost.doc%2FGUID-3B5AF2B1C534-4426-B97A-D14019A8010F.html.
16. Microsoft. White Paper Hyper-V. [Online] 2013. [Citace: 3. 4 2013.]
http://download.microsoft.com/download/5/D/B/5DB1C7BF-6286-4431-A244438D4605DB1D/WS%202012%20White%20Paper_Hyper-V.pdf.
17. —. Server Virtualization Windows 2012. Microsoft. [Online] 2012. [Citace: 2. 4 2013.]
http://download.microsoft.com/download/5/D/B/5DB1C7BF-6286-4431-A244438D4605DB1D/WS%202012%20White%20Paper_Hyper-V.pdf.
18. Amazon. What is Amazon EC2? Amazon Web Services User Guide. [Online] Amazon,
2013. [Citace: 20. 3 2013.]
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html.
66
19. Metz, Cade. The Secret History of OpenStack, the Free Cloud Software That’s
Changing Everything. Wired.com. [Online] 2. 4 2012. [Citace: 01. 03 2013.]
http://www.wired.com/wiredenterprise/2012/04/openstack/all/.
20. Apache Software Foundation. Open Source Cloud Computing: Apache CloudStack.
CloudStack. [Online] 2013. [Citace: 14. 3 2013.] http://cloudstack.apache.org/about.html.
21. Google, Inc. What Is Google App Engine? Google Developers. [Online] 9. 2 2013.
[Citace: 15. 3 2013.]
https://developers.google.com/appengine/docs/whatisgoogleappengine.
22. Microsoft. Windows Azure. Windows Azure. [Online] 27. 8 2012. [Citace: 1. 3 2013.]
http://msdn.microsoft.com/en-us/library/windowsazure/dd163896.aspx.
23. Heroku. Dynos and the Dyno Manager. Horoku dev center. [Online] 15. 2 2013.
[Citace: 1. 3 2013.] https://devcenter.heroku.com/articles/dynos.
24. Containers, lxc Linux. Home. lxc Linux Containers. [Online] lxc Linux Containers,
2013. [Citace: 20. 3 2013.] http://lxc.sourceforge.net/.
25. Red Hat. OpenShift Platform as a Service. OpenShift. [Online] 2013. [Citace: 15. 3
2013.] https://www.openshift.com/paas.
26. Babcock, Charles. Virtualization's Promise And Problems. Information Week.
[Online] 5. 16 2008. [Citace: 17. 3 2013.]
http://www.informationweek.com/software/infrastructure/virtualizations-promise-andproblems/207602785.
27. Staten, James. Why Your Enterprise Private Cloud is Failing. Forrester Blogs.
[Online] 25. 02 2013. [Citace: 08. 03 2013.] http://blogs.forrester.com/james_staten/13-0225-why_your_enterprise_private_cloud_is_failing.
28. TechTarget, Inc. Server virtualization issues contribute to data management
complexity. TechTarget.com. [Online] 16. 10 2012. [Citace: 15. 3 2013.]
http://searchstorage.techtarget.com/video/Server-virtualization-issues-contribute-to-datamanagement-complexity.
29. Cisco. Openstack at Cisco. Cisco.com. [Online] 2013. [Citace: 15. 3 2013.]
http://www.cisco.com/web/solutions/openstack/index.html.
67
30. Bort, Julie. IBM Just Threw What Could Be A Knockout Punch At VMware. Business
Insider. [Online] 11. 3 2013. [Citace: 2. 4 2013.] http://www.businessinsider.com/ibmvmware-openstack-2013-3.
31. CGI - Logica. Cloud adoption. Logica. [Online] 2011. [Citace: 28. 3 2013.]
http://www.logica.com/we-are-logica/media-centre/articles/2012/cloud-adoption/.
32. European Commision. Unleashing the Potential of Cloud Computing in Europe.
Europa.eu. [Online] 27. 9 2012. [Citace: 16. 3 2013.]
http://ec.europa.eu/information_society/activities/cloudcomputing/docs/com/com_cloud.pd
f.
33. Project Optimis. Why Use OPTIMIS? Project Optimis. [Online] 10 2012. [Citace: 18.
2 2013.] http://www.optimisproject.eu/sites/default/files/OPTIMIS%20White%20Paper.pdf.
34. Saaty, Thomas L. The Analytic Hierarchy/Network Process. Rev. R. Acad. Cien. Serie
A. Mat. [Online] 2008. [Citace: 30. 2 2013.] http://www.rac.es/ficheros/doc/00576.PDF.
35. Pepple, Ken. OpenStack Folsom Architecture. Ken Pepple. [Online] 25. 9 2012.
[Citace: 22. 1 2013.] http://ken.pepple.info/openstack/2012/09/25/openstack-folsomarchitecture/.
36. OpenStack Foundation. Ceilometer. OpenStack Wiki. [Online] 2013. [Citace: 22. 4
2013.] https://wiki.openstack.org/wiki/Ceilometer.
37. —. Heat. OpenStack Wiki. [Online] 2013. [Citace: 2. 4 2013.]
https://wiki.openstack.org/wiki/Heat.
38. —. Glance’s documentation. OpenStack Documentation. [Online] OpenStack
Foundation, 2013. [Citace: 19. 2 2013.] http://docs.openstack.org/developer/glance/.
39. —. Image metadata. OpenStack Compute Administration Manual. [Online] OpenStack
Foundation, 18. 12 2012. [Citace: 9. 3 2013.] http://docs.openstack.org/trunk/openstackcompute/admin/content/image-metadata.html.
40. —. Swift Architectural Overview. OpenStack Documentation. [Online] 2013. [Citace:
15. 4 2013.] http://docs.openstack.org/developer/swift/overview_architecture.html.
68
41. —. Quantum. OpenStack Wiki. [Online] OpenStack Foundation, 2013. [Citace: 15. 2
2013.] https://wiki.openstack.org/wiki/Quantum.
42. —. Cinder’s developer documentation. OpenStack Documentation. [Online]
OpenStack Foundation, 2013. [Citace: 18. 2 2013.]
http://docs.openstack.org/developer/cinder/.
43. —. Keystone Architecture. OpenStack Documentation. [Online] 2013. [Citace: 18. 2
2013.] http://docs.openstack.org/developer/keystone/architecture.html.
44. —. Introducing Horizon. OpenStack Documentation. [Online] 2013. [Citace: 10. 4
2013.] http://docs.openstack.org/developer/horizon/intro.html.
45. —. Nova System Architecture. OpenStack Documentation. [Online] 2013. [Citace: 15.
3 2013.] http://docs.openstack.org/developer/nova/devref/architecture.html.
46. —. Hypervisor Support Matrix. OpenStack Wiki. [Online] 2013. [Citace: 18. 3 2013.]
https://wiki.openstack.org/wiki/HypervisorSupportMatrix.
47. ServerTeam/CloudArchive. The Ubuntu Cloud Archive. Ubuntu Wiki. [Online] 22.
11 2012. [Citace: 18. 2 2013.] https://wiki.ubuntu.com/ServerTeam/CloudArchive.
48. Telecom, Institut Mines. OpenStack Folsom Install Guide. OpenStack-FolsomInstall-guide. [Online] 2012. [Citace: 15. 2 2013.]
https://github.com/mseknibilel/OpenStack-Folsom-Installguide/blob/VLAN/2NICs/OpenStack_Folsom_Install_Guide_WebVersion.rst.
49. Pepple, Ken. Deploying OpenStack. Sebastopol : O’Reilly Media, Inc., 2011.
9781449311056.
50. Matyska, Jan. Laboratoř. CEPSOS. [Online] 2013. [Citace: 18. 4 2013.]
http://www.cepsos.cz/laborator.html.
51. OpenStack Foundation. Openstack Open Source Cloud Computing Software.
[Online] OpenStack Foundation, 10. 12 2012. [Citace: 10. 01 2013.]
http://www.openstack.org/.
52. COSCL. StackLab. [Online] China Open Source Cloud League, 28. 9 2012. [Citace: 5.
1 2013.] http://stacklab.org/.
69
Seznam obrázků
Obrázek 1: OpenVZ virtualizace, převzato a upraveno z (11) .............................................. 9
Obrázek 2: Xen virtualizace, převzato a upraveno z (11) ................................................... 10
Obrázek 3: KVM virtualizace, převzato a upraveno z (11) ................................................ 11
Obrázek 4: Oracle VirtualBox virtualizace, převzato a upraveno z (11) ............................ 12
Obrázek 5: Historie IaaS řešení ........................................................................................... 24
Obrázek 6: Rozhodovací hierarchie AHP procesu pro výběr IaaS platformy .................... 29
Obrázek 7: Obrázek 8: Architektura Openstack platformy, převzato a upraveno z (35) .... 33
Obrázek 8: Vývojové cykly OpenStack platformy, převzato a upraveno z (47) ................ 45
Obrázek 9: Nasazení na VirtualBox serveru, převzato z (3) ............................................... 49
Obrázek 10: Infrastruktura OpenStack platformy na VirtualBox serveru .......................... 49
Obrázek 11: Kontrola stavu služeb OpenStack platformy .................................................. 53
Obrázek 12: Infrastruktura OpenStack platformy v laboratoři CEPSOS, převzato z (2).... 54
Obrázek 13: Úvodní strana aplikace Horizon s Ubuntu vhledem ....................................... 55
Obrázek 14: Přístupy a bezpečnostní skupiny..................................................................... 56
Obrázek 15: Obrazy a snímky virtuálních disků ................................................................. 57
Obrázek 16: Vytvoření nového virtuálního serveru ............................................................ 58
Obrázek 17: Seznam virtuálních serverů............................................................................. 59
Obrázek 18: Konzole virtuálního serveru ........................................................................... 60
Obrázek 19: Využití OpenStack laboratoře pro podporu výuky ......................................... 62
Obrázek 20: Využití OpenStack laboratoře pro veřejný cloud, převzato z (53) ................. 63
70
Seznam tabulek
Tabulka 1: Základní rozdělení virtualizačních technologií ................................................... 6
Tabulka 2: Přehled manažerů IaaS platforem ..................................................................... 25
Tabulka 3: Kritéria výběru IaaS platformy ......................................................................... 28
Tabulka 4: Možnosti výběru IaaS platformy....................................................................... 30
Tabulka 5: Formáty virtuálních diskových obrazů.............................................................. 35
Tabulka 6: Vlastnosti virtuálních diskových obrazů ........................................................... 36
Tabulka 7: Podpora hypervisorů platformou OpenStack, převzato a upraveno z (46) ....... 44
Tabulka 8: Hardware pro nasazení OpenStack platformy na VirtualBox serveru .............. 46
Tabulka 9: Služby OpenStack platformy na VirtualBox serveru ........................................ 47
Tabulka 10: Nastavení sítě OpenStack platformy na VirtualBox serveru .......................... 48
Tabulka 11: Hardware pro nasazení OpenStack platformy v laboratoři CEPSOS ............. 50
Tabulka 12: Služby OpenStack platformy v laboratoři CEPSOS ....................................... 51
Tabulka 13: Nastavení sítě OpenStack platformy v laboratoři CEPSOS ............................ 52
71
UNIVERZITA HRADEC KRÁLOVÉ
Fakulta informatiky a managementu
Rokitanského 62, 500 03 Hradec Králové, tel: 493 331 111, fax:
493 332 235
Zadání k závěrečné práci
Jméno a příjmení studenta:
Aleš Komárek
Obor studia:
Jméno a příjmení vedoucího práce:
Informační management (2)
Vladimír Soběslav
Název práce:
Návrh privátní IaaS cloudové platformy
Název práce v AJ:
Private IaaS cloud platform desing
Podtitul práce:
Podtitul práce v AJ:
Cíl práce: Cílem této diplomové práce je výběr vhodné IaaS platformy a následná realizace
vybrané platformy v síťové laboratoři CEPSOS.
Osnova práce:
1. Úvod
2. Cíl a metodika práce
3. Virtualizace a cloud computing
4. Obchodní stránka virtualizace a cloud computingu
5. Výběr IaaS platformy
6. Projekt OpenStack
7. Realtizace OpenStack platformy
8. Závěr
Projednáno dne:
Podpis studenta
Podpis vedoucího práce

Podobné dokumenty

HELION OPENSTACK

HELION OPENSTACK budou provádět nějaké operace nebo provádět pravidelné záležitosti (například sestavíte nějaké demo prostředí, které dáte k rozbití a po ukončení takové session skriptem vrátíte demo do původního s...

Více

06-2011 openMagazin 6/2011

06-2011 openMagazin 6/2011 Na čem vydělává Microsoft? Na Androidu! OpenOffice.org se přesouvá pod nadaci Apache, Navigace od Googlu už funguje i v České republice, Google z Android Marketu smazal herní emulátory, Red Hatu se...

Více

Údržba a opravy leteckých meteorologických zařízení

Údržba a opravy leteckých meteorologických zařízení příslušné změny verze Projednat změnu s ÚCL Po projednání a schválení ze strany ÚCL vyhotovit příslušný počet změnových listů pro držitele FP jmenované v ust. 1.3. Provést změnu ve webové distribuci.

Více

Principy moderních překladačů, virtuální stroj

Principy moderních překladačů, virtuální stroj OS na úplně jiném procesoru. –Paravirtualizace - virtuální stroj nesimuluje hardware, ale místo toho nabídne speciální rozhraní API, které vyžaduje modifikace OS. –Nativní virtualizace a „plná virt...

Více

Ruby On Rails = + Ruby + Rails Jan Strnádek

Ruby On Rails = + Ruby + Rails Jan Strnádek Built-in web servers (Webrick, Puma)

Více