Cloud este probabil unul dintre cei mai folosiți termeni în industria IT a acestui deceniu, dar ce înseamnă, de fapt, norișorul?
Încă de la începuturile ei, rețeaua "Internet" a fost reprezentată vizual, în diagrame, printr-un nor, arătând astfel faptul că ea este oferită ca serviciu, fără a dezvălui informații legate de implementarea tehnică, ea oferind doar o interfață de comunicare cu alte rețele. Iată în imaginea alăturată un exemplu de astfel de diagramă: avem mai multe elemente pe care le cunoaștem (firewall, web server, utilizatori - vezi fig . 1) și apoi un element care ne este oferit ca serviciu, așa cum am descris mai sus.
Acest element este Internetul, reprezentat printr-un norișor. Cei mai mulți utilizatori nu cunosc detalii despre cum funcționează Internetul ca rețea. Ei știu că au la dispoziție o interfață de accesare a lui (o rețea fără fir, un cablu de date etc.) și se pot folosi de el în activitățile de zi cu zi. Evident, aceasta este utilitatea serviciilor de Cloud pentru utilizatorii casnici.
Pe de altă parte, există și alte tipuri de utilizatori. Unul dintre partenerii noștri a dezvoltat o aplicație pentru organizații guvernamentale locale, pe care o numește "Government as a Service". Vânzările acestei aplicații se bazează, evident, pe magicul cuvânt "Cloud".
Angajații administrațiilor locale (pentru că lor le este destinată aplicația) au la dispoziție o aplicație web pe care o vor folosi intens în munca de zi cu zi, aplicație care le pune la dispoziție toate instrumentele de care au nevoie în serviciile pe care le oferă cetățenilor (ex. înregistrare de nașteri, decese, căsătorii și altele).
Aplicația va fi găzduită de către producătorii softului - tot ce au nevoie administrațiile locale este un computer pentru fiecare angajat, conectat la rețea. Putem spune că este un serviciu de tip Cloud, din punctul lor de vedere? Cu siguranță! Nu îi interesează prin ce firewall-uri trec conexiunile, unde și cum sunt stocate datele (cel puțin nu pe angajații de la ghișeu), nu trebuie să facă nici un fel de mentenanță la nici un fel de sisteme, nu au nici un fel de interacțiune cu nimic decât cu ceea ce au ei nevoie: instrumentele de procesare a datelor și evenimentelor de stare civilă. Mai pe scurt, se conectează la Cloud și fac treabă!
Putem spune același lucru despre firma care produce softul? Ce înseamnă Cloud pentru ei? Aplicația este, în mod evident, un produs al lor, ei oferă suport, fac mentenanță pe ea, știu exact cum funcționează fiecare bucățică, iar diagrama de arhitectură este una complexă. Dar, dacă ne uităm pe diagrame, ar trebui, totuși, să vedem câte un norișor. Ar trebui să existe un serviciu specializat de platformă de aplicații (PaaS). O săgeată țintește, pe diagramă, din mediul de dezvoltare al firmei (de ce nu, poate chiar de pe computerul programatorilor) direct către "Cloud". Codul scris de dezvoltatori ajunge direct într-un mediu gata pregătit. Nici programatorii, nici testerii, nici business analiști-i, nici nimeni altcineva nu este dependent de modul cum funcționează această platformă, ci doar de interfața pusă la dispoziție de prestatorul de servicii care oferă platforma (în general un set de API-uri). Analog, distribuitorul de platformă poate avea un distribuitor de infrastructură (IaaS), și tot așa.
De asemenea, nu este neapărat ca tot acest lanț sa fie extern, se poate ca aceste servicii să fie oferite pur și simplu de un alt departament al aceleași companii. De exemplu "băieții de la IT" oferă partea de Infrastructură, o echipă de "devops" oferă partea de platformă, iar programatorii își văd liniștiți de treaba lor.
Când vorbim despre servicii de tip "Cloud" ne gândim, din punctul de vedere al furnizorului, la atribute cum ar fi:
O situație interesantă apare atunci când avem un soft care are funcționalitate asemănătoare cu cea a unui Cloud dar rulează pe o infrastructură care nu este "cloud-like", multe din atributele descrise mai sus fiind emulate prin diverse soluții auxiliare, în cadrul aplicației. Putem vorbi, în acest caz, despre "Cloud"? Este suficient ca o aplicație să fie desenată în diagramele beneficiarilor serviciului ca pe un norișor ca să fie "cloud-based"? Eu consider că nu! Da, este oferită "as a service" dar dacă partea de scalabilitate lipsește (și este nevoie ca ea să fie implementată la toate nivelele!), atunci aplicația nu va putea susține perioade neașteptate de trafic mai mare, nu vom putea discuta despre o reducere a costurilor dacă nu putem scala automat resursele la nevoile curente. La fel și cu celelalte atribute care ajută la definirea unui "nor".
Așadar, în funcție de perspectiva din care privim lucrurile (beneficiar vs. furnizor de servicii) și de specificul unui proiect, acest cuvânt poate avea mai multe semnificații, deci să nu ne lăsăm păcăliți de nori falși care nu aduc ploaia atât de necesară de funcționalitate de care are nevoie recolta noastră!
de Cristian Pup
de Alin Luncan
de Corina Pip