Odstrti oblak

Odstrti oblak
Objavljeno: 27.5.2008 15:19 | Avtor: Uroš Mesojedec | Kategorija: Mnenja | Revija: Maj 2008 | Teme: google

Razvijalci, razvijalci, razvijalci. Razvojni kompleti so zadnje mesece osrednja novica. Po Applovi objavi kompleta za programiranje iPhonov, znanilca osebnega računalnika prihodnosti, je zdaj tu še Googlov App Engine, nič manj kot komplet za programiranje "oblaka".

V začetku aprila se je Google po večletnih pripravah odločil odstreti oblak in razvijalcem spletnih programov ponuditi dobrote lastne infrastrukture, po številnih merilih verjetno najboljše na svetu. S tem se je dokončno vzpostavil nov, vznemirljiv trg računalniške industrije - celotne podlage kot storitve (Platform as a Service, PaaS). Medtem ko nekateri še vedno želijo ohraniti stari, zastareli model računalništva in ga le v drobnih podrobnostih odpreti v splet (software+services), gredo drugi pogumno v prihodnost, kjer ne bo dragega nameščanja in vzdrževanja programja ter zaklepanja v lastniške zapise dokumentov, temveč bo poglavitna značilnost programja, da lahko neovirano sodeluje s številnimi drugimi storitvami v oblaku.

Google je svojo ponudbo za razvijalce spletnih programov - Google App Engine (GAE) - pripravljal že vsaj od marca 2006 in je zdaj šele začel razkrivati zmogljivosti, ki jih GAE omogoča. Podlaga namreč temelji na enaki infrastrukturi, ki poganja najbolj znane Googlove storitve, kot sta npr. spletni iskalnik in GMail. Google jo je razvil na lastni strojni in programski opremi, ki pa temelji na dejanskih standardih osebnega računalnika in operacijskega sistema Linux. Ključna pa je njuna nadgradnja, ki na desetine, morda celo stotine tisoč naprav poveže v visoko zmogljiv, razpršen in trdoživ sistem, ki je sposoben učinkovito streči milijone zahtevkov na sekundo, praktično kjerkoli na svetu. GAE bo ponujal isti sistem razvijalcem. Zaenkrat sicer le programerjem v jeziku python, kmalu pa naj bi bili omogočeni tudi drugi, viskonivojski, dinamični jeziki (npr. ruby, javascript, morda PHP). Že v osnovi GAE obsega vse najnujnejše storitve, ki jih pričakuje sodoben spletni program: dinamičen izvajalni sistem z zmogljivo programsko knjižnico, zanesljivo shrambo podatkov, upravljanje uporabniških računov, spletno in e-poštno komunikacijo med storitvami, sprotno spremljanje in analizo delovanja in še nekatere podrobnosti. GAE za povrh ponuja brezplačen razvojni komplet (SDK), s katerim lahko svoj program razvijemo v svojem računalniku in ga potem nadvse preprosto objavimo v Googlovem podatkovnem središču ter ga tako odpremo širnemu svetu.

Pogoji rabe GAE še niso povsem dorečeni, vendar bo vstopna zmogljivost po zagotovilih ponudnika vedno na voljo brezplačno. Trenutno to pomeni 500 MB prostora v strežniku in okrog 5 milijonov ogledov strani na mesec, čeprav je ob trenutni konici mogoče, da bo strežba programa začasno onemogočena, čeprav mesečna kvota še ni bila dosežena. Seveda bo za uspešne aplikacije na voljo tudi plačljivi model, ki bo zelo verjetno povezan tudi s strežbo Googlovih oglasov, tako da bo verjetno tudi visoka zmogljivost na voljo zelo ugodno.

Zaenkrat GAE lepo kaže, da je eden ključnih mož v njegovi ekipi sam tvorec pythona, Guido van Rossum, ki že vrsto let dela za Google, GAE pa je po Mondrianu, internem sistemu za revizijo programske kode, njegov drugi večji projekt v podjetju. Guido je razvil SDK in v GAE prenesel ogrodje Django, ki je za python nekaj takega, kot je Rails za ruby. Za python bo GAE gotovo pomenil nov izjemen dvig priljubljenosti, ki je v množični spletni konkurenci že precej usihala.

Povzemimo poglavitne prednosti GAE pred sedanjo konkurenco. Prva je vsekakor zagotovljeno skoraj neomejeno stopnjevanje zmogljivosti, brez kakršnekoli skrbi za razvijalca (razen morda plačila ob preseženih kvotah). Druga pomembna podrobnost je SDK, ki omogoča udoben razvoj na lastni napravi in preprosto objavljanje končanega projekta. Še več, SDK je odprtokodni projekt in v teoriji omogoča razvoj konkurenčnih podlag, ki bi lahko gostile programe za GAE. Za podatkovno shrambo GAE ponuja Bigtable, Googlovo zbirko podatkov, ki je načrtovana in izdelana za visoko zmogljive spletne programe in omogoča nadzor podatkovnega modela v celoti iz kode. Izjemen plus je tudi vgrajena podpora rabi Googlovih računov, vsak uporabnik katerekoli Googlove storitve je že takoj potencialni uporabnik programa za GAE. Ponudba seveda ni brez pomanjkljivosti. Predvsem je še vedno na voljo zgolj za zaprto skupino preizkuševalcev. Prvih 10.000 odprtih mest je pošlo v nekaj urah po predstavitvi, počasi pa dodajajo nove. Nejasna je tudi cenovna politika za bolj priljubljene programe, ki bodo hitro presegli omejitve brezplačnega gostovanja. Vendar bodo te podrobnosti zelo hitro razjasnjene. Nekoliko bolj zaskrbljujoče so druge omejitve. Pete Koomen, produktni vodja GAE, je že objavil, da so trenutno osredotočeni na podporo dodatnim programskim jezikom, možnost načrtovanih paketnih obdelav v ozadju in odpravo omejitve strežbe statičnih datotek, ki so trenutno lahko velike največ 1 MB. Zainteresirane razvijalce pa lahko v GAE skrbi še odsotnost podpore protokolu SSL in nezmožnost programske obdelave slik. A vse to so podrobnosti, ki bodo s časom gotovo odpravljene. Veliko pomembnejše vprašanje je, ali GAE razvijalce zaklepa v lastniško podlago, iz katere se bo zelo težko izviti?

Vsekakor je posebej prilagojeno okolje v pythonu z Googlovo programsko knjižnico pomembna ovira pri morebitni zamenjavi podlage za strežbo. Vendar je skozi odprti SDK mogoče priti do vseh podrobnosti izvajalnega okolja in ga razmeroma hitro prenesti kam drugam. Stavil bi, da bomo zelo hitro dočakali odprtokodne projekte, ki bodo python, kot ga pozna GAE, prenesli tudi v druge spletne strežnike, med prvimi verjetno v Apache. Vendar je to šele začetek. Google pač stavi na svojo visoko zmogljivo zaledje. Prenesti knjižnice SDK, je eno, omogočiti zmogljivosti Googlove zbirke podatkov Bigtable, pa čisto nekaj drugega. In če razvijalcem odprtokodnih zbirk podatkov, kot sta MySQL in PostgreSQL, še nekako uspe dodati podporo GQL (prilagojeni poizvedbeni jezik, podoben SQL, ki ga uporablja Bigtable), kdo bo zagotovil visoko razpoložljivost in zanesljivost datotečnega sistema GFS in celotnega Googlovega omrežja podatkovnih središč z lastnimi medsebojnimi optičnimi povezavami?

In stavil bi še nekaj: razvijalci bodo za uporabo GAE še posebej motivirani zaradi Googlovih globokih žepov. Mar je lepši način, kako prodati svoje znanje Googlu, kot razviti aplikacijo GAE, ki prebije omejitve kvote in se izkaže za nadvse uporabno in priljubljeno? Navsezadnje gre Googlu predvsem za čim večji obisk, ki pomeni več prikazanih oglasov. In po nakupu se jim sploh ne bo treba ukvarjati s prenosom aplikacije na lastno infrastrukturo, saj že deluje ravno tam.

Razvijalci bodo za uporabo Google App Engine še posebej motivirani zaradi Googlovih globokih žepov.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
Prijava

ph

Komentirajo lahko le prijavljeni uporabniki