˝ CLOUD COMPUTING – SZÁMÍTÁSI FELHO
PhD Szigorlat
Soós Sándor
Témavezet˝o: Dr. Jereb László, Dr. Do Van Tien NYUGAT-MAGYARORSZÁGI EGYETEM FAIPARI MÉRNÖKI KAR CZIRÁKI JÓZSEF FAANYAGTUDOMÁNY ÉS TECHNOLÓGIÁK DOKTORI ISKOLA 2010. július 5.
Tartalomjegyzék 1. Bevezetés 1.1. A cloud computing fogalma . . . . . . . . . . . . . . . . . . . . 1.2. Alternatív definíciók . . . . . . . . . . . . . . . . . . . . . . . . 2. Cloud computing rendszerek 2.1. Hagyományos webes szolgáltatások . . . . . . . . . . . 2.1.1. Tárhelyszolgáltatások . . . . . . . . . . . . . . 2.2. Complex cloud computing rendszerek . . . . . . . . . . 2.2.1. Google Szolgáltatások – Google Apps . . . . . . 2.2.2. SalesForce . . . . . . . . . . . . . . . . . . . . 2.2.3. GlideDigital . . . . . . . . . . . . . . . . . . . 2.2.4. RackSpace . . . . . . . . . . . . . . . . . . . . 2.2.5. Zoho . . . . . . . . . . . . . . . . . . . . . . . 2.2.6. Microsoft Azure . . . . . . . . . . . . . . . . . 2.2.7. Amazon Elastic Compute Cloud (Amazon EC2) 2.3. Cloud computing operációs rendszerek . . . . . . . . . . 2.3.1. Google Chrome OS . . . . . . . . . . . . . . . . 2.3.2. Jolicloud . . . . . . . . . . . . . . . . . . . . . 3. Cloud computing rendszerek megvalósítása 3.1. Típusok . . . . . . . . . . . . . . . . . . . . . . 3.1.1. Publikus számítási felh˝ok – Public clouds 3.1.2. Privát számítási felh˝ok – Private clouds . 3.1.3. Hibrid számítási felh˝ok – Hybrid clouds . 3.1.4. Vertikális felh˝ok – Vertical clouds . . . . 3.2. Követelmények . . . . . . . . . . . . . . . . . . 3.2.1. Skálázhatóság – Scalability . . . . . . . . 3.2.2. Megfelel˝oség – Availability . . . . . . . 3.2.3. Biztonság – Security . . . . . . . . . . . 3.2.4. Rugalmasság – Flexibility . . . . . . . . 3.2.5. Karbantarthatóság – Serviceability . . . . 3.2.6. Hatékonyság – Efficiency . . . . . . . . 3.2.7. Megbízhatóság – Reliability . . . . . . . 2
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
4 4 5
. . . . . . . . . . . . .
7 7 7 8 9 9 11 11 13 13 13 14 14 14
. . . . . . . . . . . . .
14 14 15 15 16 16 17 17 18 18 18 18 19 19
3.2.8. Horizontális skálázás – Horizontal scaling 3.3. A számítási felh˝ok felépítése . . . . . . . . . . . 3.3.1. Alkalmazások . . . . . . . . . . . . . . . 3.3.2. Kliensek . . . . . . . . . . . . . . . . . 3.3.3. Platformok . . . . . . . . . . . . . . . . 3.3.4. Infrastruktúra . . . . . . . . . . . . . . . 3.4. Szolgáltatás . . . . . . . . . . . . . . . . . . . . 3.4.1. Virtualizáció . . . . . . . . . . . . . . . 3.5. Menedzsment . . . . . . . . . . . . . . . . . . . 3.5.1. Virtuális infrastruktúra menedzsment . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
20 20 20 20 21 21 22 22 23 23
4. State of art – Napjaink kihívásai 24 4.1. Szabványosítás . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5. Faipari-erdészeti alkalmazási lehet˝oségek 25 5.1. Számítási felh˝o alkalmazása az erdészeti modellezésben . . . . . 25
3
1. 1.1.
Bevezetés A cloud computing fogalma
Napjainkban körülnézve az informatikai piacon két, látszólag egymásnak ellentmondó tendenciát figyelhetünk meg. Egyrészt egyre olcsóbban vásárolhatunk egyre nagyobb teljesítmény˝u hardver és szoftver megoldásokat. Egyre nagyobb számítási és tároló kapacitásokat halmozhatunk fel az íróasztalunkon. Közhely, hogy egy mai átlagos notebook, vagy asztali számítógép teljesítménye sokszorosa a néhány évvel ezel˝ott használt szerverszámítógépek teljesítményének. Másrészt egyre kisebb méret˝u informatikai eszközöket szeretnénk használni a munkánk elvégzéséhez, vagy a szórakozáshoz. Meg is találjuk az ezt lehet˝ové tev˝o eszközöket a piacon. Mobiltelefonnal, PDA-val tudunk dokumentumokat szerkeszteni, összetett számításokat elvégezni, vagy bárhol, bármikor csatlakozhatunk az Internetre és ott szinte mindent elvégezhetünk ugyanúgy, mintha az irodánkban ülnénk. A zsebünkben lév˝o készülék azonban sokkal kisebb teljesítmény˝u, mint az irodai számítógépünk. Hogyan lehetséges ez? A megoldást kulcsa az Internet. A szélessávú Internet-hozzáférés általánosan elérhet˝ové válása lehet˝ové tette, hogy egy egyszer˝u, kisteljesítmény˝u számítógéppel csatlakozzunk bármely más számítógéphez, legyen az az otthoni, vagy irodai számítógépünk, a cégünk szervere, vagy bármely nyilvános szerver az Interneten. A technikai lehet˝oség megléte, és a felhasználók igénye létrehozott és széleskör˝uen elérhet˝ové tett egy új technológiát, amit angolul cloud computingnak, magyarul számítási felh˝onek nevezünk. Az ötlet és az elnevezés nem új kelet˝u, de csak az utóbbi években vált széleskörben ismertté és elérhet˝ové. Felh˝onek szoktuk nevezni és ábrázolni az informatikai rendszer azon részeit, amelyeknek bels˝o felépítésével és m˝uködésével az adott vizsgálati szinten nem foglalkozunk, fekete doboznak tekintjük, csak a külvilág felé meglév˝o kapcsolatait vesszük figyelembe. 1. ábra. Ezt a szimbolikus képet felhasználva cloud computing-nak, vagy számítási felh˝onek nevezzük azokat a rendszereket, amelyekben az informatikai rendszer által elvégzend˝o m˝uveleteket, számításokat, vagy azok kisebb-nagyobb hányadát a helyi számítógépeinkr˝ol a „felh˝obe” telepítjük, azaz olyan szerverek végzik el ezeket, amelyek helyér˝ol, fizikai felépítésér˝ol, m˝uködésér˝ol nincsen közvetlen információnk és nincsen befolyásunk rájuk. Ekkor a helyi számítógépünkön elég egy böngész˝oprogramot futtatnunk (vékony kliens), minden más funkciót, az adatok tárolásától az azokon elvégzend˝o m˝uveletekig egy vagy több távoli szerver hajt végre. Így lehetséges, hogy helyi számítógépként akár egy régi számítógépet, vagy egy kicsi, hordozható készüléket használjunk minimális memóriával és akár 4
1. ábra. Internet felh˝o. Forrás: www.oxygenit.com.au háttértár nélkül. A „felh˝o” belsejével, annak m˝uködésével általában nem foglalkozunk, mi csupán egy szolgáltatást veszünk igénybe éppen úgy, ahogyan az elektromos áramot vásároljuk az áramszolgáltatótól. Ebben a dolgozatban azonban éppen ezzel fogunk foglalkozni, megvizsgáljuk milyen fajtái, típusai lehetnek a Számítási felh˝onek, és azok hogyan m˝uködnek. Az alapötlet már a számítástechnika h˝oskorában felmerült, 1961-ben John McCarthy fogalmazta meg azt az elképzelését, hogy egy szép napon eljön az id˝o, amikor a számítástechnika közszolgáltatássá, közm˝uvé válik, hasonlóan az áram-, víz-, vagy gázszolgáltatáshoz. („computation may someday be organized as a public utility” [6].) Abban az id˝oben még szó sem volt a mai Internetr˝ol, egyes vállalatok m˝uködtettek számítóközpontokat, ahol szobányi méret˝u számítógépek m˝uködtek, amelyekhez terminálokon keresztül csatlakozhattak a munkatársak, így végezhettek el különböz˝o számításokat. John McCarthy valószín˝uleg arra gondolhatott, hogy majd eljön az id˝o, amikor ilyen terminált bárki vásárolhat és a lakásába bekötött vonalon keresztül csatlakozhat a számítóközponthoz. Akkoriban erre legfeljebb a számítóközpontot üzemeltet˝o cég vezet˝o munkatársainak volt lehet˝osége, ha elég közel laktak a számítóközponthoz. Ma az Internet és f˝oként a szélessávú Internet elterjedésével megnyílt a lehet˝oség a jóslat beteljesítésére. A cloud computing rendszerek létrehozásával egy jelent˝os lépést teszünk ebbe az irányba. Nézzük mir˝ol is van szó!
1.2.
Alternatív definíciók
Nehéz egyértelm˝uen meghatározni, hogy mit is értünk cloud computing alatt. Ebben a dolgozatban megpróbálom tág értelemben kezelni a fogalmat és minél több olyan rendszert megvizsgálni és bemutatni, ami ide sorolható. 5
Els˝o megközelítésben azt mondhatjuk, hogy cloud computingnak nevezzük azokat a rendszereket, amelyek lehet˝ové teszik, hogy olyan fájlokkal, dokumentumokkal és programokkal dolgozzunk, amelyek nem a lokális számítógépen találhatók, hanem valahol a „felh˝oben” egy szerveren [8], [9]. Ebben az értelemben egy levelez˝o szervert is cloud computing rendszernek tekinthetünk. Az igazán érdekes cloud computing rendszerek azonban azok, amelyek olyan „nagy” alkalmazásokat futtatnak, vagy olyan adatbázisokat kezelnek a „felh˝oben”, amelyek nem lennének megoldhatók egy átlagos helyi számítógépen. A cloud computing fogalmának megértésében nagy segítséget nyújthat egy érdekes párhuzam a villamosenergia-szolgáltató rendszerek fejl˝odésével. Ezt a példát Nicholas G. Carr fejti ki a "The Big Switch" cím˝u könyvében [3]. Kezdetben az emberiség energiaigényét közvetlenül a természetes energiaforrások (víz, szél, h˝oforrások) felhasználásával elégítette ki. Ezek tárolására és elszállítására nem volt lehet˝oség, ezért az üzemek közvetlenül az energiaforrásokhoz (patakok, szeles fennsíkok) települtek és csak akkor tudtak dolgozni, amikor az energia rendelkezésre állt. Ezen a problémán segített az elektromos áram, de ez kezdetben az egyenáramot jelentett, ami nem volt hatékonyan szállítható nagyobb távolságra, ezért a vállalatok maguk állították el˝o az áramot. Az igazi megoldást a váltóáram és a transzformátor feltalálása és bevezetése jelentette, ami lehet˝ové tette az áram olcsó szállítását nagyobb távolságra is. Így lehet˝ové vált, hogy egyes vállalatok szakosodjanak az áram el˝oállítására és a megrendel˝okhöz való eljuttatására. Így o˝ k ezt hatékonyabban tudták megtenni, a többi vállalat pedig koncentrálhatott a saját munkájára, az áram el˝oállításának problémája a fali csatlakozó használatára egyszer˝usödött. Ha megvizsgáljuk a számítástechnika fejl˝odését, azt találjuk, hogy ugyanezeket a fázisokat járta végig. Az egymásnak megfeleltethet˝o fejl˝odési szakaszokat az 1. táblázatban foglaljuk össze. energiaszolgáltatás számítástechnika vízimalom helyi mainframe saját, vállalati áramfejleszt˝o személyi számítógép helyi, közösségi er˝om˝uvek kliens-szerver rendszerek központi er˝om˝uvek, áramszolgáltató közm˝u cloud computing 1. táblázat. Az energiaszolgáltatás és a számítástechnika fejl˝odésének párhuzamos szakaszai A cloud computing tehát egy informatikai közm˝u-szolgáltatás. Vannak szolgáltatók, akik szervereket üzemeltetnek és szolgáltatásokat nyújtanak a megrendel˝oknek. A szolgáltató garantálja az állandóan m˝uköd˝o, a megrendel˝o által igényelt kapacitású szervereket, az azokon futó, szintén a megrendel˝o által meghatáro6
zott szoftvereket az operációs rendszert˝ol a kívánt felhasználói alkalmazásokig. A szolgáltató gondoskodik minden szükséges háttérszolgáltatásról (hardver és szoftver karbantartás, verziókövetés, biztonsági mentés, vírus- és behatolásvédelem, stb.). A megrendel˝o mindezekért a szolgáltatásokért az igénybevétel arányában fizet a megkötött szerz˝odés szerint. Nincsen szükség semmilyen beruházásra sem induláskor, sem kés˝obb. A cloud computing lényege tehát, hogy a megrendel˝o minden számára szükséges informatikai eszközt szolgáltatásként vásárol meg a szolgáltatótól. Nem vásárol és nem bérel fizikai szervereket, tárolóeszközöket, szoftvereket, hanem szolgáltatásokat vásárol. Ez teszi lehet˝ové, hogy a szolgáltató gazdálkodni tudjon az eszközeivel, ezáltal gazdaságosan tudja nyújtani a szolgáltatásokat.
2.
Cloud computing rendszerek
Miel˝ott közelebbr˝ol megvizsgálnánk a cloud computing rendszerek felépítését, m˝uködését, áttekintünk néhány gyakorlatban használható és kipróbálható rendszert. A rendelkezésre álló rövid id˝o és a sz˝ukös anyagi lehet˝oségek nem teszik lehet˝ové, hogy alaposan kipróbáljuk az egyes eszközöket, néhány jellemz˝o példát azonban bemutatunk a következ˝o pontokban. A legtöbb szolgáltató lehet˝ové teszi a funkciók ingyenes kipróbálását és különböz˝o árakon kínál egyre többet nyújtó szolgáltatásokat. Én az ingyenes lehet˝oségeket próbáltam ki.
2.1.
Hagyományos webes szolgáltatások
Ahogyan korábban már említettük a cloud computing alapötlete nem új dolog, sok olyan szolgáltatást használtunk korábban is az Interneten, amelyek ide sorolhatók. Például ilyenek a webes levelez˝o- és tárhelyszolgáltatások, vagy sok web 2.0 szolgáltatás. Ezek vizsgálata egy külön dolgozat tárgya lehetne, most csak a tárhelyszolgáltatásokkal foglalkozunk röviden, mert ezek kevésbé közismertek, és fontos szerepük lesz a vékony kliensek üzemeltetésekor. 2.1.1.
Tárhelyszolgáltatások
A levelezés mellett az egyik leggyakoribb cloud computing szolgáltatás a tárhelyszolgáltatás. Vannak olyan szolgáltatók, amelyek csak tárhelyet adnak webes, vagy FTP-n keresztüli eléréssel, mások további szolgáltatásokat is kínálnak, pl. saját fel-letölt˝o programok, konverziók, stb. Az online tárhelyszolgáltatásoknak fontos szerepük van a cloud computing rendszerekben, hiszen a vékonykliens technológia akkor tud igazán olcsó és 7
könnyen üzemeltethet˝o lenni, ha nincsen helyi tárolóhely, aminek üzemeltetése külön feladatot jelentene (pl. lokális vírusvédelem). Ugyanakkor a vastagkliensek esetében is fontos szerepe van a bárhonnan elérhet˝o, egyszer˝uen megosztható tárolóhelynek. A 2. táblázatban bemutatunk néhány általános célú, ingyenesen is elérhet˝o tárhelyszolgáltatást. Szolgáltatás Dropbox
Webcím www.dropbox.com
BoxNet 4shared Microsoft Office Workspace Live Mozy
www.box.net www.4shared.com workspace.office.live.com
ADrive Data.hu
www.adrive.com data.hu
mozy.com
Megjegyzés ingyenes limit 2 GB, automatikus tükrözés a lokális háttértáron ingyenes limit 1 GB ingyenes limit 10 GB Office programokba integrálható online mentés
2 GB ingyenes tárhely, automatizálható online archiválás ingyenes limit 50 GB Korlátlan ingyenes tárhely, de a fájlok maximális mérete egyenként 100 MB lehet
2. táblázat. Általános célú webtárhely szolgáltatások
Speciális tárhelyszolgáltatások. Az el˝oz˝o pontban bemutatott általános tárhelyszolgáltatások mellett vannak olyan szolgáltatók, amelyek csak meghatározott típusú adatok feltöltését és tárolását engedélyezik. Ha eltérünk a szabályoktól, akkor el˝oször figyelmeztetést kapunk, ha a megadott id˝on belül nem javítjuk ki a hibát, akkor a szolgáltató törölheti regisztrációnkat a rendszerb˝ol. Ezekben a rendszerekben további szolgáltatásokat is kapunk a tárhely mellett. A webtárhelyek esetében gyakori a PHP és adatbázis szolgáltatás, a fotóés videótárhelyeken pedig a képek videók kezeléséhez kapunk segédeszközöket: képszerkesztés, videóvágás, geográfiai adatok hozzárendelése, stb.
2.2.
Complex cloud computing rendszerek
Az eddigiekben bemutatott rendszerek csak egy-egy részterületet fednek le a lehetséges informatikai szolgáltatások közül. Ebben a fejezetben olyan szolgáltatásokat mutatunk be, amelyek több részterületet is kiszolgálnak egymástól 8
függetlenül, vagy kombinálva azokat. Néhány szolgáltatás teljes egészében képes kielégíteni egy irodai felhasználó igényeit. Ez a megoldás valósítja meg ténylegesen a cloud computing alapötletét, miszerint a helyi számítógépen mindössze egy vékony kliens fut, minden mást cloud szolgáltatásként valósítunk meg. 2.2.1.
Google Szolgáltatások – Google Apps
A Google cég nagyon sok szolgáltatást nyújt, amelyek a cloud computing kategóriájába sorolhatók. Ahogyan korábban említettük, tág értelemben már maga a közismert levelez˝oszolgáltatás is cloud computing szolgáltatásnak tekinthet˝o, ha azonban hozzávesszük a többi kiegészít˝o funkciót, amelyeket a levelez˝o rendszerbe történ˝o regisztrációval szintén elérhetünk, akkor már egyértelm˝uen cloud computing szolgáltatásokat kapunk ráadásul ingyenesen. A rendelkezésre álló sok szolgáltatás közül bemutatunk néhányat a 3. táblázatban. A Google Apps szolgáltatáscsomag keretében az ingyenes használat során megismert funkciókat meg is vásárolhatjuk. Ilyenkor saját domain nevünkkel használhatjuk a rendszert, állandó támogatást és 99.9%-os rendelkezésre állást garantál a Google. A Google Apps szolgáltatások integrálhatók más cloud computing szolgáltatásokkal, például a következ˝o pontban bemutatásra kerül˝o SalesForce is ezt a megoldás használja. 2.2.2.
SalesForce
http://www.salesforce.com A klasszikus cloud computing szolgáltató, 1999 óta van a piacon. A szolgáltatás 3 f˝o részre tagolódik: • Customer Relationship Management: egy teljes funkcionalitású online CRM rendszer • Force.com Platform: egy Platform-as-a-Service típusú szolgáltatás, aminek segítségével cloud alkalmazások készíthet˝ok, amelyek integrálhatók a SalesForce alaprendszerbe. Az alkalmazások egy Java-szer˝u nyelven (APEX) készíthet˝ok el • Chatter: a SalesForce a felhasználók együttm˝uködését, csoportmunkát támogató platformja A SalesForce segédfunkciói: • AppExchange: a küls˝o fejleszt˝ok által a Force.com Platformon készített cloud alkalmazások könyvtára 9
Szolgáltatás Webcím Calendar www.google.com/calendar Ez a naptárszolgáltatás felveszi a versenyt a legtöbb sajátgépre telepíthet˝o hasonló célú alkalmazással. Online jellegéb˝ol adódóan pedig olyan funkciókat nyújt, amelyek el sem képzelhet˝ok a hagyományos programok esetében. A munkacsoportos naptárprogramok (pl. Lotus Notes) funkcióit kiterjeszti a teljes Internetre és minden regisztrált felhasználóra. Például a naptárainkat részben vagy egészben megoszthatjuk az összes regisztrált felhasználóval, vagy kiválaszthatjuk azokat, akiknek engedélyezzük a hozzáférést olvasási és/vagy írási jogosultsággal. Documents docs.google.com A leggyakoribb irodai alkalmazások (szövegszerkeszt˝o, táblázatkezel˝o, prezentációkészít˝o, rajzolóprogram) megvalósítása webes szolgáltatásként. A dokumentumokat a Google szerverén tároljuk, a programok pedig egy böngész˝o program alatt futnak AJAX technológiával. Természetesen tudunk importálni és exportálni az elterjedt fájlformátumok között és a legtöbb megszokott funkciót használhatjuk. A dokumentumokat egyetlen mozdulattal megoszthatjuk a többi felhasználóval. Arra az esetre, amikor Internetkapcsolat nélkül szeretnénk használni a szolgáltatásokat, telepíthetünk egy programot (Google Gear), ami ezt is lehet˝ové teszi. Ha újra létrejött a kapcsolat, akkor a rendszer szinkronizálja a lokális és a szerveren lév˝o dokumentumainkat. Translator translate.google.hu Online fordító szolgáltatás, segítségével tetsz˝oleges szövegeket, vagy teljes weboldalakat fordíthatunk le szinte bármely két nyelv között. A fordítás természetesen nem hibátlan, s˝ot. . . . Idegen nyelv˝u oldalakon, dokumentumokban való tájékozódásra, nyers fordításra azonban alkalmas magyar nyelven is. A szolgáltatás beépül sok más Google szolgáltatásba, például a keres˝oszolgáltatásba is. Maps maps.google.hu M˝uholdképek és digitális térképek integrált adatbázisára épül˝o térképkezel˝o és útvonaltervez˝o szolgáltatás. 3. táblázat. Néhány Google szolgáltatás
10
• Customization: a felhasználó testreszabhatja a saját online CRM rendszerét • Web services: a webes interface mellett rendelkezésre áll egy SOAP alapú web service API, aminek segítségével integrálható a SalesForce más cloud computing alapú, vagy hagyományos rendszerekkel • Mobile support: 2009 óta használható a SalesForce rendszere Blackberry, iPhone és Windows Mobile alapú mobileszközökkel is • Nyelvi támogatás: a SalesForce felülete több tucat nyelven használható, köztük magyarul is • Próba: 30 napos ingyenes licensszel kipróbálható a rendszer 2.2.3.
GlideDigital
http://www.glidedigital.com/ A Glide OS 4.0 egy teljes cloud computing operációs rendszer. Egyetlen böngész˝o program használatával elérünk egy teljes operációs rendszert és az ingyenes verzióban 30 GB, évi 50$-ért 250 GB méret˝u tárhelyünket. Az alkalmazások lefedik a szokásos irodai funkciókat, szövegszerkesztés, táblázatkezelés, prezentációkészítés, képszerkesztés, weblapkészítés, levelezés, naptár. Természetesen mindent kényelmesen megoszthatunk a munkatársakkal, az ingyenes változatban is 6 munkatársat vonhatunk be a munkacsoportunkba. 2.2.4.
RackSpace
http://www.rackspacecloud.com/ http://en.wikipedia.org/wiki/Rackspace_Cloud Egyike volt az els˝o kereskedelmi cloud computing szolgáltatóknak, 2006. március 4-én indult, akkor még MOSSO LLC néven. 2009-ben vette fel a RackSpace Cloud nevet. Cloud Files: Korlátlan méret˝u online tárhely tetsz˝oleges adatok tárolására és nagy sávszélesség˝u elérésére, mindig csak annyi tárhely után kell fizetni, amennyit éppen használunk (15¢/GB/hónap). A Cloud Files alatti tárhely eléréséhez több különböz˝o módszer közül választhatunk: • Online control panel • RESTful API (http://en.wikipedia.org/wiki/REST): Egy nyílt forráskódú programozási felület a következ˝o nyelvekhez: C#/.NET, Python, PHP, Java és Ruby 11
• Content Distribution Network (CDN) (http://en.wikipedia.org/ wiki/Content_Delivery_Network): Ez a módszer optimalizálja az Interneten tárolt adatok elérését oly módon, hogy elosztott módon tárolja az adatokat, és mindig a leggyorsabban elérhet˝o példányból szolgálja ki a kéréseket. Az ötletnek van több ingyenes és kereskedelmi megvalósítása is. A RackSpace a Limelight Networks kereskedelmi megoldását használja. • Lokális fájlrendszer: A Jungle Disk (http://en.wikipedia.org/ wiki/Jungle_Disk) online archiváló rendszer segítségével lokális fájlrendszerként is felcsatolható a támogatott operációs rendszerek (Linux, Mac OS X és Windows) alá. Az adatok hardvermeghibásodás elleni védelme érdekében a Cloud Files folyamatosan három teljes másolatot tart fenn és tart szinkronban különböz˝o helyeken. Az illetéktelen hozzáférés ellen az Online Control Panel és az API SSL-lel védett, törléskor pedig azonnal nullázza a felszabadított tárhelyet (purge). Cloud Servers: Az Amazon EC2-höz hasonló cloud infrastruktúra szolgáltatás, a felhasználók tetsz˝oleges számú virtuális szervert rendelhetnek, meghatározott virtuális „fizikai” paraméterekkel (processzor, memória, lokális háttértárak). A szervereken különböz˝o Linux disztribúciók futtathatók (Arch, CentOS, Debian, Fedora, Gentoo, Red Hat és Ubuntu), a megrendel˝o teljes root jogot kaphat minden szerveren. A szervereket egy önálló API (Cloud Server API) segítségével menedzselhetjük. A Microsoft Windows szerverek támogatása jelenleg a béta verziónál tart. Ebben az esetben is csak a mindenkor használt szerverek után kell fizetnünk (10.95$/hónap, vagy 1,5¢/óra) Cloud Sites: Egy Cloud platform szolgáltatás, ami hasonlít a hagyományos web hostinghoz, de egy skálázható szerverparkon fut. A Cloud Servers szolgáltatással ellentétben nem egy teljes szervert vásárolunk, nem kapunk root jogot sem. Ezzel szemben egy adott kapacitású webszerver-szolgáltatást vásárolunk. A szolgáltató gondoskodik arról, hogy mindig rendelkezésre álljon az ehhez szükséges infrastruktúra. A szolgáltatást úgynevezett számítási ciklusokban mérik. Az alapszolgáltatás havi 10 ezer számítási ciklust tartalmaz, ami megfelel egy 2.8 GHz-es modern processzorral felszerelt szerver teljesítményének. Ha ez nem elegend˝o, akkor külön térítési díjért vásárolhatunk további kapacitásokat. Control Panel: Az összes Rackspace szolgáltatást az online Control Panel alkalmazás segítségével menedzselhetjük. 12
2.2.5.
Zoho
http://www.zoho.com/ Bizonyos értelemben egyesíti a SalesForce és a GlideDigital funkcióit. Egyaránt elérhetjük a megszokott irodai és a CRM funkciókat kiegészítve egy projektmenedzsment modullal is. A szövegszerkeszt˝o program rendelkezik egy nagyon ritka szolgáltatással. A PDF export ma már nem számít egyedülállónak, a LATEX exportra viszont nem sok szövegszerkeszt˝o képes a piacon, ráadásul ingyen. Érdekes példát mutat a rendszer a különböz˝o cloud platformok közötti együttm˝uködésre. Egyrészt a rendszerbe való belépéskor választhatjuk azt az opciót, hogy a Google accountunkkal lépünk be, másrészt képes importálni a Google postafiókunkban meglév˝o partnereink adatait. Ilyenkor a Google (azonosítás után) megkérdezi, hogy kiadhatja-e ezeket az adatokat a kérést kezdeményez˝o (Zoho) szolgáltatónak. Mi pedig eldönthetjük, hogy megbízunk benne, vagy visszautasítjuk a kérést. 2.2.6.
Microsoft Azure
http://www.microsoft.com/windowsazure/ A Microsoft cloud computing megoldása. 2010. január 1-én indult az éles szolgáltatás, Magyaroszágon pedig 2010. április 1-én. A Microsoft megszokott szerver szoftvereinek funkcióit használhatjuk felh˝oszolgáltatásként (Windows Azure, SQL Azure, Azure Drive). Visual Studioval fejleszthetünk alkalmazásokat az Azure-ra, de futtathatók rajta hagyományos alkalmazások is. A magyarországi el˝ofizet˝oket els˝osorban a dublini adatközpontból szolgálja ki a Microsoft, de több adatközpont m˝uködik, illetve készül Európában, Amerikában és Ázsiában is. A Microsoft és a megrendel˝o is meghatározhatja, hogy a futtatni kívánt szolgáltatások melyik adatközpontokban fussanak optimalizálva a rendszer ered˝o teljesítményét. 2.2.7.
Amazon Elastic Compute Cloud (Amazon EC2)
http://aws.amazon.com/ec2/ Az el˝oz˝o pontokban sorravett szolgáltatások azonnal használható cloud alkalmazásokat kínálnak a felhasználónak. Ezzel szemben az Amazon EC2 a rendszer alapját kínálja a megrendel˝onek. Ennek keretében üres virtuális szervereket bérelhetünk a szolgáltatótól. Kiválaszthatjuk, hogy a felkínált listából milyen szerver image-et szeretnénk futtatni rajtuk, vagy készíthetünk saját Amazon Machine Image (AMI) fájlt is. A rendszer Linux/UNIX és Windows szervereket támogat eltér˝o díjakért. Windows szerver futtatásáért magasabb óradíjat kell fizetnünk! 13
Ha eldöntöttük, hogy milyen szervert, vagy szervereket szeretnénk futtatni, akkor az AWS Management Console segítségével interaktív módon, vagy a Web service API segítségével programozottan tudjuk elindítani, menedzselni, majd leállítani a szervereket. Az elindított szerverekkel ugyanúgy dolgozhatunk, mintha azok a saját számítógépünkön futnának. A számlázás alapja a szerverek futási ideje, azaz a szerver elindításától a leállításáig eltelt id˝o alapján fogunk fizetni. Ezért nagyon fontos, hogy mindig állítsuk le a szervereket, ha már nincsen szükségünk a szolgáltatásaira. A virtuális szerverek semmilyen adatot nem tárolnak a leállítás után, ezért ha szükségünk van adatok tárolására, akkor arra is megoldást kell találnunk. Több különböz˝o megoldást kínál az Amazon is (S3-Simple Storage Service, EBS-Elastic Block Storage, RDS-MySQL az Amazonon belül) külön díjazásért, vagy használhatunk más tárhely szolgáltatást.
2.3.
Cloud computing operációs rendszerek
2.3.1.
Google Chrome OS
2.3.2.
Jolicloud
3.
Cloud computing rendszerek megvalósítása
Miután bemutattunk néhány konkrét, m˝uköd˝o cloud computing megoldást, megvizsgáljuk hogyan épülnek fel és hogyan m˝uködnek ezek a rendszerek.
3.1.
Típusok
Különböz˝o források három, vagy négy típusba sorolják a számítási felh˝oket. Publikus, privát és hibrid felh˝okr˝ol szokás beszélni aszerint, hogy ki és hol üzemelteti a felh˝ot. Nem mindenki különbözteti meg a vertikális, vagy más néven közösségi felh˝oket. Ahogyan a bevezet˝oben beszéltünk róla, a cloud computing egyik lényeges tulajdonsága, hogy a felhasználó nem maga üzemelteti az informatikai infrastruktúrát, hanem egy szolgáltatótól béreli azt, mint egy szolgáltatást. Ebben az értelemben a publikus felh˝oket nevezhetnénk igazi számítási felh˝onek. Másfel˝ol azonban ugyanezt a technológiát megvalósíthatjuk egy cégen belül is, ilyenkor beszélünk privát felh˝or˝ol, és kombinálhatjuk is a két megoldást, ez a hibrid felh˝o. 2. ábra. Ha pedig valamilyen szempontból összetartozó megrendel˝ok (pl. azonos szakterületen m˝uködnek) használnak egy felh˝o szolgáltatást, akkor vertikális, vagy közösségi felh˝or˝ol beszélünk. 14
2. ábra. Számítási felh˝ok típusai. Forrás: Wikipedia 3.1.1.
Publikus számítási felh˝ok – Public clouds
Szokták küls˝o (external) számítási felh˝onek is nevezni. A felhasználó szempontjából nézve a vállalati t˝uzfalon kívül m˝uköd˝o számítási felh˝o. Tipikusan egy küls˝o szolgáltató üzemelteti az infrastruktúrát, a felhasználó szolgáltatásokat vásárol, illetve bérel. A felhasználó tulajdonában nincsenek hardver-szoftver eszközök, így teljes mértékben mentesül az ezzel járó költségekt˝ol és adminisztratív terhekt˝ol. Csak a felhasználók asztalán lév˝o vékony kliensek üzemeltetése terheli a céget. 3.1.2.
Privát számítási felh˝ok – Private clouds
Szokás bels˝o (internal) számítási felh˝onek is nevezni. A vállalati t˝uzfalon belül m˝uköd˝o számítási felh˝o. Lényegében a hagyományos vállalati számítóközpontról, van szó, de ha abban megvalósítjuk a cloud computing elveit (pl. virtualizáljuk a szervereket), akkor indokolt azt mondani, hogy az informatikai osztály szolgáltatásként nyújtja az informatikát a vállalat többi részlegének. Természetesen ekkor nem tudjuk kihasználni teljes mértékben a cloud computing el˝onyeit, például a gazdasági el˝onyök nem jelentkeznek, hiszen a vállalat birtokolja a hardverszoftver eszközöket. Virtuális privát felh˝or˝ol beszélünk, amikor egy publikus felh˝oben üzemeltet a szolgáltató egy elkülönített, csak egy adott megrendel˝onek fenntartott szegmenst [4]. Ezzel ötvözhetjük a publikus felh˝ok el˝onyeit és a privát felh˝ok kizárólagos használatát.
15
3.1.3.
Hibrid számítási felh˝ok – Hybrid clouds
Mind a publikus, mind a privát számítási felh˝ok használatának vannak el˝onyei és hátrányai. Ha szeretnénk optimalizálni az informatikai rendszerünket megfontolhatjuk, hogy egyes szolgáltatásokat privát, másokat publikus felh˝ok felhasználásával veszünk igénybe. A példák vizsgálatakor is láttuk, hogy van lehet˝oség különböz˝o számítási felh˝ok összekapcsolására. Ha összekapcsolunk privát és publikus felh˝oket, akkor beszélünk hibrid felh˝or˝ol. Például elképzelhet˝o, hogy a kritikus tartalmú adatbázisaink kezelését nem akarjuk küls˝o szolgáltatóra bízni, inkább beruházunk egy megfelel˝o tárolórendszerre, és alkalmazzuk a m˝uködtetéséhez szükséges személyzetet, bizonyos szoftvereket azonban szívesen futtatunk egy küls˝o (publikus) felh˝oben. Vagy éppen fordítva, az alkalmazásaink futtatására már kialakítottuk a bels˝o felh˝ot, de a megfelel˝o méret˝u és biztonsági fokú tárolórendszerre nem akarunk saját er˝oforrásokat lekötni. Az is elképzelhet˝o, hogy a teljes informatikai infrastruktúrát kialakítottuk egy bels˝o felh˝oben, ami majdnem mindig kielégíti az igényeket, vannak azonban olyan id˝oszakok, amikor olyan csúcsterhelések érik a felh˝onket, amelyek biztonságos kiszolgálására nem érdemes többnyire kihasználatlan er˝oforrásokat megvásárolni. Ilyenkor elegend˝o erre a kritikus id˝oszakra igénybevenni egy publikus felh˝o szolgáltatásait. Mindhárom esetben a hibrid felh˝o jelentheti a legjobb megoldást. Ilyenkor tehát az igényelt informatikai szolgáltatások egy részét bels˝o, más részét küls˝o számítási felh˝o szolgálja ki. 3.1.4.
Vertikális felh˝ok – Vertical clouds
Egy másik lehetséges kombinációja a privát és a publikus felh˝oknek az úgynevezett vertikális, vagy közösségi felh˝o. Nem minden szerz˝o tekinti ezt külön kategóriának, mert technológiai értelemben nem különbözik a publikus felh˝ot˝ol, felhasználói szempontból azonban fontos lehet külön vizsgálni ezeket a rendszereket [4]. Amikor bizonyos felhasználói csoportoknak hasonló informatikai szolgáltatásokra van szükségük és a piaci helyzetük lehet˝ové teszi, vagy éppen kikényszeríti az együttm˝uködést, akkor célszer˝u kialakítani egy olyan zártkör˝u felh˝ot, amit közösen használhatnak, de kizárnak onnan minden kívülálló felhasználót. Ez a felh˝o nem privát (bels˝o) felh˝o, hiszen kívül van a felhasználók vállalati t˝uzfalán, látszólag publikus (küls˝o) felh˝o, de nem csatlakozhat hozzá bárki, aki kifizeti a szolgáltatás árát. Ezeket nevezzük vertikális, vagy más néven közösségi, (community) felh˝oknek. 16
Tipikus felhasználása lehet a közösségi felh˝oknek a különböz˝o kormányzati, államigazgatási szervek informatikai igényeinek központi kiszolgálása. Teljesen felesleges, pazarló ráadásul kevéssé hatékony megoldás minden minisztériumban és minden állami intézményben önálló informatikai rendszerek kiépítése és üzemeltetése, amikor minden rendszer szinte teljesen azonos szolgáltatásokat kell hogy megvalósítson. Ebben a dolgozatban nem foglalkozunk a kérdés szociális és politikai vonatkozásaival, technológiai és gazdasági értelemben azonban teljesen egyértelm˝u, hogy az igazán jó megoldás néhány közösségi felh˝o kialakítása ezen igények kielégítésére. El˝oz˝o munkahelyemen a Soproni Kórházban tapasztaltam, hogy milyen nehéz feladat minden kórházban olyan informatikai rendszer kialakítása, ami folyamatosan megfelel a központi el˝oírásoknak. Az ország 170 kórházában több ezer informatikus dolgozik azon, hogy ilyen rendszereket m˝uködtessen. Ehelyett egyetlen egészségügyi vertikális felh˝ot kellene központilag kiépíteni és ahhoz csatlakozna minden egészségügyi intézmény. Természetesen ez sok ezer helyi informatikus és informatikai vállalkozás piaci esélyeit rontaná, de az egészségügyi informatika lényegesen magasabb szintre léphetne ezáltal. Hasonlóképpen jó megoldás lehetne egy Neptun felh˝o kiépítése az egyetemek számára.
3.2.
Követelmények
Az informatikai rendszerekkel szemben támasztott követelmények nagyrészt változatlanul fennállnak a cloud computing rendszerek esetében is, de ezek értelmezése és f˝oként azok kielégítési lehet˝oségei alapvet˝oen megváltoznak. 3.2.1.
Skálázhatóság – Scalability
A skálázhatóság minden informatikai rendszer esetében fontos tulajdonság és általában alapvet˝o elvárás, hiszen az állandóan változó küls˝o környezethez csak így tudunk alkalmazkodni. A cloud computing azonban jellegéb˝ol következ˝oen egészen új alapokra helyezi a skálázhatóság fogalmát. A számítási felh˝oben percek alatt indíthatunk el, vagy állíthatunk le a szervereket, vagy módosíthatjuk a virtuális szerver által felhasználható er˝oforrásokat, így könnyen alkalmazkodhatunk a mindenkori igényekhez. A költségek mindig az éppen felhasznált er˝oforrások szerint alakulnak, így ha pl. üzemeltetünk egy webáruházat, akkor nem kell egész évben kifizetnünk a karácsonyi csúcsszezonhoz méretezett infrastruktúra költségét.
17
3.2.2.
Megfelel˝oség – Availability
Minden rendszer esetében alapvet˝o elvárás a minden körülmények közötti hibátlan m˝uködés. A rendszer bonyolultságának növekedésével egyre nehezebb ennek garantálása. Mint az iparág egyik vezet˝o szerepl˝oje, a Sun kidolgozott egy tanúsító eljárást és egy hozzá tartozó eljárásrendet, ami egyfel˝ol ad egy módszertant a felhasználóknak az igénybevett szolgáltatások megfelel˝oségének ellen˝orzésére, másfel˝ol a szolgáltatóknak ahhoz, hogy megfelel˝o szolgáltatásokat tudjanak kínálni a megrendel˝oknek. SunTone certification program, SunTone AM (Architecture Methodology) [5]. 3.2.3.
Biztonság – Security
A cloud computing rendszerek esetében rendkívüli jelent˝oséggel bír a biztonság és ezzel együtt a bizalom. A szolgáltatóknak meg kell gy˝ozniük a potenciális megrendel˝oket, hogy mind az adatok, mind a szolgáltatások teljes biztonságban vannak. Ha a tervezés kezdetét˝ol a teljes rendszert a biztonsági szempontok szem el˝ott tartásával készítjük el, akkor meg van a lehet˝oség a biztonság garantálására. A felmérések szerint a hagyományos rendszerek esetében is a felhasználók és a lokális eszközök jelentik a gyenge pontot (nem frissített szoftverek, vírusok, gyenge jelszavak). Ezt a veszélyforrást pedig nagy mértékben csökkenti a vékonykliens technológia és a cloud computing. Természetesen elengedhetetlen a megfelel˝o er˝osség˝u jelszavak használata és azok biztonságos kezelése, vagy méginkább javasolható a jelszavak helyett biztonságos kulcspárok, hardverkulcsok, vagy biometrikus azonosítók használata. 3.2.4.
Rugalmasság – Flexibility
Alapvet˝o elvárás napjaink informatikai rendszereivel szemben a piac igényeihez való gyors alkalmazkodás képessége. Ezt a célt a kész modulokból való építkezéssel lehet elérni. Ahogyan láttuk a kész rendszerek vizsgálatakor, a cloud computing rendszerek képesek beépíteni, integrálni idegen modulokat, akár más felh˝ok szolgáltatásait is. Ez lehet˝ové teszi, hogy az új alkalmazásokat kész, letesztelt modulokból, szolgáltatásokból állítsuk össze. 3.2.5.
Karbantarthatóság – Serviceability
A cloud computing rendszerek esetében a felhasználók szempontjából fel sem merül a karbantartás kérdése. A megrendel˝o egy megszakítás nélküli szolgáltatást vásárol a szolgáltatótól. A szolgáltató a virtualizáció révén képes garantálni ezt, 18
sem hardverhiba esetén, sem a tervezett karbantartások, szoftverfrissítések idejére nem kell szüneteltetni a szolgáltatást. 3.2.6.
Hatékonyság – Efficiency
Az informatikai rendszerek terheltsége általában nagyon széles határok között mozog. Egy vállalat informatikai rendszere ki kell hogy szolgálja az igényeket akkor is, amikor a cég csúcsterhelésen dolgozik, minden részleg teljes kapacitással üzemel, és akkor is, amikor a cég nagy része szabadságon van, vagy csak kis terheléssel dolgozik. Ezért az informatikai rendszert a csúcsterhelésre kell méretezni még akkor is, ha erre a kapacitásra csak néhány hétig van szükség évente. Ez a rendszer az év nagy részében kihasználatlanul áll, miközben a beruházási és üzemeltetési költségek nagy része folyamatosan terheli a cég költségvetését. Milyen jó lenne, ha az év nagy részében bérbeadhatnánk a kihasználatlan kapacitásokat olyan partnereknek, akiknek máskor van a csúcsterhelésük, mint nekünk. Ezzel növelhetnénk a rendszerünk hatékonyságát, vagy más szóval csökkentenénk a rendszer fajlagos költségeit. Éppen ez történik a számítási felh˝o esetében. A szolgáltató arra szerz˝odik, hogy kiépít egy informatikai rendszert, amivel informatikai szolgáltatásokat nyújt a megrendel˝oknek. A megrendel˝ok megmondják, hogy mikor milyen szolgáltatásokra lesz szükségük, mikor lesz szükségük nagyobb kapacitásra és mikor elegend˝o kisebb. Mindenkor csak a ténylegesen igénybevett szolgáltatások után fizetnek, ahogyan azt megszoktuk más közm˝uszolgáltatások esetében. A szolgáltató a megkötött szerz˝odések alapján gazdálkodik az er˝oforrásaival, ha szükséges b˝ovíti azokat, hogy mindenkor garantálni tudja az összes megrendel˝o biztonságos kiszolgálását. Nyilvánvaló, hogy megfelel˝o tervezés esetén az összes megrendel˝o kiszolgálásához szükséges informatikai kapacitás kisebb, mintha minden egyes megrendel˝o külön-külön beszerezné és m˝uködtetné a saját maga maximális igényeit kielégít˝o rendszert. Ezért a cloud computing szolgáltató nagyobb hatékonysággal tudja kiszolgálni a megrendel˝oket, olcsóbban tudja adni a szolgáltatást, mintha a cégek saját rendszereket m˝uködtetnének, mindez kevesebb energiafelhasználással és környezetszennyezéssel jár, miközben a szolgáltatás min˝osége is emelkedhet az egyedi megoldásokhoz képest. 3.2.7.
Megbízhatóság – Reliability
A megbízhatóság fogalma folyamatosan változik az id˝ok során. A hagyományos rendszerek esetében azt várjuk el, hogy a rendszer "ritkán" hibásodjon meg, ilyenkor minél gyorsabban lehessen újra üzembeállítani, és eközben az adatok ne vesszenek el. A rendszer megbízhatóságát úgy mérjük, hogy meghatározzuk az 19
egységnyi id˝o alatt kies˝o üzemórák számát. Ez általában a tervezett ellen˝orzések, karbantartások idejét jelenti, és azt reméljük, hogy ezek rendszeres elvégzésével kiküszöbölhetjük a nem tervezett hibákat, üzemszüneteket. A cloud computing szolgáltatások esetében a virtualizációnak és az adatközpontok megfelel˝o földrajzi elrendezésének köszönhet˝oen technikailag garantálható a 100%-os rendelkezésre állás. Az más kérdés, hogy egy szolgáltató fel merie vállalni ezt gazdasági és jogi megfontolásokból. 3.2.8.
Horizontális skálázás – Horizontal scaling
A számítási felh˝ok fontos jellemz˝oje a horizontális skálázás képessége. Egy felh˝oben futó alkalmazás szükség esetén igénybeveheti a felh˝o további er˝oforrásait, például elindíthat egy újabb szervert és azon egy új alkalmazást, vagy az alkalmazás egy újabb példányát. Erre több okból lehet szükség, például mert az alkalmazás terhelése túllépett egy bizonyos határt. Az is el˝ofordulhat, hogy meghibásodik egy fizikai szerver, amin különböz˝o virtuális szerverek futnak. Ekkor a rendszer automatikusan gondoskodik arról, hogy a megsérült virtuális szerverek azonnal újrainduljanak egy másik fizikai szerveren. A horizontális skálázás m˝uködhet több különböz˝o felh˝o között is, pl. egy privát felh˝oben futó alkalmazás igénybe veheti egy publikus felh˝o er˝oforrásait, ha kimerültek a szükséges er˝oforrások a privát felh˝oben (surge computing).
3.3.
A számítási felh˝ok felépítése
A számítási felh˝o egy összetett rendszer. Vizsgáljuk meg milyen alkotóelemekb˝ol, szegmensekb˝ol épül fel! [1] Lásd 3. ábra! 3.3.1.
Alkalmazások
A felh˝o által futtatott alkalmazások. Ezek is szolgáltatásként érhet˝ok el a felhasználók számára, Software as a Service (SaaS). Pl. Google Mail, Google Naptár, vagy egy teljes CRM rendszer a salesforce.com esetében. 3.3.2.
Kliensek
Azok a hardver/szoftver eszközök, amelyek használatával elérjük a felh˝o szolgáltatásait. Kliens lehet: • vékony kliens (egy böngész˝o program egy tetsz˝oleges számítógépen) 20
3. ábra. A Cloud computing alkotóelemei. Forrás: [1] • vastag kliens (egy speciális program egy tetsz˝oleges számítógépen), amit a szolgáltató ad a speciális szolgáltatások eléréséhez, például a nagyobb biztonság elérése érdekében, bankszámla kezel˝o alkalmazás • speciális hardver/szoftver eszköz, például mobil eszközök, mobiltelefon, mobilterminál, egyedi azonosítást lehet˝ové tev˝o eszközök 3.3.3.
Platformok
Olyan szolgáltatás (Platform-as-a-Service (PaaS)), amikor a szolgáltató nem ad egy azonnal használható alkalmazást (pl. Google Mail), de nem is egy üres virtuális szervert szolgáltat (pl. Amazon EC2), hanem nyújt egy keretrendszert, aminek felhasználásával a megrendel˝o saját alkalmazásokat készíthet és telepíthet a felh˝obe. pl. force.com, facebook.com. 3.3.4.
Infrastruktúra
Az a speciális infrastruktúra szintén szolgáltatás formájában (Infrastructureas-a-Service (IaaS)), amin a számítási felh˝o m˝uködik. A virtualizáció révén a teljes infrastruktúra programozható. Pl. Joyent.com, Amazon EC2.
21
3.4.
Szolgáltatás
A felh˝o célja szolgáltatások nyújtása. A hagyományos informatikai rendszerek esetében háromféle dolgot kínálhat egy szolgáltató, amelyeket a cloud computing szolgáltató szolgáltatás formájában kínál. Ennek megfelel˝oen három szolgáltatás típusról és ennek megfelel˝oen háromféle számítási felh˝or˝ol beszélhetünk: 1. Infrastructure-as-a-Service – IaaS: ebben az esetben a szolgáltató egy alap informatikai infrastruktúrát biztosít. A megrendel˝o üres virtuális szervereket kap, amelyeket ugyanúgy használhat, mintha a saját szerverszobájában m˝uködne a szerver, operációs rendszereket és alkalmazásokat telepíthet rá, elindíthatja és leállíthatja ezeket. Nem kell azonban megvásárolnia a szervert, nem kell foglalkoznia a beszerzés és üzemeltetés költségeivel és adminisztratív terheivel. Az o˝ felel˝ossége azonban a használni kívánt operációs rendszerek és alkalmazások kiválasztása, üzembehelyezése és használata. Például Amazon EC2 2. Platform-as-a-service – PaaS: ebben az esetben a szolgáltató nem ad egy szabad virtuális szervert a megrendel˝onek, praktikusan nem adja át a root jelszót, hanem egy el˝okészített szoftvercsomagot szolgáltat, aminek segítségével a megrendel˝o elkészítheti, és telepítheti a szükséges alkalmazásokat. A megrendel˝o csak az adott platform szolgáltatásait tudja használni, nem fér hozzá a teljes szerverhez. Ez egyszerre korlátozás és el˝ony, itt is igaz, hogy pontosan azt a szolgáltatást rendeljük meg és azért fizetünk, amire szükségünk van. Az összes többi dolog a szolgáltató felel˝ossége. Például force.com 3. Software-as-a-Service – SaaS: ebben az esetben kulcsrakész, azonnal használható alkalmazásokat kapunk a szolgáltatótól. A böngész˝o program ablakában rákattintunk egy ikonra (valójában egy linkre), valahol a felh˝oben egy virtuális szerveren elindul a kért alkalmazás és a böngész˝oben megkapjuk a program kimenetét. A felhasználónak csak a program használatával kell foglalkoznia, minden szükséges háttérm˝uveletet a hardverek üzemeltetését˝ol a szoftverek verziókövetésén át az adatok biztonsági mentéséig a szolgáltató végez el. Az így használt alkalmazás akármi lehet egy egyszer˝u valutaváltó programtól egy teljes nagyvállalat CRM rendszeréig. Például Google Apps, Zoho.com, SalesForce.com, stb. 3.4.1.
Virtualizáció
A számítási felh˝ok m˝uködésének alapja a virtualizáció. A szolgáltató virtuális szervereket kínál a megrendel˝onek. Így lehetséges, hogy dinamikusan változtat22
ható a szerverek száma és az egyes szerverek futási paraméterei. A virtuális gépeknek két típusát különböztetjük meg: • Type I. esetében a virtualizációs szoftver közvetlenül a hardveren fut, nincsen alatta operációs rendszer. Ezért nevezik bare-metal virtualizációnak (csupasz fém) is ezt a típust. Ilyenkor a virtualizációs szoftvert szokás hypervisornak is nevezni. Ez a megoldás a szervervirtualizáció esetében gyakori: VMware ESX Server, Xen Enterprise, MS Hyper-V • Type II. esetében a virtualizációs szoftver egy hagyományos operációs rendszer alatt fut, ezt nevezik hosted virtualizációnak. Ezt a megoldást jellemz˝oen a kliens virtualizáció esetében használjuk: VMware Player/Workstation, Sun/Oracle VirtualBox, MS VirtualPC, Kernel-based Virtual Machine (KVM), User-mode Linux (UML) A számítási felh˝ok esetében a bare-metal virtualizációt használjuk. A következ˝o pontban megvizsgáljuk milyen eszközökkel tudjuk menedzselni a virtuális infrastruktúrát.
3.5.
Menedzsment
3.5.1.
Virtuális infrastruktúra menedzsment
Az alábbi programok alkalmasak a virtuális infrastruktúrák menedzselésére • Platform VM Orchestrator: www.platform.com/Products/platform-vm-orchestrator • VMware vSphere: www.vmware.com/products/vsphere/ • Ovirt: ovirt.org Az Internet Computing Cloud Computing különszámának [2] cikkében részletesen megismerkedhetünk az OpenNebula (virtuális infrastruktúra menedzser) és a Haizea (er˝oforrás menedzser) programok m˝uködésével.
23
4.
State of art – Napjaink kihívásai
4.1.
Szabványosítás
Mivel a cloud computing technológia még csak néhány éves múltra tekint vissza, ezért jelenleg minden szolgáltatónak saját API-ja van. Ez megnehezíti a különböz˝o szolgáltatók felh˝oi közötti együttm˝uködést, és szinte lehetetlenné teszi, hogy a megrendel˝ok hordozhassák alkalmazásaikat egyik számítási felh˝ob˝ol a másikba. Különböz˝o területek szabványosítására van szükség [4]: • A felh˝ok egymás közötti együttm˝uködésének szabványai • A felh˝ok interaktív vezérl˝o felületei és alkalmazás programozói interfészei (API) • A felh˝ok teljesítménye mérésének szabályai • A felh˝ok vezérlésének szabványai, hogyan kell megtervezni, elkészíteni és üzembehelyezni a felh˝o alkalmazásokat • A felh˝ok biztonsági és titoktartási szabályai • A felh˝ok felépítésének szabályai, a fizikai er˝oforrások virtualizációjának szabályai Ezekben a kérdésekben kell megegyeznie a piaci szerepl˝oknek. Több szervezet is dolgozik azon, hogy minél el˝obb létrejöhessen egy szabvány a számítási felh˝ok üzemeltetésére: • National Institute of Standards and Technology • Open Cloud Consortium • Cloud Computing Interoperability Forum • Distributed Management Task Force • Cloud Computing Community • Cloud Security Alliance A készül˝o szabványok jelenlegi állásáról áttekintést kaphatunk a 2010-ben megjelent [4] könyvben. 24
5. 5.1.
Faipari-erdészeti alkalmazási lehet˝oségek Számítási felh˝o alkalmazása az erdészeti modellezésben
A kínai Zhejiang város Erdészeti egyetemének munkatársai Shaocan Jiang, Luming Fang, és Xiaoying Huang számolnak be arról, hogy a Kínai Erdészeti Hatóság dolgozik egy speciális számítási felh˝o kiépítésén, amivel támogatják az erd˝oket fenyeget˝o kártev˝ok elterjedésének modellezését és annak el˝orejelzését [7].
25
Hivatkozások [1] John Gotze Adrian T. Sobotta, Irene N. Sobotta, editor. Greening IT. [2] Ignacio M. Llorente Ian Foster Borja Sotomayor, Ruben S. Montero. Virtual infrastructure management in private and hybrid clouds. IEEE Internet Computing, Vol. 13 no. 5:14–22, September/October 2009. [3] Nicholas Carr. The Big Switch, Rewiring the World from Edison to Google. 2008. [4] Bob Lozano Eric A. Marks. Executive’s Guide to Cloud Computing. Wiley, 05 2010. [5] Sun Microsystems Inc. Suntone architecture methodology a 3-dimensional approach to architectural design, 2001. [6] Pankaj Mehra George Pallis Athena Vakali Marios D. Dikaiakos, Dimitrios Katsaros. Cloud computing: Distributed internet computing for it and scientific research guest editors’ introduction. IEEE Internet Computing, Vol. 13 no. 5:10–13, September/October 2009. [7] Luming Fang Shaocan Jiang and Xiaoying Huang. An idea of special cloud computing in forest pests’ control. 2009. [8] Wikipedia.en. Cloud computing (2010.06.28). [9] Wikipedia.hu. Számítási felh˝o (2010.06.28).
26