Z definicijo računalništva v oblaku je položaj precej podoben kot z njegovim imenom. Če o njej povprašate deset strokovnjakov in/ali celo ponudnikov, boste najbrž dobili dvanajst različnih odgovorov. In to je precejšen problem. Splošna sprejetost definicije navadi precej prispeva h kakovosti razprave o katerikoli temi, še zlasti če je ta tako meglena (oziroma oblačna) kot računalništvo v oblaku. V takšnih primerih je zadeve najbolje gledati s stališča prakse. Kakšen problem ali težave torej lahko rešujemo z računalništvom v oblaku?

Za procesorsko zahtevne naloge, kakršni so denimo obdelava visokokakovostnih video ali zvočnih zapisov, simulacije, pretvarjanje velikih datotek v druge zapise in podobne podvige potrebujemo veliko procesorske moči. Za veliko procesorske moči potrebujemo veliko strežnikov. Za veliko strežnikov potrebujemo veliko denarja. Za veliko denarja pa moramo veliko (in uspešno) delati.

Glede na to, da najmanjša podjetja v Sloveniji po podatkih, pridobljenih v lanski raziskavi analitske hiše IDC, za vse svoje investicije v informacijske tehnologije na leto porabijo le nekaj tisoč dolarjev, je kazno, da te, z vidika večjih podjetij pomilovanja vredne vsote, ne omogočajo nakupa niti enega »zaresnega« strežnika, kaj šele kakih »nizkocenovnih« strežniških rezin s pripadajočo infrastrukturo. Računalništvo v oblaku pa nam pravzaprav ponuja ravno to: procesorsko moč na zahtevo, prilagojeno našim potrebam.

NAPOVED ZA SLOVENIJO: SONČNO

Če na Googlu poskusite z iskanjem izraza »cloud computing« in ga omejite na strani v slovenščini ter časovno obdobje preteklega tedna, boste dobili prek 200 rezultatov. Če se še malo bolj potrudite, ugotovite, da je bilo člankov na temo računalništva v oblaku leta 2007 približno 6500, medtem ko je ta številka v letu 2008 zrastla za cca 300 %. Kljub ne čisto natančnemu merjenju rezultatov, to vsekakor pomeni porast zanimanja za tovrstne tehnologije v Sloveniji, in to nekako v sorazmerju s svetovnimi trendi v enakem obdobju.

Kljub temu pa smo v Sloveniji na tem področju sirote. Pri nas namreč za zdaj ne obstaja niti en ponudnik, ki bi se bodisi ukvarjal zgolj z »oddajanjem računalniških virov«, (kakor bi tudi lahko poimenovali računalništvo v oblaku) bodisi z oddajanjem zgolj svojih prostih kapacitet, s čimer bi bilo moč povečati izkoristek sistemov ter hkrati s tem tudi TCO v podjetju ali organizaciji.
Pa poglejmo, kako si lahko pomagamo z »globalnimi oblaki.«

www.google.com/insights/search/#q=%22cloud%20computing%22&cmpt=q

EC2 – OBLAK ZA MNOŽICE

Hitro prilagajanje infrastrukture spreminjajočim se potrebam aplikacij do nedavnega za slovenska podjetja ni bilo mogoče. Na srečo pa se je s prihodom globalnih storitev, kakršna je EC2, ki jo zagotavlja Amazon (ja, isti Amazon), to radikalno spremenilo. Uporabniku EC2 (ne glede na njegovo geografsko lokacijo) namreč omogoča potrebam prilagojeno uporabo navideznih strežnikov. Zadevo obračunavajo po urni postavki, cena na »malo«enoto (1 EC2 computing unit = 32-bitni sistem s 160 GB prostora na disku in 1,7 GB pomnilnika) pa je za evropske uporabnike 1 (ameriški) cent višja kot v USA.

Oblak, kot ga imenujejo pri Amazonu, je pravzaprav ogromno število strežnikov, ki sicer delujejo v podatkovnih središčih po vsej zemeljski krogli, ki jih v navidezne strežnike druži (oziroma deli) odprtokodno virtualizacijsko okolje Xen. Med uporabniki je najti znana imena, kot so Washington Post, Facebook (oziroma nekatere aplikacije v okviru tega), pa tudi razmeroma neznana podjetja, katerih načine uporabe EC2 si je vredno zaradi njihove inovativnosti tudi pobliže ogledati. Eno takih je spletni portal jamglue.com, ki EC2 uporablja za obdelavo ogromnih količin zvočnih datotek, kar bi sicer zahtevalo ogromne vložke v infrastrukturo. Uporabniki tako lahko prek spletne aplikacije naložijo in »remiksajo« zvočne datoteke, in tudi tu je iz inovativne ideje nastala pravcata spletna skupnost.

Tipičen primer malo bolj praktične uporabe EC2 je pošiljanje elektronske pošte na nekaj (deset) tisoč naslovov. V »normalnih« okoliščinah bi za redno (recimo dnevno) in razmeroma hitro pošiljanje tolikšnih količin e-pošte potrebovali nekaj strežnikov, ki bi ostanek časa preždeli neizkoriščeni. S storitvijo EC2 se nakupom strojne opreme za takšno nalogo lahko celo povsem izognemo. Potrebujemo le določeno število (pač glede na potrebe) virtualnih enot EC2. Denimo, da delo opravijo 4 strežniki v eni uri. Če enako količino elektronske pošte pošiljamo enkrat na dan, vsak dan v mesecu (pa je navadno ne), bomo mesečno v ta namen porabili nekje do 10 dolarjev. Če povprečen strežnik nižjega cenovnega razreda (brez vzdrževanja) podjetje (po podatkih IDC za leto 2008) v Sloveniji stane nekaj manj kot 4000 USD, to pomeni, da se nam zadeva izrazito izplača, še zlasti če gledamo na to z vidika stroškov po amortizaciji osnovnih sredstev.

Preprosto rečeno, dosegljivost EC2 pomeni, da lahko zahtevnejše naloge opravite hitreje in ceneje.

KAKO EC2 DELUJE V PRAKSI

Najprej se morate ustaviti na spletni strani AWS oz. Amazon Web Services (https://aws-portal.amazon.com/gp/aws/developer/registration/index.html) in si ustvariti račun. Ko je to opravljeno, oddeskate na stran www.amazon.com/ec2 in v meniju na levi strani izberete možnost »Your Web Services accoun« ter nato AWS Access Identifiers. Tukaj morate pridobiti t.i. Access Key ID in Secret Access Key oziroma uporabniško ime in geslo. Ko se prijavite, lahko svoj del Amazonovega oblaka upravljate na tri načine: prek ukazne vrstice, vmesnika (API) SOAP ali »navadnega« uporabniškega vmesnika. Za zdaj bomo uporabili vtičnik za brskalnik Firefox, ki ga namestimo v skladu z navodili s strani http://developer.amazonwebservices.com/connect/thread.jspa?threadID=1771.... Ko je vtičnik nameščen, za dostop uporabimo prej pridobljeno uporabniško ime in geslo. In smo povezani. Prikaže se seznam posnetkov strežniških okolij (AMI), ki jih lahko uporabite. Nato izberete tistega, ki je najprimernejši oziroma prilagojen vašim trenutnim potrebam. Izberemo si recimo posnetek fedora-core4-apache-mysql. Ko se posnetek zažene, se bo prikazal tudi v okencu »Your Instances«. Počakamo, da se stanje posnetka spremeni iz »pending« v »running«. Nato odpremo vgrajeni ali terminal SSH in se prijavimo v »strežnik« oziroma svoj prvi uporabljeni posnetek (označen s kratico AMI). Prijavimo se takole:

ssh –i vas-kljuc.pem root@tukaj-vpisete-ime-svojega-DNS-streznika

Parameter –i pove terminalu, naj uporabi identiteto, ki smo jo ustvarili z vtičnikom za Firefox.

Prijava je uspela, in zdaj se lahko malo razgledamo naokrog. Strežnik daje vtis povsem navadnega soimenjaka, kar je še ena prednost storitve, saj nam ne bo treba izgubljati časa s privajanjem na novo okolje. Da je to res, se lahko prepričamo tako, da v imeniku /var/www/html/ ustvarimo eno klasičen skript »živjo svet«, ki ga poimenujemo, recimo, zivjo.php. Torej:

<?php
echo " <h1 >En kup pozdravov virtualnem svetu </h1&gt ";
phpinfo():
? &gt

Svoj javni DNS-naslov nato skopiramo v brskalnik in pogledamo rezultat. Če nas tudi to ne prepriča povsem, lahko namestimo kako »zaresno zadevo«, denimo kak sistem za upravljanje z vsebinami.

In tako je vaš prvi strežnik EC2 pripravljen za opravljanje naloge, ki ste mu jo namenili. Če ste vajeni igračkanja z Linuxovimi strežniki, boste opazili, da vam praktično nič ni novega ali neznanega, zato se lahko takoj odpravite po nujnejših virtualnih opravkih postavljanja strežniškega okolja. A pozor: vendarle obstaja velika razlika v primerjavi z običajnimi, fizičnimi strežniki. Gre namreč za to, da so vse nastavitve in namestitve, ki smo jih ravnokar izvedli, s klikom možnosti Terminate nepovratno izgubljene.

OBLAKI ZA ŠIRŠO PUBLIKO

Ko govorimo o širšem sprejetju novih paradigem, kakršna je računalništvo v oblaku, nikakor ne moremo mimo največjega komercialnega ponudnika programskih rešitev (kar sicer ne velja tudi za virtualizacijo, a vendarle).

Tudi Microsoft je v oktobru 2008 napovedal izid pomembnega dela svoje t. i. platforme Software-plus-Services (programska oprema in storitve), imenovanega Azure. Azure naj bi bil po besedah izvršnega direktorja Microsofta Steva Ballmerja pravzaprav logično nadaljevanje razvoja Microsoftovih operacijskih sistemov. Po namiznem in strežniškem operacijskem sistemu, ki sta bila odgovor na takratne razvojne zahteve, gigant iz Redmonda tako pripravlja tretjega od svojih velikih korakov. Ballmer je v svojem govoru novembra letos dejal, da bo Azure pravzaprav operacijski sistem, ki bo deloval v internetnem oblaku in bo predstavljal osnovo, na kateri bodo delovali platforma .NET, različne aplikacije za okolje Windows ter seveda različni strežniki, kot so SQL, Sharepoint, Exchange in drugi Microsoftovi strežniški izdelki. Vsekakor bo Azure zanimiva obogatitev računalništva v oblaku.

TEMNA PLAT OBLAKA

Vse pa ima svojo ceno, prav tako prednosti računalništva v oblaku. Sicer občuten prihranek pri stroških, ki nam jih tovrstne storitve omogočajo, namreč pomeni tudi občutno zmanjšan nadzor nad strojno opremo. »Škatle« namreč ni več zraven vas ali v sosednji sobi, niti v spodnjem ali zgornjem nadstropju, ampak je tam nekje daleč za oblaki. Kar je bržčas tudi eden od razlogov za izjavo Richarda Stallmana v intervjuju za Guardian, ko je dejal, da je »računalništvo v oblaku preprosto past, katere namen je prepričati čim več ljudi, da preidejo na zaprte komercialne sisteme, ki jih bodo sčasoma stali čedalje več.«

»Past« se sliši malce paranoično, zato se osebno s tem ne bi ravno strinjal, vendar je res, da z naročniškim modelom (na storitev) docela izgubimo nadzor nad strojno opremo, in, kar je še pomembneje, nad podatki in aplikacijami, ki v tej strojni opremi tečejo.
Predstavljajte si naslednji scenarij. Vaš ponudnik storitev gre v stečaj ali se mu na drug način zgodi, da preneha poslovati. Je vaš navidezni strežnik (VM) dejansko vaš? Z drugimi besedami, ali se lahko kadarkoli odločite, da boste posnetek (image) svojega navideznega strežnika prenesli bodisi k drugemu ponudniku bodisi nazaj v lastno strojno opremo? Najverjetneje je odgovor na to vprašanje ne, saj strojna oprema, v kateri je spravljen vaš navidezni strežnik, ni vaša. Kar pomeni, da boste bržčas morali svojega ponudnika najprej vprašati za dovoljenje, da svoj navidezni strežnik posnamete oziroma preselite na svoj disk!

Omenjena nezmožnost svobodnega odločanja o tem, kaj storiti s svojimi podatki, je bržkone tisto, kar g. Stallmanu povzroča največ skrbi, in tukaj se z njim popolnoma strinjam.

Zato morda velja razmisliti tudi o odprtokodnih alternativah (kakršno navsezadnje uporablja tudi AWS pri EC2), kakršni sta denimo KVM ali Xen. S tem tveganje sicer zmanjšamo, a le do točke, ko začnemo razmišljati o dostopu v primeru okvare. Poleg tega za določene naloge potrebujemo precej specifično strojno opremo, kar pomeni, da jo mora imeti na svoji strani tudi ponudnik. To odpira tudi vprašanje diverzifikacije ponudnikov, izmed katerih je za »širše množice uporabnikov« trenutno najzanimivejši zgoraj podrobneje opisani Amazon oziroma AWS. Ponuja namreč več različnih konfiguracij strojne opreme, v katerih lahko zaganjate več različnih konfiguracij (strežniške) programske opreme. Poleg AWS so na trgu še ponudniki, kot so Slicehost (usmerjen na približno enako publiko) in za zahtevnejše Tsunamic Technologies in Tata CRL. Obstajajo ali pa bodo kmalu obstajale tudi pobude in skupine, kakršne so On-demand initiative podjetja IBM, na Solaris usmerjena Sunova rešitev Network.com in druge.

VELIKI BRAT V OBLAKU

"Oblak kot storitev" je očitno dober koncept, ki pa ima določene pomanjkljivosti. Trenutno je največja izmed teh videti dostop do podatkov ter nadzor nad celotno zadevo. Vzemimo za primer največjo »oblačno« aplikacijo na svetu. Google Search Cloud lahko zelo hitro preišče splet in rezultate servira v skorajda katerokoli vrsto prenosne naprave s spletnim brskalnikom. Kar je odlično, a še vedno mi (in po vsej verjetnosti tudi večini uporabnikov) ne da spati dejstvo, da lahko Google tako sledi zgodovini mojih iskanj. Moji iskalni vzorci so nekje v oblaku. Podobno je s pisarniškimi aplikacijami (denimo Google Docs), ki tudi pridno beležijo moje podatke, in to po vsej verjetnosti občutljivejše, nekam v oblak. Paranoja? Bomo videli.

Moj mikro, Februar 2009 | Boštjan Klajnščak