Řešení pro privátní cloudy se snaží napodobit modely poskytování výpočetních služeb od dodavatelů veřejných cloudů, přičemž tak činí výhradně v rámci podnikové sítě a pro uživatele uvnitř organizace. Privátní cloud by měl být vysoce virtualizovaný a směrovat výpočetní prostředky do jednoho nebo několika snadno řízených poolů logických zdrojů.
Stejně jako u veřejných cloudů se poskytování výpočetních služeb v privátních cloudech děje prostřednictvím webového rozhraní, má samoobslužný charakter a řídí se zásadou placení za odebrané služby.
Pokud uvažujete o provozování privátního cloudu, potřebujete software pro jeho správu, který umožní vytvořit virtualizovaný pool výpočetních prostředků, poskytne do něj přístup koncovým uživatelům a zvládne přidělování zdrojů, jejich zabezpečení, sledování využití a účtování.
Testovali jsme pět produktů pro správu privátních cloudů – Citrix Lab Manager, CloudStack od Cloud.com, Eucalyptus Enterprise, Novell Cloud Manager a OpenNebula s cílem zjistit, zda současná generace nástrojů vyhovuje nárokům na privátní cloudy. Zjistili jsme, že pouze Novell Cloud Manager je vybaven všemi funkcemi, které jsme hledali. Naopak některé další zatím zjevně nejsou na dostatečné úrovni.
V tomto testu jsme v rámci fiktivního podniku zkusili vytvořit a poskytnout infrastrukturu jako službu. Je zřejmé, že v privátním cloudu lze dnes provozovat e-mail a liniové aplikace, proto jsme se zaměřili spíše na situaci, v níž si vývojáři nebo koncoví uživatelé chtějí vybrat omezenou sadu prostředků (hardware, licence, aplikace) pro krátkodobé úlohy.
Náš test jsme navrhli tak, abychom viděli, jak přístupné jsou aplikace pro správu privátního cloudu pro IT administrátory i pro koncové uživatele – zejména takové, kteří nejsou ani technici, ani vývojáři.
Zaměřili jsme se i na schopnosti softwaru sestavovat rozmanité druhy výpočetních prostředků, poskytovat podporu heterogenních virtuálních strojů, poskytovat údaje o využití a účtovat spotřebované zdroje.
Celkově lze říci, že vytváření privátních cloudů testovanými nástroji znamená mnoho práce při počáteční konfiguraci, převodu konfigurace do prostředí hypervizoru a agregaci poolů výpočetních prostředků, tak aby byly snadno přístupné.
Novell Cloud Manager zvládl tuto úlohu dobře a věděl si rady i při vyúčtování poskytnutých služeb. Self Service Portal od Citrixu je založen na Citrix Lab Manageru, ale jeho komponenty je možné koupit jen v rámci rozsáhlejší licence XenServeru, bez nějž samostatně nepracuje. Další verze CloudStacku nabídnou širší kompatibilitu s těmito dvěma produkty, testovaná verze však působila dojmem nedodělanosti. OpenNebula se dobře hodí pro vývojáře nebo pokročilé uživatele. Řešení Enterprise Eucalyptus sice dodavatel dokáže zprovoznit i provozovat, v našem testu jsme však z něho málem dostali osypky.
Citrix Lab Manager 3.9 se Self-Service Portalem
Samoobslužný portál SSP (Self-Service Portal) od Citrixu není samostatný produkt; jde o součást tzv. platinové edice Citrix XenServeru, která je doplněna o Citrix Lab Manager, správce zdrojů a o kontrolní systém speciálně určený pro řízení virtuálních strojů XenServeru. Prostřednictvím rolí definovaných v samoobslužném portálu pak mohou uživatelé XenServeru využít komponenty Lab Manageru jako systém pro poskytování cloudových služeb.
Na rozdíl od Novell Cloud Manageru lze SSP provozovat jen v prostředí XenServeru. Pracuje však s virtuálními stroji běžícími pod Linuxem i Windows, u nichž lze snadno konfigurovat virtuální procesory, paměť atd. a na nichž mohou být jednoduše provozovány rozmanité aplikace. Celek pak připomíná knihovnu služeb a funkcí.
SSP poskytuje výstupní sestavy s celou řadou informací, nemá však žádné nástroje pro účtování – to je nutné zajistit mimo rámec celého systému.
Pro provoz SSP je vyžadována verze XenServer 5.6 Platinum Edition s licencí na server s libovolným počtem jader. Po instalaci XenServeru a nastavení licenčního serveru na edici Platinum jsme importovali předlohu pro routerový virtuální stroj Lab Manageru (který musí běžet na sdíleném storage). Následně jsme instalovali databázi Postgres a konečně na ni samotný Lab Manager. Po několika konfiguračních zásazích (a několika problémech s virtuálním zařízením pro licencování Linuxu) byl celý systém připraven k provozu.
Z ISO obrazů operačního systému, uložených na našem serveru, jsme pak vytvořili cloudové virtuální stroje pro SSP. Po jejich vytvoření jsme potřebovali instalovat hostové (guest) agenty Lab Manageru, které nás ujistily, že virtuální stroje s Windows i Linuxem pracují dobře.
V rámci SSP jsme přiřadili předlohy z příkladů, které mohou být použity pro definici administrátorských a uživatelských rolí a pro určení, které virtuální stroje a další prostředky mohou jednotlivé role využívat.
Lab Manager a SSP mohou pro autentizaci uživatelů využívat Active Directory nebo LDAP (v našem testu jsme použili AD). Uživatelské role lze v Lab Manageru definovat velmi podrobně – uživatelům je možné přidělovat kvóty, paměťový prostor i místo na discích.
Při testování SSP jsme v rámci různých uživatelských rolí úspěšně a jednoduše spouštěli rozmanité virtuální stroje s Windows a Linuxem. Virtuální stroje přitom mohou obsahovat předem konfigurované aplikace nebo fungovat jako „holé“ instance operačního systému.
Lab Manager umožňuje vytvářet podrobné účtovací sestavy obsahující název úlohy, její počátek, konec, spotřebovanou paměť RAM, využitý úložný prostor atd. Tyto údaje by bylo možné využít pro vytvoření podkladů k účtování – k jednotlivým položkám však nelze přiřadit cenu, takže finální účet se dá vystavit pouze mimo SSP.
CloudStack 2.1.3
CloudStack od společnosti Cloud.com je skromnější a méně flexibilní. Využívá aplikaci pro správu serveru, která může být provozována ve virtuálním stroji nebo na fyzickém počítači se 64bitovými verzemi Red Hat Enterprise Linux nebo Centos 5.4 a vyšší. CloudStack slouží jako knihovna nebo úložiště obrazů virtuálních strojů, které mohou být nasazeny do prostředí cloudu nebo v konfiguraci odpovídající cloudovému prostředí.
Před uvedením do provozu je potřeba udělat hodně přípravné práce. Poté, co vytvoříte virtuální stroj, nemůžete změnit přiřazení procesoru, velikost paměti, počet procesorů nebo prostor na disku – konfigurace virtuálního stroje je uzamčena. Vytváření každého virtuálního stroje se tak neobejde bez důkladných úvah.
CloudStack jsme testovali v prostředí Citrix XenServeru. I když se na webových stránkách Cloud.com tvrdí, že CloudStack pracuje v prostředí KVM a VMware, nenašli jsme žádnou odpovídající dokumentaci. Následně jsme se dozvěděli, že podpora těchto prostředí přijde až ve verzi 2.2. Storage pro CloudStack pracuje s NFS a iSCSI při minimální velikosti 100 GB. Pro sekundární storage je přitom zapotřebí nejméně jedna sdílená jednotka, pro primární storage je pak potřeba buď iSCSI jednotka, nebo další úložný systém s NFS.
S CloudStackem jsme měli několik problémů. Jak jsme již zmínili, po vytvoření virtuálního stroje je velmi obtížné změnit jeho parametry. Pokud potřebujete něco jiného, musíte stroj smazat a vytvořit nový. Je sice přitom možné sáhnout do MySQL databáze, kde se uchovávají jednotlivé konfigurace, ale Cloud.com zatím neposkytuje schéma databáze, takže aktualizace se musí provádět ručně.
Dvakrát jsme se pokoušeli vytvořit novou instanci virtuálního stroje, ale ani jednou se nám to nepovedlo kvůli nedostatku IP adres. Z uživatelského rozhraní jsme se sice dozvěděli, že pro daný účet máme k dispozici tři virtuální stroje, ale ve skutečnosti existoval pouze jeden.
Příčinou bylo základní nastavení uživatelského rozhraní. Například pokud smažete virtuální stroj, dojde k jeho odstranění až za 24 hodin. Do té doby není jeho IP adresa k dispozici, a pokud už nemáte žádnou další volnou, musíte čekat. To může být problém v případě většího počtu uživatelů, kteří pracují s mnoha virtuálními stroji.
Po poněkud únavném nastavení všech parametrů pracoval CloudStack s virtuálními stroji s Windows i Linuxem bez problémů. Respektoval přitom bezpečnostní nastavení přes LDAP.
CloudStack sleduje své využití jednotlivými uživateli, které se zobrazuje pouze prostřednictvím API volání listUsageRecords. Pravděpodobně bude možné vytvořit v SOAP nástroje pro účtování, které budou tyto údaje využívat.
Eucalyptus Enterprise Edition 2.0.1
Software Eucalyptus je základem správy cloudu v produktu Ubuntu Enterprise Cloud (UEC). V podnikové verzi EE (Enterprise Edition) nalezneme podobné komponenty jako v UEC: Cloud Controller, Walrus Controller (vytvářející úložiště odpovídající Amazonu S3), Storage Controller (pro blokové, nikoli souborové úložiště) a Cluster Controller.
Komponenty se neinstalují na virtuální stroj, ale přímo do počítače s operačním systémem RHEL 5.4 či vyšším, CentOS 5.4 či vyšším nebo OpenSUSE 11.2 či vyšším.
Instalace EE není kvůli špatné dokumentaci jednoduchá. Firma Eucalyptus obvykle instaluje EE u zákazníků sama, my jsme však chtěli nasadit software vlastními silami. Během tohoto procesu jsme se setkali s potížemi ohledně podpory Windows Serveru, které nebyly dostatečně zdokumentované.
Eucalyptus sice tvrdil, že jejich lidé s tím nemají problémy, čemuž jsme věřili; každopádně je pak nutné se v tak klíčové záležitosti, jako je dostupnost cloudových komponent, spoléhat na technickou podporu dodavatele.
Během instalace bylo potřeba překonat velké množství problémů, jejichž řešení jsme občas nacházeli v dokumentaci verze openEucalyptus, nikoli v manuálech pro EE.
Poté jsme vytvořili obrazy a instance virtuálních strojů, které jsme uploadovali a zaregistrovali. Existující instance VMwaru je potřeba napřed konvertovat, instance Windows je dokonce nutné konvertovat vícekrokově.
Pro autentizaci uživatelů neexistují žádná propojení na LDAP nebo Active Directory, takže přihlašování jsou zcela v režii bezpečnostních opatření samotného EE, která lze snáze obejít.
Jediný způsob, jak zavést virtuální stroje, je použít nástroje euca-tools z příkazového řádku nebo jiné nástroje od Amazonu. Pro zavedení a odstranění instancí musí uživatelé použít příkazy euca-run-instances, euca-reboot-instances a euca-terminate-instances.
Jediná věc, kterou uživatelé nebo administrátoři vidí ve webovém rozhraní, jsou obrazy virtuálních strojů, které jsou k dispozici, a přihlašovací údaje potřebné k vykonání příkazů (SSH klíče, secret key, qquery ID, certifikáty X.509 atd.). K dispozici je mnoho dalších nástrojů, které lze spustit z příkazového řádku, chybí však webové rozhraní s přehledem instancí jednotlivých uživatelů a s možností je zastavit nebo restartovat.
Software poskytuje souhrnné údaje o využití storage nebo instancí včetně počtu využitých svazků, doby jejich používání či počtu vytvořených instancí. Tato data lze využít k vyúčtování služeb, ale účtovací nástroj přímo v prostředí Eucalyptus EE není.
Novell Cloud Manager 1.0
Novell Cloud Manager (CM) řídí interní výpočetní prostředky podobně jako u poskytovatelů veřejných cloudových služeb; s mnoha zádrhely běžnými u veřejných cloudů se navíc vůbec nesetkáte a většina jinak problémových funkcí je automatizována.
Cloud Manager umožňuje tvůrcům privátního cloudu identifikovat hardwarové prostředky, propojit skupiny výpočetních zdrojů nabízených virtualizovanými servery i podnikové aplikace, účtovat jejich využití a sledovat jej prostřednictvím bezpečnostních modelů založených na Active Directory a LDAP.
Jako u ostatních testovaných produktů jsou i zde zapotřebí nemalé přípravné práce s přidělováním hardwarových a softwarových prostředků, jejich seskupováním do identifikovatelných komponent a definováním přístupových a sledovacích práv v ostrém provozu.
Po vytvoření celého prostředí měl Novell Cloud Manager nejvyspělejší funkce pro správu, poskytování a účtování cloudových výpočetních prostředků. Koncoví uživatelé navíc mohli tyto prostředky ihned využívat.
Prostředí se skládá ze dvou hlavních řídicích komponent: Cloud Manager Application Serveru a Cloud Manager Orchestration Serveru (CMOS), které jsme nainstalovali do prostředí VMware 4.1 s využitím jednoho virtuálního stroje se SUSE 11 pro každou službu.
Počáteční přidělování prostředků navíc vyžaduje vytvoření virtuálních strojů sloužících jako knihovna pro přístup prostřednictvím CMOS. CMOS obsahuje komponenty pro tvorbu kustomizovaných instancí virtuálních strojů.
Po nepříliš obtížné konfiguraci nám Cloud Manager umožnil vystavit cloudové prostředky a nastavit pro ně uživatelská omezení. Uživatelé se přihlašují prostřednictvím adresářových služeb Active Directory nebo LDAP a pro využívání cloudových komponent využívají předem konfigurované předlohy.
Komponenty jsou nabízeny ve formě virtuálních strojů, které mohou obsahovat předem instalované aplikace. U jednotlivých strojů lze nastavit počet virtuálních procesorů, ukládací prostor, paměť i IP adresu. Nastavení je možné uzamknout nebo lze povolit uživatelské změny umístění a velikosti úložiště nebo paměťového prostoru.
Doplňkové komponenty pro účtování dělají z Novell Cloud Manageru plnohodnotného poskytovatele spravovaných služeb a odlišují jej od ostatních testovaných produktů. Při každém výpočetním zatížení lze zjistit, kolik uživatel měsíčně zaplatí. Cenu za GB úložného prostoru, časovou jednotku využití virtuálního procesoru nebo za MB použité paměti nastavuje administrátor stejně jako náklady na síť a storage.
CM nám nabídl kompletní obrázek, jak má vypadat správa privátního cloudu včetně použitelné dokumentace. S její pomocí lze od základu vybudovat cloudovou banku služeb a tyto služby nabízet a zpoplatňovat.
OpenNebula 2.0
OpenNebula Project je soubor nástrojů pro správu cloudu, určený pro virtuální stroje s Linuxem. Je součástí větší skupiny Open Cloud Community. OpenNebula je zcela open source software na rozdíl od „open core“ řešení jako Eucalyptus Enterprise.
OpenNebula je zejména určena pro potřeby vývojářů a provoz virtuálních strojů v non-persistentním cloudu. Mohou ji používat i běžní uživatelé s vyššími znalostmi, kteří se však neobejdou bez pomoci administrátora s výbornými zkušenostmi s Unixem, Solarisem a Linuxem, který bude schopen prostředí nastavit a provozovat.
OpenNebula běží na Ubuntu 10.0.4 nebo CentOS 5.4 nebo vyšším (funguje i na většině dalších distribucí Linuxu, ale rychle instalovat ji lze jen ve dvou jmenovaných prostředích). Instalace je založena výhradně na skriptech, k dispozici není žádné grafické uživatelské rozhraní, naopak je potřeba mnoho textových konfiguračních souborů.
Dříve, než se obrazy virtuálních strojů pomocí skriptů nainstalují, musí být v OpenNebula vytvořeny jako obrazy pro KVM nebo Xen. Existuje i driver pro VMware, ale vyžaduje API rozhraní libvirt a mnoho ruční práce navíc.
Pro testování vašeho prostředí slouží vzorek virtuálního stroje, který jsme byli schopni snadno spustit i provozovat. Po vytvoření obrazu jsme ho mohli ručně zkopírovat na místo uložení. Poté jsme vytvořili konfigurační soubor pro obraz virtuálního stroje a popis sítě. Po přidání konfigurace sítě jsme spustili instanci tohoto obrazu prostřednictvím příkazu onevm.
Mezi softwarové doplňky patří například autentizace přes LDAP, drivery pro VMware či expresní instalátor. Při jeho zkoušce jsme jako front-end jsme použili Ubuntu 10.04 ve virtuálním stroji na ESX 4.1. Další stroj s Ubuntu 10.04 posloužil jako uzel. Expresní instalátor nastavil na front-endu sdílení NFS systému, díky němuž mohly uzly sdílet obrazy.
OpenNebula pracuje s několika typy autentizačních schémat včetně základního uživatelského jména a hesla s využitím databází SQLlite nebo mySQL prostřednictvím správy SSH klíčů.
Díky své modularitě je OpenNebula připravena na propojení s dalšími bezplatnými a open source aplikacemi s cílem vytvořit privátní cloud, který bude plně open source. Mnoho dílků skládačky však zatím chybí. Dokumentace OpenNebula není dokonalá, ale dá se s ní pracovat.
OpenNebula obsahuje užitečné nástroje, jako je cloudové výpočetní prostředí, je však vhodná spíše pro vývojáře a systémové pracovníky než pro běžné uživatele.
Jak jsme testovali
Pro testování jsme použili dva servery Dell 1950 (jeden s 16 GB RAM, druhý s 8 GB, oba měly 8 procesorových jader), jeden HP DL585 G5 (32 GB RAM, 16 procesorových jader), jeden HP DL580 G5 (32 GB RAM, 16 procesorových jader) a Dell Optiplex 740 (tříjádrový procesor AMD, 4 GB RAM).
Jako back-endové úložiště jsme zvolili Compellent 6.33TB iSCSI/FC SAN a pro podporu NFS storage posloužil Apple XServe. Všechny uzly a platformy byly propojeny přes 10GB přepínač Summit X650-24T od Extreme Networks s 24 porty.
Pro instance uzlů jsme vyzkoušeli několik hlavních operačních systémů: SLES 11, Ubuntu Server 10.04, Windows 2003 Server R2, Windows 7 a Windows 2008 Server R2.
Tabulku s výsledky jednotlivých produktů v různých kategoriích najdete v tištěném Computerworldu č. 11/2011.