Am considerat ca ar fi interesant un articol despre Grid si Cloud Computing, care desi sunt doua aspecte diferite, pot oferi multe beneficii utilizatorilor. Acest mic articol nu discuta despre cum poate fi imbunatatita performanta pe web, ci despre cum putem folosi noi web-ul pentru a ne spori performanta atunci cand avem resurse ce dorim sa le stocam intr-un mod diferit.
Grid Computing este un termen care se refera la combinarea de resurse de la mai multe surse pentru a a-si atinge un anumit scop. Reteau poate fi gandita ca un sistem distribuit cu resurse care nu interactioneaza unul cu altul si care este constituit dintr-un numar foarte mare de fisiere. Calculul distribuit este un tip special de calcul paralel care se bazeaza pe calculatoare intregi conectate printr-o retea (fie privata sau publica gen Internet) prin Ethernet de exemplu. Aceasta idee este in contrast cu ideea de un supercomputer care are mai multe procesoare conectate printr-un bus de mare viteza local.
Principalul dezavantaj din punct de vedere al performantei este variatia existenta in diferitele procesoare de pe piata, si mai este dat si de viteza internetului in functie de zona nefiind una favorabila.
Grid computing ofera o modalitate de a rezolva probleme existente, cum ar fi plierea proteinelor (folding@home) , simulare, analiza de date din astronomie(seti@home) si multe altele. Grid computing merge pe premiza ca orice ciclu de procesor care nu este utilizat, poate fi folosit in acest calcul.
Pentru ca un task sa fie potrivit pentru Grid Computing, codul din spate trebuie sa ruleze in paralel ,iar diferitele sarcini sa fie mutual exclusive.
Cloud Computing
Este o extensie a conceptului de programare orientat obiect si anume abstractizarea. Abstractizarea indeparteaza detaliile complexe legate de cum functioneaza lucrurile si ceea ce este perceput de utilizator. Tot ce vede utilizatorul este o interfata care primeste Inputuri si furnizeaza Outputuri. Cum este calculat si procesat outputul este complet ascuns. Intr-un mediu bazat pe Cloud Computing datele exista pe mai multe servere, detaliile legate de conexiunile in retea sunt ascunse deoarece utilizatorul nu este interesat de acest aspect. Cloud Computing deriva foarte mult de la paradigma Unix de a avea mai multe elemente, fiecare avand un scop cat mai specific, in loc sa avem un element masiv dar sa nu fie la fel de bun la acel scop.
Exemple ar fi: Amazon EC2, Google App Engine, Google Apps, Apple MobileMe dar si un exemplu pentru pasionati de jocuri <a href=”http://www.onlive.com/#1”>Onlive</a> bazat pe feeduri video a jocurilor.
Cloud Computing Vs Grid Computing
Diferenta dintre acestea este cateodata greu de inteles deoarece nu sunt intodeauna mutual exclusive. Amandoua sunt folosite pentru a maximiza resursele ce le avem la dispozitie. Deasemenea ambele folosesc abstractizarea la un nivel extensiv, si ambele au elemente care interactioneaza unul cu altul.
Diferenta provine de la felul in care sunt procesate diferitele taskuri in respectivele medii: in Grid computing un task major este dat si divizat in bucati mai mici si executat pe mai multe calculatoare.
Cloud computing are rolul de a furniza utilizatorului diferite servicii fara ca acesta sa investeasca in arhitectura din spate. Cloud computing poate oferi o multitudine de aceste servicii de la web hosting pana la redactare de documente online sau chiar jocuri si apoi sa ii prezinte utilizatorului un rezultat omogen.
In concluzie desi nu sunt mutual exclusive acest concepte, ele sunt distincte cel putin la nivel conceptual.
Niciun comentariu:
Trimiteți un comentariu