Cloud Computing Jiří Svoboda T-Mobile Czech Republic a.s. Tomíčkova 2144/1, 149 00 Praha 4 Email:
[email protected]
Abstrakt: Práce se zabývá relativně novým fenoménem v oblasti informačních technologiích, cloud computingem, který se zejména v západních zemích začíná prosazovat jako nová platforma nejen pro jednotlivé IT služby, ale i pro podnikové systémy. V úvodních kapitolách se věnuji technologickým předpokladům a samotným nabízeným službám, zatímco ve druhé části zmapuji příležitosti, rizika a možnou blízkou budoucnost tohoto odvětví. Klíčová slova: Cloud computing, cloud, IT služby, grid, cluster, škálovatelnost, IaaS, SaaS, PaaS Summary: The aim of this paper is to describe the cloud computing, to discuss its features, benefits, risks and future. In the first part I introduce the term cloud computing as a new way to provide computer power, storage space, applications and various services via internet connection and internet browser to the end users instead of using user’s software, hardware infrastructure and internal enterprise systems. There are technological prerequisites such as virtualization, cluster, grid, which had to come to make this concept possible and I include some of them in this paper. I describe three major groups of cloud computing services: Infrastructure as a Service (IaaS), Software as a Service (SaaS) and Platform as a Service (PaaS). In the following section, there are mentioned the most important business players as Amazon, Google, Salesforce and Microsoft and the services they provide. Some of these services have different payment methods, which I list in the next chapter. The concept of cloud computing has many advantages. It is scalable, multitenant, multiplatform, easily accessible via internet browser and cost effective. On the other hand there are also some threatening issues as security, reliability, continuity of the service, different legal system in each country. The most important task for companies providing cloud computing services is to find the ways to eliminate the threats and gain the credit on the whole market. My general opinion is, that this concept brings many new opportunities, which can use almost every company that needs to use IT services and could become the preferred way how to consume this kind of services in future. Keywords: Cloud computing, cloud, IT services, grid, cluster, scalability, IaaS, SaaS, PaaS
1. Úvod Problematika cloud computingu propojuje silný důraz na technologie se silnou orientací na služby poskytované zákazníkům. V několika posledních letech je tato oblast velmi rychle rostoucí a její přístupy mají potenciál změnit vnímání a chod současného IT světa. Poté, co jsem začal vyhledávat informační zdroje, mě 66
SYSTÉMOVÁ INTEGRACE 2/2009
Cloud Computing
překvapil nedostatek informací o tomto tématu v češtině, v podstatě jsem nalezl jen několik ojedinělých článků, často navíc přejatých ze zahraničních serverů. Oproti tomu je relativně dost informací publikováno o samotných službách SaaS, které navazují na model ASP a jsou jednou ze skupin služeb nabízených v rámci cloud computingu. Tato skutečnost ještě více podnítila můj zájem a mým cílem je přinést kompletní shrnutí, co vše vlastně daný obor zahrnuje, jaký přináší potenciál, a jaká může být jeho budoucnost. Práci je možné rozdělit do dvou hlavních oblastí, v první části jsem se věnoval přiblížení problematiky, vymezení základních pojmů, průzkumu současné situace a trhu. Ve druhé části, začínající kapitolou číslo šest, jsem se pokusil formulovat své názory na příležitosti a rizika, které cloud computing přináší, a to jak z pohledu zákazníka, tak samotného odvětví. Ve druhé kapitole se pokusím přiblížit pojem cloud computing, tak jak ho chápu v celé práci. Pro vznik celého konceptu bylo nutné splnění celé řady zejména technologických podmínek, vybraným se věnuji ve třetí kapitole. Následující kapitola ukazuje rozdělení služeb poskytovaných v rámci cloud computingu do třech základních oblastí. V páté kapitole jsem se zaměřil na nejvýznamnější a nejzajímavější hráče a jimi nabízené služby, včetně konkrétních cenových relací pro vytvoření čtenářovy představy. Šestá kapitola se zabývá možnostmi a riziky, v sedmé kapitole jsem se pokusil nastínit směr, jakým se dle mého názoru bude cloud computing vyvíjet.
2. Cloud Computing Cloud computing má mnoho definicí, což pramení z rozsahu oblasti a rozmanitosti služeb, které zahrnuje. Název cloud computing se začal objevovat kolem roku 1999, přičemž původ výrazu cloud v tomto spojení je možné vyložit různými způsoby, pravděpodobně pochází z obláčku, který je obvykle používán v různých schématech pro internet a prostředky dostupné přes internet [Cloud]. Obecně se tedy dá říci, že cloud computing je poskytování různých IT služeb běžících na virtuální infrastruktuře dodavatele, tzv. cloudu, přes internet a internetový prohlížeč. Zpravidla jsou nabízeny stejné služby pro všechny zákazníky. Koncoví uživatelé se přes svá zařízení (počítače, notebooky, telefony, apod.) připojí zpravidla přes internet ke cloudu poskytovatele, který jim dodá požadovanou službu. Samotný pojem cloud v tomto článku označuje výpočetní nebo datová centra, na kterých běží poskytované služby. Poskytované služby jsou velmi rozmanité a sahají od poskytování výpočetního výkonu, služeb datových center až po funkcionalitu typicky nabízenou různými podnikovými systémy (např. CRM, ERP) a služby pro jednotlivé koncové uživatele. Velkou výhodou těchto služeb je jejich velmi rychlé pořízení a zpravidla placení jen toho, co skutečně spotřebujete. Na druhou stranu se tahle jednoduchost a masovost může ukázat v některých případech jako nedostatečná, například pokud potřebujeme individuálně definovat úroveň požadovaných služeb. V současné době můžeme rozlišit několik typů cloudu [CircleID]. Nejrozšířenější jsou externí cloudy, což je vlastně ryzí případ toho, co jsem popsal výše. Zákazník vlastní jen počítače pro přístup k službě přes internet a veškerá data a aplikace s nimi pracující jsou umístěny v cloudu někde u poskytovatele. Slovo někde je SYSTÉMOVÁ INTEGRACE 2/2009
67
Jiří Svoboda
namístě, protože uživatel obvykle ví jen to, že jsou někde v datových centrech poskytovatele, v jakých městech, nebo zemích to je, se obvykle nesděluje. Protipólem externích cloudů jsou interní cloudy, což na první pohled popírá základní myšlenku celého konceptu. V tomto případě je totiž cloud umístěn na vlastní infrastruktuře firmy a firma netěží z outsourcingu, ale ze samotné architektury cloud computingu. Existuje ještě třetí cesta, a to hybridní cloud, což znamená, že u zákazníka existuje vlastní cloud, který využívá v případě potřeby externí cloud. Což může být například v případě potřeby vyššího výkonu, diskové kapacity, nebo pro potřeby zálohování. Je velmi pravděpodobné, že pro kritické aplikace bude právě tento způsob využití cloud computingu ten nejrozšířenější. Princip cloud computingu je zároveň v souladu s módními “zelenými” trendy, které se objevily i v oblasti IT/ICT a jsou souhrnně označovány jako Green IT. Sdružování a centralizace výpočetních zdrojů vede k vyšší efektivitě ve využívání kapacit výpočetních a datových center a díky škálovatelnosti výkonu směrem nahoru, ale i dolů, vede ke značným energetickým úsporám. Na první pohled se celá snaha o Green IT může zdát jako zanedbatelná úspora, což z hlediska uživatele s jedním počítačem opravdu je, ale pokud se bavíme o rozsáhlých cloudech čítajících tisíce či desítky tisíc serverů (jako jsou například cloudy Googlu, Yahoo, či Amazonu), je celková energetická úspora významná.
3. Technologická východiska cloud computingu Skutečnost, že se cloud computing objevil a rapidně se rozvíjí právě v několika posledních letech, není náhodná. Pro tento způsob nabízení výpočetního výkonu, diskového prostoru, aplikací a různých služeb musely nejprve nastat vhodné podmínky. Základním předpokladem je dostatečně rychlá síť – v našem případě internet. Kdyby musel každý dodavatel platit za nějaký speciální druh dedikovaného spojení se zákazníky, celý model by se zásadně prodražil. Díky obrovské penetraci a neustále se zvyšující rychlosti internetu toto omezení zmizelo. Rychlá síť, ačkoliv je zásadním a zcela nutným předpokladem ale sama o sobě nestačí, současně bylo nutné dospět do situace, kdy hardware bude na dostatečné úrovni výkonu, pokud mluvíme o procesorech, a kapacitě, pokud mluvíme o diskových polích, potažmo datacentrech a zároveň cenově relativně dostupný. Když k těmto předpokladům přidáme obrovský pokrok v technologiích, jako jsou virtualizace, clusterová a gridová řešení za poslední desetiletí, dostáváme situaci, ze které logicky vyplývají závěry a nové přístupy z nich plynoucí, shrnuté pod názvem cloud computing. Z výše uvedených technologií v této kapitole přiblížím dvě vybrané, těsně související se samotným cloud computingem, a sice cluster a grid computing.
3.1 Clusterové technologie V současné době se neustále zvyšují požadavky na výkon serverů a v mnoha případech by nebylo jediným silným strojem možné, ať už z technických nebo finančních důvodů, tyto požadavky uspokojit. Naštěstí ale existuje široce využívaná alternativa zapojení více počítačů do tzv. clusteru.
68
SYSTÉMOVÁ INTEGRACE 2/2009
Cloud Computing
Cluster je soustava vzájemně propojených počítačů, které se navenek tváří jako jeden systém. Jednotlivé prvky systému se nazývají uzly (nody). Použití clusterů je v současné době běžnou součástí podnikových IT/ICT řešení. Velký význam nabývá využití clusterů v internetovém prostředí, kdy často potřebujeme vysoce dostupné a rychle reagující prostředí. Podle zaměření se clustery rozdělují na následující typy [Cluster]: Výpočetní cluster (High performance computing) – skupina počítačů propojených vysokorychlostní sítí do clusteru. Tímto řešením je obvykle možné získat velmi vysoký výkon za výrazně nižší náklady, než kdyby se pořídil jeden superpočítač se srovnatelným výkonem (pokud takový vůbec existuje). Pokud je počítaná úloha nenáročná na vzájemnou komunikaci mezi uzly, je možné k jejich propojení použít klasickou lokální síť nebo internet. Úložný cluster (Storage cluster) nabízí virtuálně jeden úložný prostor, v pozadí je ovšem architektura úložných zařízení zapojených do clusteru, což umožňuje vysoký výkon a spolehlivost. Toto řešení může být použito v rámci SAN (Storage Area Network). Používá se v případech velmi vysokých nároků na kapacitu, rychlost a spolehlivost úložného systému, například pro bankovní systémy. Cluster s rozložením zátěže (Load balancing cluster) – slouží pro rozložení zátěže na více prvků, například na více webových serverů, které poskytují stejné služby. Navenek se tedy servery v clusteru tváří jako jeden síťový server, ve skutečnosti jsou ale požadavky klientů přesměrovávány na jednotlivé uzly. Cluster s vysokou dostupností (High Availibility Cluster) zajišťuje vysokou dostupnost služby (dle definice např. v SLA). Obvykle je cluster nakonfigurován tak, že v případě výpadku (plánovaného nebo neplánovaného) zastoupí odstavený server jiný server nebo skupina serverů, která od té chvíle poskytuje identické služby. Používá se pro kritické aplikace, které musí fungovat v režimu 24/7 např. internetové bankovnictví, systémy bankomatů, servery operátorů. Pro zajištění vysoké dostupnosti je tedy nutná určitá redundance.
3.2 Grid computing Princip gridu vznikl jako alternativa k superpočítačům s obrovským výpočetním výkonem, kdy namísto snahy o zvyšování výpočetní kapacity několika strojů přistupuje grid computing k problému z druhé strany, snaží se pomocí rychlých sítí a specializovaného softwaru propojit velké množství geograficky rozptýlených prostředků s různými výpočetními výkony a funkcemi do jediného systému, který tak ve výsledku nabízí daleko větší výpočetní sílu. Propojené prvky systému přitom mohou mít různou architekturu, různé operační systémy, dokonce to nemusí být ani počítače, ale může jít například o specializovaná zařízení v laboratoři, která jsou schopna komunikovat prostřednictvím definovaných protokolů. Pro reálnou využitelnost gridu je velmi důležitá otázka zabezpečení, spolehlivosti a zajištění odpovídající dostupnosti nabízených prostředků. Pojem Grid computing byl poprvé použit v roce 1998 v publikaci “The Grid: Blueprint for a New Computing Infrastructure” autorů Ian Fostera a Carla Kesselmana. Jejich definice gridu je následující: “Výpočetní grid je hardwarová a softwarová infrastruktura, která poskytuje spolehlivý, konzistentní, všudypřítomný a levný přístup k vysoce výkonným výpočetním službám.“ [Foster 99]
SYSTÉMOVÁ INTEGRACE 2/2009
69
Jiří Svoboda
Pro vysvětlení základních principů grid computingu je možné použít analogii s elektrickou sítí. Když připojíte elektrický spotřebič do sítě, je vám jedno, kde byl elektrický proud, který odebíráte vyroben (zda jde o tuzemský proud nebo ho vyrobila elektrárna ve Francii), stejně tak u gridu je lhostejné odkud konkrétně uživatel čerpá služby gridu, záleží pouze na kvalitě poskytnuté služby (obdobně jako u elektrického proudu, který musí mít určité parametry). Způsob přístupu k elektrickému proudu, který považujeme v současné době za samozřejmý, je umožněn pomocí elektrické rozvodné sítě (electrical power grid) spojující mnoho různých prvků, obdobně za počítačovým gridem je skryta infrastruktura propojující jednotlivé prvky gridu (například superpočítače, servery, výpočetní stanice a datová úložiště) a která zároveň zajišťuje k těmto prvkům přístup. Stejně jako je téměř všude přístupný elektrický proud, měl by i grid nabízet připojení takřka odkudkoliv, kde je dostupná síť, ve většině případů tedy internet a z co nejširší škály různých zařízení, ať už jde o PC, notebooky, PDA nebo mobily. Při použití gridu se platí za využitou službu, obdobně jako se platí při odběru elektrického proudu. Služby poskytované v rámci gridu se dají rozdělit do třech hlavních oblastí [Grid]. Výpočetní grid poskytuje výpočetní výkon jakéhosi fiktivního superpočítače, získaný z distribuovaného systému. Datový grid nabízí například služby datového úložiště, sdílení velkého množství dat virtuálně na jednom místě. Aplikační grid se zaměřuje na vytvoření virtuálního prostředí pro spolupráci a sdílení znalostí například na vědeckých projektech. Existuje celá řada dobrovolnických projektů založených na koncepci gridu, do kterých se mohou zapojit I jednotliví uživatelé se svými počítači, na který si zpravidla nainstaluje klientský program. Tento koncept je založen na tom, že většina uživatelů nevyužívá během dne výkon počítače na sto procent, dokonce se objevují studie, které sledovaly využití procesoru v počítači běžného uživatele v rámci celé pracovní doby a dospěly k hodnotám hluboko pod dvacet procent. Nabízí se tedy otázka, zda není škoda takto plýtvat výkonem, proto se objevují systémy, které tento výkon dokážou využít, ať už ve firemní síti pro vnitřní potřeby organizace, nebo na dobrovolné bázi pro domácí uživatele. Zpravidla si uživatel stáhne klientský program, ve kterém může nastavit prioritu procesů tak, aby ho zapojení do projektu co nejméně omezovalo. Mezi nejznámější volně přístupné projekty patří SETI@home (Search for ExtraTerrestrial Intelligence) provozovaný na University of California. Platforma Berkeley Open Infrastructure for Network Computing (BOINC), která původně vznikala pro projekt SETI@home nabízí celou řadu projektů z mnoha oblastí, ke kterým se díky aplikaci principů gridu může běžný uživatel připojit a věnovat výpočetní výkon svého počítače. Ale ani české university nezůstávají pozadu a pět z nich vytvořilo rozsáhlý grid MetaCentrum. MetaCentrum tvoří sjednocenou distribuovanou výpočetní infrastrukturu doplněnou úložnými kapacitami, která bývá označována slovy jako metapočítač, Grid, e-Infrastruktura, digitální infrastruktura, cyber infrastructure nebo e-Science [Meta]. Pro využití gridu v komerční sféře a začlenění gridu do vlastní informační architektury nabízí své produkty řada největších softwarových firem typu Oracle a IBM, ale existují i velmi zajímavá řešení založená na open source software, jako je například Apache Hadoop. Hadoop je open source systém vyvinutý v Javě, vycházející z principu frameworku MapReduce vyvinutého Googlem pro práci 70
SYSTÉMOVÁ INTEGRACE 2/2009
Cloud Computing
s velkými objemy dat nad clusterovým řešením. Mezi největší implementace Hadoop patří jeho nejvýznamnější podporovatel Yahoo, který provozuje tento framework na linuxovém clusteru s deseti tisíci jádry a podle svých vyjádření nasazením Hadoop při skenování webových stránek ušetřili 34% systémového času oproti předcházejícímu řešení [Yahoo]. Z hlediska typického nasazení je grid velmi často používán pro řešení náročných dávkových úloh, které konzumují všechny dostupné zdroje, oproti tomu cloud computing je připraven na dlouhodobé zpracování obrovského množství zpravidla méně náročných požadavků. Dodavatel může nabídnout zákazníkům společně s jinými cloud computingovými službami funkcionalitu gridu, v tom případě se grid stává podmnožinou, jen jednou z řady nabízených služeb v cloudu. Další možné využití gridové infrastruktury je v rámci celé podpůrné architektury cloudu, na kterém běží nabízené služby. Z technického pohledu jsou hranice mezi grid a cloud computingem často diskutovány, vedou se diskuze o tom, zda je cloud computing pouhou evolucí gridu [EGEE], nicméně výše uvedené příklady z pohledu byznysu jsou podle mého názoru dostatečně ilustrující a srozumitelné.
4. Typy služeb nabízených v rámci cloud computingu Portfolio služeb nabízených v rámci cloud computingu je velmi široké a neustále se rozrůstá. Přesto je možné rozdělit podle základních znaků většinu služeb do následujících kategorií.
4.1 Infrastructure as a Service (IaaS) Termín infrastruktura jako služba se začal šířeji používat od roku 2006 a postupně nahradil starší termín Hardware as a Service (HaaS), zavedený Nicholasem Carrem. Jde o model od počátku těsně spjatý s outsourcingem. Hlavní myšlenka IaaS je nabídnout zákazníkovi komplexní IT infrastrukturu podle jeho požadavků. Zákazník tedy pro podporu svého podnikání nemusí nakupovat servery, datová úložiště a síťové prvky a to vše nákladně spravovat za použití interních zaměstnanců, ale vše potřebné si nakoupí jako službu [Carr 08]. V současné době jsou velmi rozšířené IaaS aplikace typu Computing as a Service a Storage as a Service. Mezi nabízené produkty IaaS patří Amazon Elastic Cloud, AppNexus, GoGrid nebo Mosso.
4.2 Software as a Service (SaaS) Růst a úspěch modelu SaaS se velkou mírou podílí na růstu zájmu o samotný cloud computing. V tomto modelu si uživatel nenakupuje pro svoji potřebu aplikační software, ale pronajímá si ho od třetí strany. Nemusí tedy investovat do nákupu a pravidelného pořizování pozdějších aktualizací a upgradů, protože o to se stará dodavatelská firma. Typickým příkladem velmi rozšířených a známých služeb SaaS jsou různé internetové aplikace (např. Google Apps nebo Zoho Office), kdy zákazník platí za poskytnutý software nebo jen část jeho funkcionality a o nic dalšího nemusí mít starost. Firmy využívající model SaaS mohou outsourcovat celý informační systém, nebo jen jeho část a přistupovat k němu přes webové rozhraní. Přístup SaaS je vlastně SYSTÉMOVÁ INTEGRACE 2/2009
71
Jiří Svoboda
určitým následníkem ASP, kdy byl princip outsourcování informačního systému obdobný, ale pro přístup k aplikaci běžící u dodavatele se častěji používal tlustý nebo tenký klient nainstalovaný na uživatelských stanicích. Systémy nabízené v modelu ASP, přestože k nim často bylo možné se připojovat přes internet, nebyly primárně koncipovány jako internetové aplikace, což často přinášelo řadu problémů např. v multiuživatelských systémech. Výhodou softwaru v modelu SaaS je, že jde od počátku o aplikace vyvíjené pro použití v prostředí internetového prohlížeče. Detailní srovnání ASP a SaaS nabízí ve své knize Jiří Voříšek [Voříšek 08]. Nezanedbatelnou výhodou tohoto přístupu pro uživatele je, že zodpovědnost za systém a případné problémy je jednoznačně plně na straně dodavatele SaaS řešení a odpadají případné kompetenční spory. V případě nutnosti společné integrace několika služeb od různých dodavatelů se otevírá prostor pro využití služeb systémového integrátora, který by celé řešení zastřešil. Nicméně je nutné podotknout, že integrace SaaS a cloudových služeb vůbec je zatím v plenkách. Dle výzkumu firmy Gartner publikovaného v říjnu roku 2008 patří mezi nejpoužívanější SaaS účetní, obchodní systémy a řešení pro firemní emaily. O tom, jaký potenciál skýtá SaaS svědčí i to, že dle zmíněného výzkumu používá 40% dotázaných firem řešení na bázi SaaS déle než tři roky a 90% firem očekává obnovení kontraktu nebo jeho rozšíření [Gartner 08]. Vyčerpávající přehled SaaS poskytovatelů nabízí web SaaS Showplace [Show]. Služeb SaaS je velké množství a pokrývají většinu průmyslových odvětví, např. z oblasti CRM patří k nejvýznamnějším Salesforce CRM, Microsoft Dynamics CRM, RightNow CRM.
4.3 Platform as a Service (PaaS) Platforma jako služba nabízí kompletní infrastrukturu pro provozování internetových aplikací a zároveň vývojové prostředí dostupné přes internetový prohlížeč. Firmy poskytující a vyvíjející webové aplikace využívající PaaS nemusí mít vlastní servery, databázové administrátory, síťové specialisty a vývojářský software, protože si jednoduše zaplatí platformu pro své aplikace, která jim vše nabídne. O provoz hardwarové infrastruktury včetně její údržby a upgradu stejně jako o provoz softwarové platformy se stará dodavatelská firma. Zákazník se tak může plně soustředit na inovaci svých aplikací a neplýtvá lidskými zdroji na správu a provoz. Rovněž za bezpečnost a odpovídající dostupnost aplikace pro uživatele (zde se ukazuje výhoda cloudu, kdy prostředky dostupné pro aplikaci jsou dynamicky přiřazované, takže by nemělo docházet k přetěžování) je zodpovědný dodavatel. Nabízet samotnou infrastrukturu pro internetové aplikace by v porovnání s velmi rozšířenými webhostingovými službami nebylo nic nového, ale v případě PaaS jsou zároveň pro programátory nabízeny i nástroje pro vývoj a správu aplikací přístupné přes webový prohlížeč. Uživatel-programátor si tedy na svůj počítač kromě systému s internetovým prohlížečem nic neinstaluje, pracuje s prostředím kompletně umístěným v cloudu. V důsledku se pro vývojáře zároveň velmi zjednodušuje v klasickém případě poměrně složitý proces nahrávání a spouštění vyvinutých aplikací na serveru. Omezením může být současná nabídka podporovaných platforem nabízených v rámci PaaS, která samozřejmě nepokrývá všechny používané platformy pro 72
SYSTÉMOVÁ INTEGRACE 2/2009
Cloud Computing
klasický vývoj na pracovních stanicích. Nicméně se tato nabídka s příchodem dalších hráčů velmi rychle rozšiřuje. Průkopníkem PaaS byla firma Salesforce nabízející customizovatelnou a rozšiřitelnou CRM platformu Force.com. Další důležití hráči na trhu PaaS jsou v současnosti Amazon a Google. Ostatní významné IT firmy jako např. IBM a Oracle a zatím nenabízejí tak sofistikovaná řešení. Ukazuje se, že velké zkušenosti s internetovým byznysem, jaké firmy jako Amazon a Google nasbíraly, jim poskytují prozatímní nezanedbatelnou konkurenční výhodu. Vedle Amazon Web Services a Google App Engine, kterým se budu samostatně věnovat na jiném místě, nabízejí své produkty i další firmy, např. WaveMaker nabízí pro vývoj WYSIWYG nástroj Visual Ajax Studio a WaveMaker Rapid Deployment Server pro nasazení aplikací na javové servery. Zároveň je možné aplikace nasadit na cloud Amazon EC2. Mezi nejvýznamnější zákazníky patří například Cisco. Force.com firmy Salesforce, která nabízí např. CRM a HRM systémy jako SaaS. Tyto služby jsou dostupné pro využití v rámci PaaS, používá se dedikovaný jazyk Apex. LongJump nabízí vlastní vývojové a administrační prostředí založené na Javě a Elipse. Bungee Connect přináší vizuální vývojové prostředí založené na AJAXu a možnost hostování na vlastním gridu nebo na cloudu Amazonu EC2.
Obrázek 1 - Vývojové prostředí Bungee Connect Na popisu výše uvedených firem je vidět, že si uvědomují důležitost otevřenosti svých řešení a nabízí možnost umístit aplikaci vyvinutou pomocí jejich prostředků do cloudu Amazonu. Díky moderním technologiím (zejména AJAXu) je možné vytvořit plnohodnotné vývojové prostředí pro internetový prohlížeč. Předpokládám, že vzhledem k růstu a očekávanému budoucímu vývoji cloud computingu je tento
SYSTÉMOVÁ INTEGRACE 2/2009
73
Jiří Svoboda
segment trhu velmi zajímavý pro vznik dalších firem nabízejících tento typ vývojových prostředí pro programátorské firmy nebo IT oddělení velkých firem.
5. Nabídka na trhu cloud computingu V této kapitole bych rád přiblížil zástupce nejrozšířenějších a zajímavých komerčně nabízených služeb v oblasti cloud computingu. Nejprve se budu věnovat Amazonu, který patří v této oblasti mezi průkopníky a největší hráče. Jeho služby jsou do jisté míry reprezentativní a pokrývají většinu nabízených druhů služeb, proto se jim budu věnovat podrobněji. Poté ukážu trochu odlišné pojetí nabízených služeb v podání firem Google a Microsoft a na konci kapitoly stručně přiblížím několik menších, ale přesto významných hráčů se zajímavými službami.
5.1 Amazon Web Services Amazon vlastnil velmi rozsáhlou hardwarovou infrastrukturu zejména pro své “knihkupectví”, která byla ovšem plně využita jen několik týdnů v roce, v době předvánočního extrémního vytížení. Protože po zbytek roku byla tato kapacita nevyužita, rozhodl se Amazon zavést nové služby na bázi cloud computingu a jejich prostřednictvím tuto kapacitu nabídnout široké veřejnosti. Amazon Web Service je souhrnný název pro nabízené webové služby běžící v cloudu [Amazon].
5.1.1 Amazon Elastic Cloud (EC2) Amazon EC2 je vlajková loď pro oblast cloud computingu nabízející škálovatelný výpočetní výkon. Velkým přínosem je oproti klasické instalaci a konfiguraci serveru minimální časová náročnost. Během několika minut je možné získat linuxový nebo windowsový server připravený pro ostré nasazení webových aplikací. Poté co uživatel na základě registrace a čísla své platební karty dostane vygenerovaný identifikátor AWS access key ID a heslo AWS Secret Access Key, může začít s konfigurací přiřazené instance-virtuálního stroje. Jsou připraveny balíčky, tzv. AMI (Amazon Machine Image) obsahující určité předpřipravené konfigurace, ale je možné si připravit i vlastní AMI obsahující vlastní aplikace a data. Poté, co je AMI vybráno, nahraje se na úložiště Amazon S3 a uživatel si vybere, jakou instanci a operační systém chce používat. Tím je nový server připraven ke spuštění. V současné době je k dispozici několik desítek AMI, většina obsahuje linuxové servery, k dispozici jsou ale i AMI s různými verzemi Microsoft Windows Serveru. Pro představu o nabízených konfiguracích uvedu nabídku Amazonu. Typy serverů, které jsou nabízeny k pronajmutí, nazývané instance, protože jde o virtuální instance provozované v cloudu, se dělí na standardní (Standard), které by měly postačovat pro většinu aplikací a na výkonné (High CPU) určené zejména pro aplikace velmi náročné na výpočetní výkon. Standardní instance: Malá instance: RAM 1,7 GB, jedna výpočetní jednotka EC2 (1 virtuální jádro na jedné jednotce), 160 GB prostoru v úložišti, 32-bitová platforma
74
SYSTÉMOVÁ INTEGRACE 2/2009
Cloud Computing
Velká instance: RAM 7,5 GB, čtyři výpočetní jednotky EC2 (2 virtuální jádra na dvou jednotkách), 850 GB prostoru v úložišti, 64-bitová platforma Extra velká instance: RAM 15 GB, osm výpočetních jednotek EC2 (4 virtuální jádra na dvou jednotkách), 1690 GB prostoru v úložišti, 64-bitová platforma Výkonné instance: Střední výkonná instance: RAM 1,7 GB, pět výpočetních jednotek EC2 (2 virtuální jádra na dvou a půl jednotkách), 350 GB prostoru v úložišti, 32bitová platforma Vysoce výkonná instance: RAM 7 GB, dvacet výpočetních jednotek EC2 (8 virtuálních jader, každé na 2,5 jednotky EC2), 1 690 GB prostoru v úložišti, 64-bitová platforma Jedna výpočetní jednotka EC2 poskytuje CPU výkon srovnatelný s výkonem jednoho procesoru Opteron nebo Xeon, běžícím na frekvenci 1-1,2 GHz. Za několik minut, strávených výběrem a nastavováním požadované služby přes webové rozhraní, má tak uživatel k dispozici nový server o zvolené konfiguraci. Amazon EC2 přitom nabízí úplnou kontrolu nad pronajatými virtuálním stroji, instalovaným systémem a aplikacemi běžícími v cloudu.
5.2 Simple Storage Service (S3) Amazon S3 nabízí již přes tři roky zabezpečený a zálohovaný úložný prostor dostupný přes internet. Proklamovaná dostupnost je 99,99 %. Může se využít pro zálohování vlastního obsahu, uložení statických stránek nebo pro zabezpečenou výměnu dat mezi různými subjekty. Pro práci s S3 je připraveno webové rozhraní, ale existuje velké množství různých pluginů např. pro internetové prohlížeče a vývojové nástroje, které práci s daty na S3 ještě více zjednodušují. Využívá se protokol HTTP a je k dispozici i BitTorrent pro masovou distribuci dat. Ceny jsou rozděleny do několika pásem podle obsazeného prostoru a velikosti přenosu, v Evropě se pohybují okolo 0,18 amerického dolaru měsíčně za jeden uložený GB (do 50 TB, potom ceny klesají) a 0,1 $ za přenesený GB dat (cena opět klesá po dosažení přenesení 10 TB). Do celkové ceny je třeba ještě připočítat poplatek za požadavky 0,012 $ za 1000 požadavků PUT, COPY, POST nebo LIST a 0,012 za 10 000 požadavků GET.
5.2.1 Amazon Elastic MapReduce Tato služba slouží pro práci s velkými objemy dat, ať už jde o různé datové analýzy, výzkumy apod. Je založena na speciálním frameworku Hadoop (zmiňovaném v kapitole o grid computingu) provozovaném na výše zmíněném Amazon EC2 a Amazon S3. Amazon tak nabízí běžným uživatelům možnosti práce s obrovskými objemy dat s výkonem, které dříve měly jen velké firmy a univerzitní projekty v rámci svých gridů.
5.2.2 SimpleDB Amazon SimpleDB poskytuje klíčové databázové funkce a je těsně provázána Amazon EC2 a S3. Vývojáři mohou svoji aplikaci v ideálním případě nasadit na SYSTÉMOVÁ INTEGRACE 2/2009
75
Jiří Svoboda
EC2, do S3 uložit data a přistupovat k nim přes API SimpleDB. Data se automaticky indexují a redundantně ukládají napříč datovými centry Amazonu.
5.2.3 CloudFront CloudFront patří mezi Content Delivery Network (CDN), tedy sítě pro doručování obsahu. Tento typ sítí se stará o co nejrychlejší doručení jakéhokoliv elektronického obsahu uživatelům na základě optimalizace síťové cesty, kterou jsou data na základě požadavku uživatele odesílána. Základní princip je jednoduchý, stačí nahrát své soubory na jeden server poskytovatele a aplikace na serveru se postará o to, aby v případě požadavku na stažení, uživatel stahoval data z geograficky nejbližšího serveru. Význam využití CDN sítí narůstá s počtem uživatelů, kterým chcete svůj obsah doručovat. V současné době, kdy stále větší část dat přenášených přes internet tvoří streamovaná videa, jsou pro aplikace s vysokou návštěvností a vysokým datovým přenosem CDN sítě téměř nezbytností. Mezi špičkové poskytovatele CDN patří kromě Amazonu například firma Akamai, která zajišťovala internetový přímý přenos z LOH v Pekingu.
5.3 Google App Engine Google se v poskytování svých služeb v oblasti cloud computingu vydal trochu jinou cestou než Amazon, který nabízí sadu různých služeb, které jdou vzájemně velmi dobře integrovat. Google App Engine [Google] je totiž celý balík služeb pro vývoj a hosting webových aplikací jako jeden celek, který je dokonce do určité úrovně využití zdrojů zdarma. To ovšem přináší řadu omezení, která při využití například služeb Amazonu, kdy máte široké možnosti v konfiguraci vlastních serverů, odpadají. Donedávna byl podporovaným jazykem pro vývoj pouze Python, což je oblíbené prostředí, které Google používá pro svůj interní vývoj. V dubnu byla přidána podpora Javy, což vzhledem k její rozšířenosti významně podpoří využitelnost celého balíku. Dalším specifikem je možnost práce jen s nabízenými API, například nabízená databáze není tradiční relační, ale jde o komerčně nenabízenou databázi BigTable vyvinutou Googlem a používanou pro interní potřeby, z čehož vyplývá potřeba upravovat stávající aplikace při migraci na platformu Googlu.
5.4 Microsoft Azure Services Platform Třetí platformou nabízející služby založené na cloud computingu, kterou v této práci uvedu, je Microsoft Azure Platform [Microsoft], která sice byla představena až v roce 2008 na podzim, ale přesto má díky velkému množství programátorů ve frameworku.NET potenciál na velký úspěch minimálně proti platformě Googlu. Prostředí je založeno na systému Windows Azure, speciálně vyvinutém pro využití cloudu, nad kterým je možné vyvíjet, spravovat a hostovat klientské aplikace. Pro umístění aplikací a databázi jsou využívána datacentra Microsoftu. Velmi důležitou vlastností tohoto systému a u Microsoftu poměrně překvapivá je deklarovaná otevřenost, nepodporuje tedy jen framework .NET, ale je možné využívat i nástroje třetích stran a různé programovací jazyky.
76
SYSTÉMOVÁ INTEGRACE 2/2009
Cloud Computing
Obrázek 2 - Platforma Microsoft Azure Microsoft nabízí pro využití v aplikacích pět skupin služeb: Live Services – určené zejména pro práci s uživatelskými daty a aplikačními zdroji SQL Services – nadstavba nad Microsoft SQL Serverem pro cloud prostředí .NET Services – nabízí podporu pro běh aplikací v prostředí cloudu (bezpečnost, komunikace mezi aplikacemi atd.) Sharepoint Services – plánovaná podpora služeb Sharepoint serveru Dynamics CRM Services – plánovaná podpora CRM služeb systému Dynamics
5.5 Další významní hráči Kromě výše uvedených obrovských firem, které nabízejí svá řešení a ve velké míře ovlivňují celý trh, existuje celá řada dalších firem nabízejících svá řešení pro prostředí cloud computingu. V mnoha případech jde o produkty s podobnou funkcionalitou výše uvedeným, ale objevují se i firmy se zcela originálními přístupy, u kterých je velmi často oprávněné předpokládat dlouhodobý úspěch a případné snahy o akvizice ze strany velkých hráčů.
5.5.1 GoGrid GoGrid nabízí služby typu IAAS, tedy celou infrastrukturu jako službu. V mnoha parametrech je srovnatelná s Amazon EC2 a nabízí dokonce několik vlastností, které Amazon nemá, jako je např. podpora MS Windows Serveru 2008. Zajímavý je obchodní model, kdy společnost účtuje za využitou kapacitu paměti RAM na serveru plus obvyklé účtování za přenos dat směrem ven a zpoplatněné použití úložiště nad stanovenou mez.
5.5.2 Sales Force Salesforce je dlouholetým dodavatelem CRM systémů a jako jedna z prvních firem nabídl jako službu běžící v cloudu, díky čemuž se zařadil mezi nejvýznamnější firmy podnikající v této oblasti. Kromě CRM v cloudu, což je klasická služba typu SYSTÉMOVÁ INTEGRACE 2/2009
77
Jiří Svoboda
SaaS nabízí rovněž platformu PaaS - Force.com, přes kterou mohou vývojáři v jazyce Apex vyvíjet a hostovat aplikace na této infrastruktuře [SForce].
5.5.3 Flexiscale Většinu nabízených aplikací a platforem v oblasti cloud computingu nabízejí softwarové firmy, Flexiscale [Flexiscale] je platforma skotské firmy XCalibre Communications, která se zabývá primárně hostingem. V podstatě jde o platformu obdobnou Amazon Web Services zaměřenou zejména na Evropu (Amazon zprovoznil evropská datová centra až před několika měsíci – do té doby byli zákazníci z Evropy v mírné nevýhodě).
5.6 Situace na domácím trhu Ačkoliv je cloud computing v západních zemích s nejvyspělejšími IT trhy horkým tématem, které prožívá obrovský rozmach a už několik let není úplnou novinkou, dá se říci, že si toho zatím v Česku širší odborná veřejnost téměř nevšimla. Svou roli podle mého názoru hraje i tradiční česká nedůvěra k novinkám a určitá skepse. Stav na českém internetu mi evokuje situaci, která byla na západ od nás v počátcích cloud computingu, kdy v prvních měsících probíhaly diskuze, zda nejde jen o nějaký nový buzzword. Obdobná situace byla v České republice u označení web 2.0, které dodnes spousta IT profesionálů odmítá, ačkoliv obrovský rozmach AJAXU a zejména komunitních webů typu Facebook, Twiter, svědčí o opaku. Dle mého názoru je cloud computing velká příležitost i pro tuzemské firmy. Jedna z oblastí, která se přímo nabízí je PaaS, kde by se mohly etablovat velké hostingové firmy, podobně jako Mosso, nebo skotská platforma Flexiscale provozovaná skotskou, původně jen hostingovou firmou. Toto přizpůsobení nové situaci pro hostingové firmy, které budou chtít hrát významnou roli, bude přímo nutností, jinak jim totiž zůstane jen zlomek zákazníků, protože většina středních a velkých firem, které budou chtít efektivně řídit své IT náklady, bude v průběhu let chtít profitovat z cloud computingu, a to minimálně ze služeb PaaS, které nabízí řada firem v čele s Amazonem. Lokální webhostingové firmy budou tedy konečně muset v plné míře čelit světové konkurenci. Nicméně v České Republice existuje řada lidí, která o cloud computingu slyšela a zvažuje nebo dokonce již používá nabízené služby. Dle mého názoru jde prozatím většinou o služby PaaS nahrazující klasický webhosting, tato skupina se bude ovšem dramaticky rozrůstat a dostanou se do ní i větší firmy a nové startupy, které budou využívat služby cloud computingu. Tuzemská nabídka služeb v cloudu je zatím omezená zejména na služby SaaS poskytované velkými dodavateli podnikových systémů (např. HP, Progress). Postupně se objevují se i další hráči, ať už jde o zprostředkování služeb (např. firma Sprinx nabízející Sales Force), nebo o daleko zajímavější pokusy o nový přístup k byznysu, jako je například Abakowiki [Abakowiki]. Abakowiki firmy Projas je řešení pro skupinovou spolupráci a sdílení informací, který může ve firmě plnit funkce nebo zcela nahradit intranet. Na rozdíl od většiny jiných podobných produktů, je ovšem tento obchodní model založen na poskytování aplikace na principech cloud computingu. Celý systém je provozován na technických prostředcích dodavatele a neplatí se za počet uživatelů v systému, ale za spotřebovaný strojový čas serveru. Nabídka systému je rozdělena do několika
78
SYSTÉMOVÁ INTEGRACE 2/2009
Cloud Computing
balíčků, kde je uveden počet “volných minut” strojového času a poskytnutý diskový prostor. Druhou firmou, kterou bych rád zmínil, je Good Data [GoodData], založena, dle mého názoru, nejúspěšnějším českým startupovým podnikatelem u nás, Romanem Staňkem, který se prosadil vývojovým javovým prostředím NetBeans a jeho následným prodejem firmě Sun Microsystems. Good Data nabízí virtuální prostor pro sdílení firemních dat, spolupráci a zejména analytické a reportovací business intelligence nástroje. Jde o typický příklad startupu založeného na globálně nabízené silné myšlence, a který díky cloud technologiím může fungovat zcela bez vlastních serverů, běží totiž výhradně na službách Amazonu. Celkově jde o velmi zajímavý koncept, což potvrzuje i to, že kapitál firmy převyšující 4,5 milionu dolarů je financován americkými soukromými investory. Cloud computing je dle mého názoru velkou příležitostí jak pro nové firmy, kterým se významně sníží náklady na potřebnou hardwarovou infrastrukturu, tak i pro malé vývojářské firmy s dobrými nápady, které mohou s relativně nízkými náklady vyvinout a nabízet služby v cloudu. Nemusí jít jen o úplně nové služby, ale díky otevřenosti mnoha platforem se mohou například zaměřit jen na rozšiřování existujících prostředí (např. Sales Force). Proto si myslím, že je zde velký potenciál i pro firmy z České Republiky, které se často potýkají s nedostatkem kapitálu.
5.7 Způsoby účtování V oblasti cloud computingu se uplatňuje řada různých způsobů účtování, z nichž nejrozšířenější jsou následující modely. 1. Platba podle počtu licencovaných uživatelů – jde o klasický model známý z mnoha podnikových systémů, často využívaný i v oblasti ASP. Nevýhodou tohoto modelu pro zákazníka je nutnost placení za uživatele, i když systém používá jen např. několikrát týdně pár minut a obtížnost určení kolik uživatelů bude vlastně systém využívat, z čehož pramení naopak riziko pro poskytovatele ze strany zákazníka, pokud systém používá více uživatelů, než kolik má zákazník licencí. 2. Platba za spotřebovaný strojový čas – zákazník platí jen za skutečně spotřebovaný strojový čas. Princip placení jen za to, co zákazník skutečně spotřebuje je základním principem všech nabízených řešení v cloudu. Placení za spotřebovaný strojový čas patří mezi typické a nejrozšířenější modely, často je k němu přidáváno ještě placení za objem přenesených dat, jako např. u Amazonu [Amazon]. 3. Platba za využitou paměť RAM – v tomto případě zákazník platí za velikost využité paměti RAM na serverech a dobu tohoto využití. Tento model používá například např. GoGrid, kde se pro představu platí 0,19$ za 1GB RAM/1 hodinu + 0,5 $ za GB odchozích dat [GoGrid]) 4. Platba za objem přenesených dat – tato platba je často přidružena k jednomu z výše uvedených platebních modelů. Existuje celá řada dalších možností placení vycházejících často z modelu ASP, například platba podle současně pracujících uživatelů s aplikací nebo trafficu aplikace [Voříšek 08], nicméně přitažlivost cloud computingu v této oblasti je právě v možnosti využití flexibilních plateb typu pay as you go, tedy jen za služby, které
SYSTÉMOVÁ INTEGRACE 2/2009
79
Jiří Svoboda
zákazník opravdu spotřeboval, což přináší kromě samotných úspor i velkou výhodu pro finanční řízení firmy.
6. Možnosti a rizika cloud computingu V této kapitole bych se rád celkově shrnul příležitosti, které cloud computing nabízí a zároveň upozornil na rizika, která tento přístup přináší.
6.1 Možnosti a přínosy Nové přístupy, které přináší cloud computing, nesporně znamenají obrovský potenciál pro vznik nových podnikatelských příležitostí. Na jedné straně se objevily nové obchodní příležitosti pro vývojářské firmy, které mohou vyvíjet na připravených platformách své aplikace, které si díky finanční a technologické náročnosti nemohly dovolit dlouhodobě vyvíjet, nebo mohou pracovat na rozšiřování stávajících platforem, které jsou často otevřeny pro programování doplňků třetích stran. Mohou vznikat nové mashupy sestavované z dostupných a customizovaných služeb na míru zákaznickým potřebám. Pro firmy a jednotlivce naopak vznikají nové možnosti, jak využívat a integrovat IT služby do svého podnikového prostředí a jak zefektivnit své stávající IT prostředí. Multiplatformnost výrazně zjednodušuje sdílení informací napříč celou organizací, potažmo celou společností. Nulová nutnost investovat do serverové infrastruktury přináší výrazně nižší počáteční a později provozní náklady firemních informačních služeb, což je ideální pro začínající firmy, které tak mohou mít svoji podnikovou informatiku od začátku pod naprostou kontrolou. Velkou výhodou je díky škálovatelnosti velmi pružné přizpůsobení rostoucím potřebám businessu. Rovněž pro startupy podnikající v oblasti tzv. webu 2.0, například v komunitních a sociálních službách je cloud computingu ideální volbou. Z pohledu tuzemského malého trhu se to nemusí zdát jako důležité, ale možnost alokovat ve velmi krátké době řádově vyšší výkon je na větších trzích velmi důležitým argumentem, proč využívat služby typu Amazon Web Services. Důležitost této kritické vlastnosti ilustroval Jeff Barr z Amazonu na příkladu serveru Animoto [Right]. Server Animoto poskočil v návštěvnosti z 25 000 uživatelů na 250 000 uživatelů během tří dnů, přičemž ve špičkách se registrovalo 20 000 nových uživatelů za hodinu. Před tímto obrovským nárůstem Animoto využívalo padesát instancí virtuálních serverů a během tohoto náporu se tento počet zvýšil na konečných 4000 instancí. To by bez využití služeb cloud computingu nebylo u žádného poskytovatele webhostingu možné. Velké webové servery zaměřené na sdílení dat a velmi rozsáhlé komunity (např. Facebook, Youtube), jsou v současné době běžně provozovány v cloudu. Dalším přínosem cloud computingu je podpora spolupráce a sdílení znalostí, ať už jde o podnikovou sféru, kdy se zaměstnanci dostanou jednoduše k firemním informacím (což je ovšem možné i bez cloudu např. pomocí VPN), podporu pro rozšiřování stávajících služeb, nebo integraci služeb různých dodavatelů. Díky možnosti velmi rychlého zřízení služby na téměř libovolnou dobu (často již od jedné hodiny strojového času výše) je prostředí cloudu velmi vhodné pro testování a zkoušení nových funkcionalit. Což je příležitost pro ušetření zdrojů i pro vývojářské firmy, které potřebují svůj produkt vyzkoušet na různých platformách a 80
SYSTÉMOVÁ INTEGRACE 2/2009
Cloud Computing
konfiguracích, nemusí si pak zajišťovat potřebný hardware a zdlouhavou konfiguraci, ale vše otestují na prostředí vytvořeném v cloudu za zlomek dříve potřebného času a nákladů. V poslední době se objevují první operační systémy běžící v cloudu (např. Icloud) a přístupné přes webový prohlížeč. Výhodou takové služby je skutečnost, že na jakémkoliv počítači s internetovým prohlížečem a kdekoliv na světě máte k dispozici svůj systém se sadou aplikací a daty, které potřebujete.
6.2 Rizika a omezení Cloud computing samozřejmě kromě nesporných výhod a zajímavých nových přístupů přináší i svá rizika. Důsledky virtuální centralizace dat, kdy máte svá data uložena u jednoho poskytovatele služeb, přináší řadu problémů a otázek. Fyzicky data budou sice uložena někde v cloudu, pravděpodobně na více místech a dodavatel bude provádět zálohování podle přísných pravidel, včetně geografického rozdělení. Přesto bych rád uvedl řadu rizik, které princip cloud computingu přináší zejména pro podnikovou sféru. Přírodní katastrofy – je architektura připravena na možnost reálných přírodních katastrof, je disaster recovery proces dodavatelů cloud computingových služeb dostatečný? Dlouhodobé výpadky elektřiny (blackouty) – v minulých letech jsme byli svědky několika dlouhodobých výpadků, nebo situací, kdy málem došlo k blackoutu, ať už šlo o USA nebo Evropu. Jak dlouho potom vydrží datová centra, než začnou být z důvodů nedostatku elektrického proudu nedostupná? Služba může nečekaně skončit – pokud se poskytovatel rozhodne ukončit poskytovanou službu, nebo je k tomu donucen například bankrotem, je zákazník postaven před situaci, jak své aplikace nebo data migrovat na jinou platformu. Pokud poskytovatel používal speciální, ne úplně běžný způsob uložení dat (jako např. Google Apps), může být velkým problémem i samotné vytažení vlastních dat z této služby. Možnost přechodu mezi jednotlivými platformami cloud computingu – v této oblasti bude nutné nastavit standardy a prostředí pro poskytnutí možnosti přejít mezi různými dodavateli cloud computingu Zneužití a důvěrnost informací – mít informace znamená mít moc. Firmy typu Amazon nebo Google operují s obrovským množstvím soukromých dat. Je otázkou, zda odolají pokušení tato data nikdy nezneužít ve svůj prospěch. Firmy podnikající v oblastech, kde je důvěrnost informací kritická (např. bankovnictví, vojenský výzkum, atd.) asi nikdy nebudou moci přistoupit na umístění svých dat v cloudu. Velké cíle budou také mnohem lákavější pro hackery. Zákazník může v případě úspěšného útoku přijít o svá data, nebo může dojít k úniku jeho dat, i když původním cílem byl někdo úplně jiný. Před tímto nebezpečím varuje i řada autorit v čele se zakladatelem svobodného software Richardem Stallmanem [Guard]. Závislost na dodavateli – pokud zákazník někomu svěří své aplikace a data, ztrácí nad nimi přímou kontrolu. Parametry poskytovaných služeb by měly být ošetřeny v SLA a dalších smlouvách, přesto se zákazník vzdává nezávislosti v IT oblasti a úplné kontroly nad svými daty.
SYSTÉMOVÁ INTEGRACE 2/2009
81
Jiří Svoboda
Omezení, či výpadky služeb – výběr důvěryhodného a spolehlivého dodavatele s minimem výpadků služeb je velmi důležitý. K výpadkům nemusí dojít jen z důvodu chyby dodavatele, ale i v důsledku zneužití služby jinými zákazníky. S tím má své zkušenosti Amazon, u kterého zažilo mnoho klientů minulý rok několikahodinový výpadek z důvodu blokování IP adres určitého rozsahu v důsledku zneužití služeb spammery. Výpadky určitě vždy existovat budou, důležitá je ovšem jejich míra, která by měla být nižší, než kdyby firma provozovala požadované služby interně. Rychlé a spolehlivé připojení k internetu – neustálé, spolehlivé a rychlé připojení k internetu je nutnou podmínkou. Výpadek internetového připojení znamená nedostupnost služeb. Rychlost a stabilitu spojení na servery je před rozhodnutím pro vybranou službu nutné kvalitně otestovat. Objevují se částečná řešení tohoto problému, kdy některé firmy nabízí interní cloudy. Zákazník má v tomto případě většinu infrastruktury vlastní a na ní běží cloudové služby, přičemž může být zároveň napojen přes internet do systému poskytovatele a tam se může například provádět zálohování a synchronizace dat. Geografické umístění dat – v určitých případech může být pro uživatele důležité vědět, kde jsou fyzicky jeho data uložena a může mít specifické požadavky ohledně jejich uložení, jsou na to poskytovatelé připraveni? Nabízí se i problematika umístění dat v různých zemích s různou legislativou, která je vždy nadřazena smluvním vztahům mezi soukromými subjekty. Upgrade, zapracování nových požadavků – pokud zákazník potřebuje rozšířit poskytovanou službu v rámci funkcionality, kterou dodavatel nabízí, nebude to zpravidla problém. Co se ale stane, pokud dodavatel požadované rozšíření nenabízí a nechce ho speciálně vyvinout. Existuje otevřené rozhraní do systémů poskytovatele, aby rozšíření mohla vyvinout třetí strana? Obecně mívají velcí poskytovatelé zpravidla data lépe zabezpečena, než většina jejich zákazníků, včetně plánů na případné disaster recovery. Problémem ovšem může být situace, kdy zákazník požaduje vysokou ochranu dat a ačkoliv se dodavatel zaručuje, že úroveň jeho bezpečnosti je velmi vysoká, má zákazník jen velmi omezené možnosti k ověření. Nikdy se nepodaří vymýtit lidské chyby a důsledky chyb a omylů bývají, v případě firem obstarávajících obrovské množství dat, kritické. Představme si situaci, kdy dojde k výpadku služeb nasazených například v cloudu Amazonu a je postiženo několik tisíc firem, jejich aplikace a servery jsou nedostupné. Jaká bude v té chvíli uživatelská podpora, bude v silách poskytovatele neustále podrobně informovat zákazníky? Rovněž tyto situace zásadním způsobem poškozují důvěru zákazníků. Největším nebezpečím pro cloud computing jako odvětví, vidím ve ztrátě důvěry zákazníků. V extrémním případě, pokud by všechny firmy poskytující služby v oblasti cloud computingu nedokázaly poskytnout odpovídající stupeň bezpečnosti, důvěrnosti, dostupnosti a vůbec celkové kvality služeb, mohlo by to vést k výraznému oslabení potenciálu nebo až ke konci celého modelu. Úspěch cloud computingu totiž závisí především na důvěře a pokud si firmy spočítají, jaké jsou náklady na výpadky jejich aplikací a serverů, mohly by se i přes vysoké náklady rozhodnout si ponechat potřebnou IT infrastrukturu interně.
82
SYSTÉMOVÁ INTEGRACE 2/2009
Cloud Computing
7. Výhled do dalších let Cloud computing má obrovský potenciál přispět významnému snižování bariér nejen pro nové technologické firmy, ale pro firmy ze všech odvětví, které využívají IT služby. Jsem přesvědčen, že velké příležitosti leží například v oblasti business intelligence (BI), kdy se tyto nástroje nabízené jako služba stanou finančně dostupnými i pro malé firmy, což přispěje ke efektivnějšímu řízení a kvalitnějšímu rozhodování jejich managementu. Velké firmy, které si mohou dovolit provozovat náročné a robustní BI řešení, tak přijdou o jednu ze svých konkurenčních výhod. Podobně se dá pokračovat i u dalších oblastí informačních systémů. Díky prosazování principů cloud computingu bude docházet k postupné “demokratizaci” přístupu k výpočetním prostředkům, kdy uživatelé nebudou muset vlastnit výkonnou hardwarovou strukturu, aby měli možnosti, které donedávna poskytovaly jen rozsáhlé podnikové systémy závislé na jednotlivých platformách. Rovněž v oblasti samotného přístupu k vysokému výpočetnímu výkonu se otevírají obrovské možnosti pro každého jednotlivce. Tradičně disponovaly výkonnými výpočetními clustery kromě státních a vojenských organizací jen některé university, výzkumná pracoviště a největší technologické firmy. Cloud computing za zlomek dřívějších nákladů nabízí velmi vysoký výkon každému, kdo si ho jednoduše pronajme. A nemusí jít jen o rozsáhlé služby pro firemní prostředí. Google například nabízí kancelářské prostředí s textovým editorem a spreadsheetem. Nabízí se i další oblasti služeb pro koncové uživatele, například různé grafické programy, nebo zpracování videa. Když chce v současné době uživatel zpracovávat video v HD rozlišení, pro rozumnou práci potřebuje počítač s čtyřjádrovým procesorem. V současné době tedy musí velmi často provést upgrade za několik tisíc nebo desítek tisíc. Pokud bude mít k dispozici aplikaci pro editaci videa běžící v cloudu, zpracuje si video za pár set korun ve virtuálním prostředí a ušetří si tím značné náklady. Samozřejmě je to vše ale podmíněno dostatečně rychlým připojením k internetu. Tyto možnosti jsou dle mého názoru prozatímním vyvrcholením technického vývoje v oboru výpočetní techniky, ke kterému jsme technologicky dospěli. V počátcích výpočetní techniky existovaly jen obrovské superpočítače přístupné omezené skupině odborníků. Ještě před nástupem osobních počítačů se zdálo, že nastane doba jednoduchých terminálů připojených k výkonným mainframům. Příchod osobních počítačů firmy IBM a jejich obrovský úspěch ale na mnoho let situaci naprosto změnil. V blízké budoucnosti se vzhledem k předpokladům, které jsem popsal ve druhé kapitole, situace může opět přiklonit k méně výkonným desktopovým počítačům a terminálům připojených přes internet ke cloudovým službám. Navíc nesmíme zapomínat na to, že cloud computing je multiplatformní, nejde tedy jen o počítače připojitelné ke cloudovým službám, ale jedná se o celou řadu dalších zařízení, například mobilní telefony, specializované laboratorní zařízení, přístroje v domácnosti, automobily. Možná se tak oklikou dostaneme zpátky do situace, kterou popsal v roce 1943 ředitel IBM Thomas Watson “I think there’s a world market for maybe five computers.” Za tento výrok byl mnohokrát kritizován, ale opravdu je možné, že se nadneseně dostaneme do situace, kdy bude na světě existovat několik obřích SYSTÉMOVÁ INTEGRACE 2/2009
83
Jiří Svoboda
cloudů, které budou poskytovat většinu výkonu a diskové kapacity pro používané aplikace. Přestože si v současnosti málokdo dokáže představit masovou existenci jednoduchých terminálů, které by nahradily dnešní poměrně výkonné PC, je tato budoucnost dle mého názoru reálná. Podíváme-li se na úspěch malých a nevýkonných netbooků, které postačují k práci v kancelářských programech a surfování po internetu, může to být pro uvedený vývoj první vlaštovka. Stejně tak tomu nasvědčují způsob, jakým na počítači pracuje ta obrovská masa uživatelů bez jakéhokoliv IT backgroundu. Této skupině opravdu stačí mít přístup na internet a mít možnost si občas něco napsat v textovém editoru (což v současnosti nabízí například Google). Pokud budou mít dostatečnou nabídku služeb v cloudu, přístupných přes internet, pak si s nenáročným netbookem-terminálem úplně vystačí a potřeba mít výkonnější počítač naprosto odpadne. V souvislosti s tímto vývojem se ale musíme mít na pozoru před odevzdáváním svého soukromí do rukou někoho jiného a postupného otevírání osobních informací řadě organizací, státem počínaje. Mohli bychom najednou zjistit, že jsme se dostali do situace blížící se vizi George Orwella. Nicméně obrovský potenciál existuje i v oblasti zábavy a spotřební elektroniky, pokud se do HD televize integruje webový prohlížeč, může televize sloužit jako terminál pro přístup ke službám cloud computingu. Podobná situace může nastat v herním průmyslu, kdy stačí vlastnit jen terminál, speciální konzoli nebo televizi, která se připojí k internetu a protože veškeré výpočty obstarají herní servery umístěné v cloudu, bude sloužit jen k ovládání a zobrazování výstupu. Tím odpadnou hráčům nákladné pravidelné upgrady herních počítačů. Dokonce se již objevují první herní konzole založené na tomto principu. Obrovské rozšíření zcela jistě čeká internetové půjčovny audiovizuálního obsahu, kdy například vybraný film půjde spustit rovnou v televizi. Což souvisí s mnou očekávaným dalším přínosem širokého rozšíření cloudových služeb, a to velmi omezeným prostorem pro nelegální software v dnešním pojetí. Pokud všichni budou nakupovat požadovanou funkcionalitu jako službu, nebude ho nikdo potřebovat, což může elegantně vyřešit problém s autorskými právy. Výše uvedené, někdy až vizionářské úvahy se dle mého názoru týkají horizontu maximálně deseti let. Což je celkem v souladu s očekáváním firmy Gartner, která na své křivce nových technologií předpovídá rozšíření cloud computingu mezi všeobecně přijaté mainstreamové technologie v horizontu dvou až pěti let (viz následující graf).
84
SYSTÉMOVÁ INTEGRACE 2/2009
Cloud Computing
Obrázek 3 - Hype cycle dle firmy Gartner [Gartner Hype 08] Pro všeobecné rozšíření a přijetí cloud computingu jako nového způsobu využití informačních technologií a zároveň snížení jeho rizik, je velmi důležitá otevřenost jednotlivých platforem a přenositelnost zákaznických dat mezi nimi. To může zajistit jedině spolupráce mezi jednotlivými poskytovateli řešení. O zahájení této spolupráce se snaží iniciativa OpenCloud Manifesto, kterou podepsala řada významných firem podnikajících v oblasti cloud computingu v čele s IBM, Sun, HP. Nepřipojily se ovšem všechny firmy, mezi nimi jsou i Salesforce, Amazon a Microsoft, takže na vítaný všeobecný konsensus, si budeme muset ještě počkat.
8. Závěr V této práci jsem se zaměřil na celkové přiblížení a zhodnocení konceptu cloud computingu a na jeho přínosy a rizika. Nezbyl prostor věnovat se více straně poskytovatelů a nutným změnám v jejich byznys modelech a procesech v porovnání se zavedenými způsoby poskytování IT služeb, například ASP. Pokud jde o firemní prostředí, podle některých autorů IT přestává nutně poskytovat konkurenční výhodu a stává se komoditou [Carr 04]. O tom, v jaké míře to platí, je možné diskutovat, ale myslím, že posun v chápání IT a snaha o jeho konzumaci prostřednictvím služeb v posledních letech je velmi zřetelná a logická. V důsledku toho informační technologie v mnoha firmách budou moci přestat být onou „černou skříňkou“, do které se neustále investuje bez toho, aby důsledky těchto investic SYSTÉMOVÁ INTEGRACE 2/2009
85
Jiří Svoboda
měly reálný a vyčíslitelný dopad. Konzumace IT služeb prostřednictvím technologií cloud computingu, tak může přinést nejen výrazné snížení nákladů, ale ve svém důsledku i přímo převratné zprůhlednění řízení podnikových IT služeb, nejen pro velké firmy, které s podobným postupem již mají zkušenosti v rámci modelu ASP, ale díky dostupnosti i pro střední a malé firmy. Zároveň existuje velký potenciál v oblasti služeb pro koncové uživatele, kterých je díky neustále zrychlujícímu a lehce dosažitelnému internetu obrovské a rostoucí množství. V tomto segmentu může dojít k nahrazení většiny nyní desktopových aplikací službami umístěnými v cloudu a přístupnými přes internetový prohlížeč běžící na různých zařízeních. Pro to, aby se výše uvedená očekávání splnila, je velmi důležité uvědomit si rizika a omezení tohoto přístupu a snažit se s nimi co nejlépe vyrovnat. Za nejdůležitější oblasti považuji spolehlivost, bezpečnost a zejména z toho plynoucí důvěra zákazníků. Věřím, že cloud computing má velkou šanci uspět a posunout tradiční vnímání informačních technologií nejen u odborné, ale i laické veřejnosti.
Literatura [Foster] I. Foster, C. Kesselman. Chapter 2 of "The Grid: Blueprint for a New Computing Infrastructure", Morgan-Kaufman, 1999 [Meta] Projekt MetaCentrum. [online] [cit.2009-05-06]. Dostupné na
[Yahoo] Yahoo! Launches World's Largest Hadoop Production Application [online] [cit.2009-04-02]. Dostupné na [Carr 08] CARR, Nicholas. The Big Switch: Rewiring the World, from Edison to Google. Norton, W. W. & Company, Inc. 2008. 224 s. ISBN-13: 9780393062281 [Gartner SaaS 08] Gartner Survey: Saas Adoption Rates in Worldwide Enterprisest [online] [cit.2009-04-26]. Dostupné na [Gartner Hype 08] Where Are We In The Hype Cycle? [online] [cit.2009-04-26]. Dostupné na [Carr 04] CARR, Nicholas. Does IT Matter?: Information Technology and the Corrosion of Competitive Advantage. Perseus Distribution Services. 2004. 208 s. ISBN-13: 9781591394440 [Wave] Web 2.0 WYSIWYG Ajax Development [online] [cit.2009-04-08]. Dostupné na [SForce] Platform as a Service (PaaS) - Powering On-Demand SaaS Development [online] [cit.2009-04-08]. Dostupné na [LongJump] Platform as a Service (PaaS) - Powering On-Demand SaaS Development [online] [cit.2009-04-08]. Dostupné na [Bungee] Platform as a Service: Bungee Connect is Platform as a Service. [online] [cit.2009-04-08]. Dostupné na 86
SYSTÉMOVÁ INTEGRACE 2/2009
Cloud Computing
[Amazon] Amazon Web Services. [online] [cit.2009-04-25]. Dostupné na [Google] Google App Engine. [online] [cit.2009-04-28]. Dostupné na [Microsoft] Azure Services Platform. [online] [cit.2009-04-28]. Dostupné na [GoGrid] GoGrid Cloud Hosting : Instant Windows and Linux Cloud Servers. [online] [cit.2009-04-28]. Dostupné na [Flexiscale] FlexiScale - Utility Computing On-Demand. [online] [cit.2009-04-30]. Dostupné na [Abakowiki] Abakowiki - firemní wiki jako služba. [online] [cit.2009-03-30]. Dostupné na [GoodData] Good Data - Collaborative Analytics On Demand. [online] [cit.2009-0501]. Dostupné na http://www.gooddata.com/ [Right] Animoto’s Facebook scale-up. [online] [cit.2009-05-03]. Dostupné na [Grid] Grid Cafe [online] [cit.2009-03-30]. Dostupné na [Cluster] Cluster (computing) [cit.2009-03-30]. Dostupné na [Elastic] ElasticVapor :: Life in the Cloud [online] [cit.2009-02-08]. Dostupné na [Rough] Rough Type: Nicholas Carr's Blog [online] [cit.2009-05-06]. Dostupné na [Guard] Cloud computing is a trap, warns GNU founder [online] [cit.2009-05-20]. Dostupné na [EGEE] Comparative Study: Grids and Clouds, Evolution or Revolution? [online] [cit.2009-05-20]. Dostupné na [Voříšek 08] VOŘÍŠEK, Jiří a kolektiv. Principy a modely řízení podnikové informatiky, Oeconomica 2008. 446 s. ISBN 978-80-245-1440-6 [Show] SaaS Showplace [online] [cit.2009-05-20]. Dostupné na [CircleID] Cloud Computing Types: Public Cloud, Hybrid Cloud, Private Cloud Showplace [online] [cit.2009-05-20]. Dostupné na [Cloud] Cloud Computing [cit.2009-05-20]. Dostupné na
SYSTÉMOVÁ INTEGRACE 2/2009
87