Pentru utilizatorul obişnuit al
internetului, motorul de căutare Google este o banalitate. Introduci
câteva cuvinte cheie, apeşi butonul "Căutare" şi în
secunda următoare apar rezultatele, în ordinea relevanţei.
Pentru cei care au scris măcar odată o aplicaţie informatică
această banalitate este o uriaşă şi perpetuă mirare. Cum face?
Poate că mii de oameni au introdus cereri de căutare în
aceeaşi secundă şi toţi primesc răspunsul cu aceeaşi
promptitudine. Chiar dacă ar fi vorba doar de a servi pagini statice
şi tot ar fi uluitor, însă rezultatele sunt calculate dinamic
pe baza unor algoritmi complecşi, care explorează volume de date
gigantice (aproape tot web-ul este indexat de motorul de căutare).
Dacă vom căuta "Google BigTable cloud computing" vom obţine
imediat 13.800 de pagini şi vom afla din prima pagină afişată că
maşinăria infernală a găsit răspunsurile într-un sfert de
secundă! Şi nu doar răspunsurile, ci şi anunţurile potrivite
contextului.
În spatele simplităţii stă însă complexitatea unei colosale
infrastructuri de calcul. În urmă cu doi ani se vorbea de
circa o jumătate de milion de servere (asamblate de Google din
componente absolut obişnuite) şi o capacitate de stocare pe care
miliardele cu greu o pot exprima, chiar dacă folosim ca unitate
gigabyte-ul. Modelul de calcul distribuit MapReduce, dezvoltat şi
implementat de Google, a fost recent prezentat într-o
comunicare susţinută la ACM, împreună cu nişte statistici
ameţitoare: un job MapReduce rulează în medie pe circa 400 de
computere iar Google efectuează circa 100.000 de astfel de joburi în
fiecare zi, procesând 20 PB (adică 20 de milioane de GB) de
date pentru a deservi mai mult de 100 de milioane de căutări precum
şi alte numeroase servicii. Comunicarea dintre Google şi restul
lumii înseamnă trei milioane de GB în fiecare secundă.
Este cu siguranţă unul dintre cele mai elocvente exemplu de "cloud
computing" la momentul actual.
Cum ar fi să avem la dispoziţie o fărâmă din această
infrastructură? De fapt o avem deja, prin diversele servicii
furnizate de Google. De exemplu, cei peste 6 GB alocaţi unui cont
GMail pot fi utilizaţi ca spaţiu adiţional de stocare folosind o
extensie Firefox numită Gspace. Însă de multă vreme se
zvoneşte că Google intenţionează să ofere publicului spaţiu de
stocare practic nelimitat (zvon niciodată infirmat). Un zvon ceva
mai recent prevestea că Google nu va oferi spaţiu de stocare
"brut", ci chiar accesul la propria infrastructură de baze de
date (BigTable), sub forma unui serviciu web. S-a dovedit însă
mult mai mult de atât: zilele trecute Google a anunţat
lansarea platformei aplicative Google App Engine, care va permite
proiectanţilor să dezvolte şi să găzduiască aplicaţii web
folosind chiar infrastructura pe care Google o foloseşte pentru
GMail, Docs şi alte servicii web. În prima fază (preview) nu
există decât conturi gratuite, fiecare oferind 500 MB de
spaţiu persistent de stocare, accesul la servere de aplicaţie
programabile în Python, interfeţele de programare pentru
BigTable şi sistemul distribuit de fişiere GFS precum şi
suficientă putere de calcul şi lărgime de bandă pentru ca
aplicaţia să poată să deservească până la 5 milioane de
pagini pe lună. Când serviciul va fi complet funcţional,
Google va oferi clienţilor şi posibilitatea de a cumpăra resurse
suplimentare.
Este evident că Google răspunde astfel mişcării făcute de Amazon,
care a lansat o platformă de "cloud computing" compusă din
serviciile ECC (Elastic Compute Cloud), S3 (stocare) şi SimpleDB
(baze de date). Deşi asemănătoare, ofertele diferă în multe
aspecte. În primul rând, preţul -- în buna
tradiţie Google, serviciul pe care-l oferă este gratuit la nivel de
bază (deşi n-ar fi exclus ca Google să-şi rezerve dreptul de a
insera publicitate), în vreme ce la Amazon totul costă. Mai
importantă este însă abordarea de ansamblu: în vreme ce
Amazon oferă, în esenţă, putere de calcul "pură", pe
care clientul o poate folosi la orice, Google oferă putere de calcul
"specializată", de fapt o infrastructură pentru un anume tip de
aplicaţii. Este cert însă că ambele variante oferă o
caracteristică esenţială -- scalabilitatea -- şi sunt extrem de
atractive pentru start-up-uri cu idei interesante dar fără
resursele necesare unei infrastructuri proprii.
Având în vedere că şi IBM pregăteşte nişte servicii similare iar
o infrastructură open source pentru cloud computing a apărut deja
(se cheamă Enormalism), se pare că asistăm la consacrarea unei noi
direcţii în business-ul IT.