sobota, 13. júna 2009

Čo je to cloud computing?


Úvod


Cloud computing je fenoménom posledných rokov a akademická obec, taktiež ako veľkí IT hráči venujú tomuto konceptu čoraz viac pozornosti. Vy by ste mali tiež. V tomto článku sa vám budem snažiť priblížiť tento inovatívny trend.


Cloud computing alebo výpočtové mračno
Názov cloud computing, z angličtiny voľne preložené ako výpočtové mračno charakterizuje tento koncept dosť výstižne. V podstate mračno predstavuje zhluk výpočtových prostriedkov, ktoré sú alokované v niekoľkých dátových centrách a z pohľadu koncového užívateľa nie sú viditeľné. Užívateľ pristupuje len k mračnu ako takému, ktoré mu poskytuje určité služby, zatiaľ čo fyzická infraštruktúra tohto mračna je skytá.


Motivácia
Typicky v dátových centrách po celom svete majú veľké spoločnosti nasadené desiatky až stovky tisíc serverov [1] a ich utilizácia, t.j. využitie kolíše iba okolo 20% [2].


Naviac, ak si zoberieme náklady potrebné na prevádzku týchto dátových centier (elektrina, klimatizácia) kde niektorí odhadujú, že sa šplhajú až do výšku jedného milióna dolárov za mesiac [3], tak toto je veľmi vysoká cena za 80% nevyužitej výpočtovej kapacity, ktorá stojí ľadom.


Kúzelník menom virtualizácia


Tu prišli k slovu virtualizačné technológie, ktoré umožňujú spustiť niekoľko operačných systémov súbežne a izolovane na jednom fyzickom serveri a dokážu tak vytvoriť ilúziu, že daný operačný systém beží na danom fyzickom serveri osamote.


Toto samozrejme rozbíja klasický model, kde na jednom fyzickom serveri beží iba jeden operačný systém. Vo virtualizovanom prostredí je možné spustiť viacero operačných systémov na jednom fyzickom serveri, čo nevyhnutne vedie k vyššej využiteľnosti hardwéru a má ďalekosiahle dôsledky pri návrhu a správe aplikácií bežiacich v takomto prostredí.


Životný cyklus služieb (service life cycle) vo virtualizovanom prostredí je podstatne iný a ponúka nové možnosti správy takýchto aplikácií. Lepšie sa zabezpečuje vysoká dostupnosť služby (high availability), či náprava v prípade výpadku služby (disaster recovery). Viac o virtualizácií napíšem v samostatnom článku, poďme však späť ku cloud computingu.


Veľké IT spoločnosti operujúce na globálnej báze so svojimi tisíckami nevyužitými počítačmi v dátových centrách si uvedomili, že môžu s pomocou virtualizácie poskytnúť prebytočný výpočtový výkon, či diskovú kapacitu ako službu a tým monetizovať využitie svojich prostriedkov a o tom je cloud computing.
Cloud computing predstavuje nový biznis model, kde výpočtový výkon, či disková kapacita sú pomocou virtualizácie poskytnuté ako služba cez internet pri splnení určitých požiadaviek na tieto služby (service level agreement).





Hlavné charakteristiky


Medzi hlavné charakteristiky cloud computingu patrí:
  • škálovateľnosť, či v niektorých zdrojoch uvádzaná elasticita: táto vlastnosť umožňuje dynamicky sa prispôsobovať záťaži. V prípade že prichádza veľa požiadaviek na spracovanie, môže sa zaalokovať dodatočný výpočtový výkon a prichádzajúce požiadavky sa rozdistribuujú medzi viacero výpočtových uzlov. Pri poklese výkonu sa prebytočný výkon odoberie.
  • merateľnosť: podopbne ako v prípade iných verejných služieb ako dodávka elektriny, či vody, cloud computing služby sú poskytované ako merané služby pre koncových užívateľov.
  • pay-as-you-go princíp: platí sa iba za spotrebované množstvo prostriedkov, či už to je výpočtový výkon, disková kapacita, alebo množstvo prenesených dát, poprípade nejaká ich kombinácia.


Modely poskytovania služieb


Pri cloud computingu rozlišujeme tri hlavné modely poskytovania služieb (service delivery models) a to:
  • SaaS - Softvér ako služba (Software as a service)
  • PaaS - Platforma ako služba (Platfrom as a service)
  • IaaS - Infraštruktúra ako služba (Infrastructure as a service)
O softvéri ako službe som už písal v samostatnom článku, v stručnosti sa jedná o poskytovanie softvéru cez internet bez nutnosti jeho lokálnej inštalácie, čím odpadajú náklady spojené s jeho správou. Softvér je hostovaný u poskytovateľa a beží na jeho infraštruktúre, teda v mračne.

Platforma ako služba poskytuje run-time prostredie na požiadanie (on-demand) a umožňuje v tomto prostredí (napríklad Java) vyvíjať škálovateľné aplikácie, ktoré opäť bežia na infraštruktúre cloud poskytovateľa.

Infraštruktúra ako služba umožňuje vytvoriť kompletnú infraštruktúru v mračne, od sieťových prvkov, až po bežiace aplikácie pričom ponúka vysokú škálovateľnosť tejto infraštruktúry.

Každý z týchto modelov má svoje uplatnenie. Zatiaľ čo softvér ako služba poskytuje služby priamo koncovým užívateľom, platforma ako služba, či infraštruktúra ako služba poskytujú nástroje pre vývojárov a umožňujú vytvárať vysoko škálovateľné aplikácie.

Modely nasadenia



Modely v ktorých môže byť cloud computing nasadený, tzv. deployment models, sú nasledovné:
  • verejné mračno (public cloud) - verejne dostupné služby poskytované veľkými IT firmami, napríklad Amazon Web Services
  • privátne mračno (private cloud) - privátne vytvorené mračno napríklad vo veľkej spoločnosti, ktorá nemôže kvôli legislatívnym normám využiť služieb verejných poskytovateľov
  • hybridné mračno (hybrid cloud) - hybrid prvých dvoch foriem
  • vládne mračno (government cloud) - čoraz viac, hlavne v Amerike a Veľkej Británií, sa presadzuje koncept vládneho mračna, ktorý by bol výhradne využitý len pre štátne záujmy


Veľký obrázok alebo the big picture

Takto vypadá 'veľký obrázok' pre verejného poskytovateľa cloud služieb.


Za predpokladu, že cloud provider poskytuje všetky tri typy služieb, tie sú hostované v mračne na jeho infraštruktúre. Koncoví užívatelia k nim pristupujú cez verejnú sieť internet a využívajú poskytované služby.

Príklady cloud computing služieb

Boom ohladne cloud computingu roztrhol kôš s ponukami služieb na požiadanie (on-demand service), v stručnosti preto uvediem len pár priekopníkov zo sveta cloud computingu.


Softvér ako služba:
  • eyeOS - cloud computing operačný systém
  • Google Apps - balík kancelárksych aplikácií, ktorého sme poskytovateľom
Platforma ako služba:


Infraštruktúra ako služba:

Záver



Samozrejme nedá sa opísať v krátkom článku takáto komplexná technológia ktorou cloud computing bezpochyby je. Cloud computing nie je pre každú firmu a nelieči všetky rany, ale v niektorých špecifických prípadoch dokáže ušetriť výdaje za IT alebo efektívnejšie riešiť daný problém.


Pri adopcií cloud computingu naviac treba zvážiť nielen ekonomické dopady, ale svojou globálnou povahou prináša i netriviálne otázky v oblasti práva a iných disciplín.


V prípade že zvažujete cloud computing iniciatívu a potrebujete poradiť, obráťte sa na nás. Poskytujeme konzultačné služby v oblasti cloud computingu a inovatívnych IT technológií.


V ďalších článkoch rozoberieme výhody a nevýhody cloud computingu a ďalšie aspekty ktoré treba zvážiť pri jeho adopcií.




Použité zdroje
[1] Google Platform, Wikipedia, http://en.wikipedia.org/wiki/Google_platform#Network_topology


[2] IBM Lowers TCO in the Data Center — Innovation Surrounding Nehalem Scores Big, David Reine, 2009, http://www.clipper.com/research/TCG2009017.pdf


[2] The Big Switch, Nicolas Carr, 2009

3 komentáre:

  1. Az na to ze to nie je pay as you go, ale pay as you grow ;) detail...

    OdpovedaťOdstrániť
  2. Možno takýmto spôsobom (aj keď sám o tom pochybujem) trochu opadnú útoky crackerov, ktorí sa snažia prostredníctvom internetu získať nejaký procesorový čas počítača obete. Takto budú mať za priateľný peniaz získať ho legálne.

    OdpovedaťOdstrániť
  3. Velmi dobre zhrnutie Cloud computingu. Skoda ze to nieje zhrnutie toho co sa deje na Slovensku, podla vsetkeho (http://itevent.sk/cloud) cloudove sluzby prisli uz aj na Slovensko.

    OdpovedaťOdstrániť