Sunteți pe pagina 1din 23

Cloud Computing

Cloud Computing
Gestiunea resurselor
Blaga Ioana Bianca
Birloi Florian Cristian
Bratulescu Alexandra
Brad Marius Constantin

Cuprins:
1. Argument........................................................................................................... 1
2. Introducere in Cloud Computing.........................................................................2
3. Tehnologii ce stau la baza Cloudului...................................................................3
4. Problematici curente ale resurselor in Cloud......................................................8
5. Securitatea datelor si resurselor in mediul Cloud.............................................12
6. Managementul resurselor in Cloud...................................................................16
7. Cloudul verde. Green Computing.....................................................................21
8. Concluzii........................................................................................................... 22
9. Bibliografie....................................................................................................... 22

1. Argument
Prezenta lucrare isi propune sa realizeze un incurs stiintific in ceea ce inseamna
paradigma Cloud Computing si sa abordeze cu precadere aspectul gestiunii resurselor intr-un
mediu Cloud. Gestiunea (managementul) resurselor este de departe cel mai controversat si
cercetat domeniu la ora actuala in legatura cu Cloud Computing, intrucat de el depind
calitatea serviciilor (QoS), profitabilitatea furnizorilor de Cloud, impactul asupra mediului
inconjurator sau securitatea datelor. Se cauta in permanenta diverse tehnici si diversi algoritmi
care sa administreze optim resursele hardware si software ale Cloudului. Domeniul se afla la
intersectia mai multor domenii de studiu precum: fizica, matematica, statistica, informatica,
inteligenta artificiala, ecologie.
Lucrarea este structurata dupa cum urmeaza. Sectiunea 2 prezinta o introducere in
tema, concepte, terminologie specifica, evolutia Cloudului, modele de servicii si implementari
de sisteme Cloud. In sectiunea 3 discutam despre tehnologiile existente care au dat nastere la
Cloud si anume serviciile web, virtualizarea, respectiv Grid Computing. In sectiunea 4 sunt
abordate cele 3 problematici ale gestiunii resurselor: multi-tenancy, disponibilitatea si
scalabilitatea acestora. Prin sectiunea 5 incercam sa explicam si sa atragem atentia asupra
securitatii sistemelor Cloud si sa dam cateva recomandari. Sectiunea 6 trateaza diverse
tehnici de management al resurselor si exemplifica 2 produse existente pe piata, Amazon
CloudWatch si HP CloudSystem Matrix pentru IaaS. Apoi in sectiunea 7 vorbim despre
impactul Cloudului in mediul inconjurator si gradul de poluare permis. La final in sectiunea 8
oferim concluziile si directiile de urmat pentru viitor.

Gestiunea resurselor

2. Introducere in Cloud Computing


Conform NIST (Institutul National de Standarde si Tehnologii) Cloud Computing-ul
este un model convenabil care s permit accesul la cerere, pe baz de reea (Internet), la o
grupare de resurse de calcul configurabile (de exemplu reele, servere, echipamente de
stocare, platforme, aplicaii i servicii) care pot fi puse la dispoziia utilizatorului n mod rapid
i cu un efort minim de administrare sau interaciune cu prestatorul acestor servicii.
Realmente doar denumirea de calcul in nori pare sa fie inedita, mai mult din motive
de marketing. Cloud Computing are la baza tehnologii demult cunoscute precum virtualizarea,
serviciile web, Cluster Computing (calcul paralel, centralizat si de inalta performanta) sau
Grid Computing (calcul paralel si distribuit). Definitiile sunt multe si nu intotdeauna
riguroase. Norul este folosit aici in sens metaforic sugerand faptul ca cel ce consuma aceste
resurse nu cunoaste cu exactitate locul amplasarii lor. Clientii platesc atat cat consuma, dupa
sistemul pay-per-use sau pay-as-you-go. Puterea de calcul in Cloud da senzatia ca este
infinita, scalabilitatea si regimul multi-tenant de administrare a resurselor virtuale permitand
dezalocarea lor de la cei ce nu mai au nevoie de ele si alocarea lor la cei ce au nevoie. In acest
sens Cloud Computing este un tip de utility Computing.
Serviciile Cloud sunt cel mai adesea de 3 tipuri:

IaaS (Infrastructure as a Service): Este cel mai de jos nivel de abstractizare. Aici se pun
la dispozitie utilizatorului infrastructuri complete de calcul (procesoare, memorii, spatii
de stocare, latime de banda, servere) sub forma unor masini virtuale. Aceste masini
virtuale sunt create la cerere si distruse atunci cand nu mai sunt necesare de agenti
software numiti hipervizori (VMWare, Xen, Virtual Box, Hyper-V). Clientii isi pot aloca
singuri resurse cu ajutorul unor programe middleware sau sisteme de management al
Cloudului (CMS). Exista cateva nume importante care au dat nastere la Cloud
middleware comercial: Amazon Web Services EC2, Google Compute Engine, VMWare
vCloud, dar exista si variante open-source: Eucalyptus, Open Nebula, Open Stack, Cloud
Stack. Ultimele se afla sub egida fundatiei Apache si sunt folosite mai ales in medii
academice sau ONG-uri.

PaaS (Platform as a Service): Este un nivel intermediar. Platformele sunt construite pe


fundatiile IaaS si sunt oferite clientilor programatori impreuna cu framework-uri,
instrumente si medii de dezvoltare si executie proprietare sau open-source. Cele mai
cunoscute exemple sunt Microsoft Azure (cu cele 3 componente: Windows Azure, SQL
Azure si serviciile .Net Azure), Google App Engine si Apache Hadoop pentru procesare
Big Data.

SaaS (Software as a Service): Este nivelul superior, nivelul aplicatie, cel mai aproape de
utilizatorul de rand. Aplicatiile sunt web si sunt accesate de regula prin navigatoare web.
Pot fi aplicatii de mail, colaborative, de birotica, de stocare de fisiere sau chiar CRM-uri
si ERP-uri. Furnizori cunoscuti de servicii SaaS sunt IBM, Oracle, SAP, Salesforce,
Microsoft, Google, Yahoo, Dropbox.

Diferentele si asemanarile intre modelele de servicii Cloud si arhitecturile clasice onpremise sunt ilustrate in Figura 1 de alaturi.
Implementarile de Cloud pot fi publice, private, comunitare sau hibride. Un Cloud
public (extern) este partajat de mai multi consumatori in regim multi-tenant (multi-chirias).
Este furnizat la cerere de AWS, Rackspace, Citrix, Google si alti jucatori importanti,
consumul fiind masurat. Intr-un Cloud public datele clientilor (cu caracter confidential) rezida
2

Cloud Computing

in data center-ele furnizorului. Cloud-ul privat (intern) apartine exclusiv firmei beneficiare,
infrastructura fiind de obicei amplasata in cladirile acesteia. Daca mai multe organizatii avand
interese comune partajeaza resurse computationale in Cloud, spunem despre acel Cloud ca
este comunitar. Acesta este cazul frecvent al institutiilor de invatamant. Modalitatile de
implementare de mai sus pot fi combinate, rezultand astfel Cloud-ul hibrid. Spre exemplu, o
firma isi poate extinde capacitatile de stocare din propriul Cloud, cerand masini virtuale in
plus la un furnizor public.

3. Tehnologii ce stau la baza Cloudului


In prezent sunt multe tehnologii care sunt mentionate impreuna cu Cloud Computing,
printre acestea mentionam Grid Computing, SOA, Distributed Computing si Virtualizarea. In
continuare vor fi descrise aceste tehnologii.
1. Virtualizarea:
a) Virtualizare server
Virtualizarea serverelor este o tehnologie cheie care implementeaza Infrastructura ca
un Serviciu (Infrastructure as a Service). Aceasta tehnologie consta in abstractizarea spatiului
de stocare fizic pe care ruleaza aplicatiile si face sa para ca acestea ruleaza intr-o masina fizica
normala. Drept dovada, virtualizarea serverelor are urmatorul rol in Cloud Computing. Din
moment ce produsele software par sa ruleze pe o masina virtuala este posibila mutarea
acestora dintr-un spatiu de stocare fizic in altul prin replicarea masinii virtuale in cel de-al
doilea spatiu de stocare.
b) Virtualizare software
In mare exista 2 categorii de virtualizare soft, acestea sunt: virtualizare de sistem si
virtualizare de proces.
In virtualizare de proces, softul de virtualizare ruleaza in cadrul sistemului de operare si
pune la dispozitie doar instructiuni la nivel de utilizator. Exemple de virtualizare de proces
sunt: Java Virtual Machine de la Sun sau .Net de la Microsoft.
Virtualizarea de sistem este situat ca prioritate intre configuratia hardware gazda si
partea soft de pe cealalta masina si are ca rol principal sa puna la dispozitie resurse hardware
virtuale proceselor utilizator. Virtualizarea sistemului implementeaza conceptul de
elasticitate a componentei hardware fara a afecta partea de soft (o cerinta esentiala in Cloud
Computing).
Partea software responsabila pentru virtualizare de sistem este numita Virtual Machine
Monitor (VMM) sau hipervizor. Combinatia de OS si aplicatii care ruleaza in cadrul softului
de virtualizare se numeste guest (oaspete) sau Masina Virtuala. Un hipervizor permite mai
multor sisteme de operare sa ruleze in mod concurent pe configuratia hardware a gazdei.
Aceste instante pot fi utilizate de diferiti utilizatori fara ca porcesele rulate de acesti utilizatori
sa interfereze unele cu altele. Ba mai mult hipervizorul gestioneaza schimbarile aduse
procesorului pe care ruleaza aplicatia fara a afecta sistemul de operare al utilizatorului sau
aplicatia.
Hipervizorii sunt clasificati in 2 categorii:

Hipervizorii nativi (Native hipervizors);


Hipervizori gazduiti (Hosted hipervizors);
3

Gestiunea resurselor

Prima categorie, hipervizorii nativi, ruleaza direct pe partea hardware, punand la


dispozitie toate facilitatile necesare gazdei.
Hipervizorii gazduiti ruleaza in cadrul unui sistem de operare, iar masinile virtuale
ruleaza in cadrul acestor hipervizori. Acest lucru, fiind ineficient, a dus la aparitia
hipervizorilor hibrid unde hipervizorii ruleaza direct pe partea hardware scotand in evidenta
caracteristicile unui sistem de operare deja existent care ruleaza pe post de gazda.
Exista diferite tehnici utilizate pentru virtualizarea bazata pe hipervizori. Una dintre
principalele tehnici folosite este Trap and emulate virtualization, aceasta metoda este
folosita inca de la primii hipervizori si are anumite limitari.
La un anumit nivel toate tipurile de hipervizori descrise mai sus lucreaza in acelasi fel.
In orice caz, oaspetii ruleaza aplicatii pana cand se incearca accesarea unei resurse fizice
utilizata de alt proces sau aplicatia este intrerupta. Pentru a realiza acet lucru, hipervizorii se
bazeaza pe o caracteristica a procesoarelor moderne cunoscuta sub numele de nivel de acces
(privilege level sau protection ring) care are ca idee centrala faptul ca toate instructiunile care
modifica resursele fizice pot fi realizate numai la cel mai mare nivel de acces. La nivele mai
joase de acces numai un anumit set specific de instructiuni este permis. Atunci cand se
incearca modificarea unei astfel de resurse de la un nivel de acces inferior este generata o
capcana (Trap de unde si numele tehnicii) si procesul este intrerupt urmand sa se genereze o
cerere de modificare a acelei resurse, lucru ce va dura mult mai mult decat o modificare
directa.
Dupa cum am spus mai sus tehnica Trap and Emulate Virtualization are anumite
limitari dintre care 2 majore. In primul rand, ca in orice tehnica de emulare, apar intarzieri
atunci cand se incearca modificarea resurselor fizice si in al doilea rand nu toate arhitecturile
pot implementa aceasta tehnica. Aceste limitari pot fi rezolvate prin binary translation si
paravirtualization.
Cei mai populari hipervizori sunt:
VMware Virtualization Software. Acest tip de hipervizor utilizeaza tehnologiile
descrise anterior iar in acest soft fiecare masina virtuala ruleaza in cadrul unui
Virtual Machine Monitor (VMM) care este un proces care ruleaza sub vmkernel
(contine functii ale sistemului de operare cum ar fi planificare si partea de
networking).
XenServer Virtual Machine Monitor. Acest hipervizor open-source este foarte
utilizat, in cadrul acestuia masinile virtuale gazde sunt denumite domenii. Domeniul
0 este cel mai priviliegiat dintre acestea deoarece are acces la partea hardware. In
cadrul acestui hipervizor toate instrucitunile de tipul I/O venite de la alte domenii
decat Domeniul 0 sunt trimise la domeniul 0 (paravirtualization). Arhitectura Xen
difera de cea VMware in sensul ca partea de suport pentru virtualizare este impartita
intre hipervizorul Xen si Domeniul 0.
c) Virtualizarea spatiilor de stocare
Virtualizarea spatiului fizic poate fi definita ca fiind un mijloc prin care subsitemele
fizice de stocare sunt abstractizate de aplicatie si sunt prezentate ca entitati logice care ascund
complexiatetea subsistemelor precum si natura accesului la acestea (prin retea sau direct). Ca
si virtualizarea serverului, aceasta abstractizare ajuta aplicatiile sa functioneze la parametrii
normali in ciuda schimbarilor efectuate asupra spatiului fizic de stocare. Virtualizarea
spatiului fizic mai pune la dispozitie o mai buna utilizare a resurselor prin agregarea
4

Cloud Computing

capacitatii a mai multor dispozitive de stocare in storage pools, lucru ce ofera un acces mai
usor la spatiul de stocare potrivit in functie de performanta si cost.
In mare exista doua categorii de virtualizare a spatiului fizic:

La nivel de fisier;
La nivel de bloc;

Virtualizarea la nivel de fisier creeaza un strat abstract intre serverele de fisiere si


clienti. Acest strat gestioneaza fisierele, directoarele sau fisierele de sistem de-a lungul mai
multor servere si permite administratorilor sa le ofere utilizatorilor un singur sistem logic de
fisiere. O simpla implementare a unei virtualizari a spatiului fizic la nivel de fisier ar fi o retea
care permite impartirea fisierelor in functie de un protocol standard cu multiple servere ce
permit accesul la fisiere. Exemple: NFS, CIFS si interfetele Web cum ar fi HTTP/WebDAV.
Un sistem de fisiere distribuit (DFS distributed file system) este un sistem retea unde
sistemul de fisiere este distribuit pe mai multe servere. DFS implementeaza transparenta
locatiei, replicarea directoarelor de fisiere precum si toleranta la greseli. In acest sistem
distributia continutului fisierelor este foarte rapida.
O problema pentru acest sistem este managementul metadatelor. Exista 2 tehnici
importante pentru a realiza acest lucru:

Separarea datelor de metadate cu un server centralizat de metadata (folosit in Lustre,


Pansas);
Distributia datelor si metadatelor pe mai multe servere (folosita in Gluster, Ibrix).

In primul caz managementul metadatelor se face prin server dedicat pentru metadate
spre care sunt directionate toate operatiile asupa metadatelor efectuate de catre client. Acest
tip de solutie se foloseste in cazul lucrului cu fisiere foarte mari.
In al doilea caz metadatele sunt distribuite in toate nodurile din sistem, spre deosebire
de prima abordarea unde sunt concentrate intr-un server centralizat. Un astfel de sistem este
foarte complex din moment ce metadatele sunt imprastiate in toate nodurile sistemului.
Virtualizarea la nivel de bloc. Stocarea la nivel de bloc duce la o mai buna
preformanta si este utilizata in special pentru porcesele de tranzactii in baza de date. Cu toate
acestea performantele inregistrate in stocare la nivel de bloc si la nivel de fisier sunt
asemanatoare astfel incat multe companii prefera stocarea la nivel de fisier. Punerea la
dispozitie a stocarii la nivel de bloc este esentiala pentru IaaS. Aceasta tehnica virtualizeaza
mai multe spatii fizice de depozitare si previne aparitia unui singur spatiu logic de depozitare.
Blocurile de date sunt mapate in unul sau mai multe subsisteme de stocare, dar figurand ca
fiind un singur spatiu de depozitare logic.
Virtualizarea la nivel de bloc poate fi efectuata pe 3 nivele:

Nivelul Host-Based;
Nivelul de stocare (Storage Level);
Nivelul de retea (Network Level);

Pentru primul nivel o metoda traditionala de virtualizare o reprezinta utilizarea unui


Logical Volume Manager (LVM) ce reprezinta un strat care gestioneaza alocarea si
managementul spatiului de pe disk sau combina mai multe parti mici de spatiu neutilizat de

Gestiunea resurselor

stocare de pe mei mule disk-uri sau crearea unui spatiu logic care este mai mare ca spatiul
fizic, toate aceste lucruri in mod transparent.
Pentru cel de-al doilea nivel se creaza Volume Virtuale din spatiul de depozitare fizic
de la un subsistem specific.
Nivelul de retea este cea mai utilizata forma. In aceasta abordare, functionalitatea de
virtualizare este implementata in spatiul de stocare si host-urile retelei. Sunt doua categorii
in functie de locul in care este implementata virtualizarea: in router sau in server. Intr-o
virtualizare cu baza in router, virtualizarea propriu-zisa are loc intr-un switch inteligent din
componenta routerului si functionalitatea este indeplinita cand functioneaza impreuna cu
manager de metadate din reatea. In virtualizarea cu baza in server fluxurile de date I/O trec
printr-un server care controleaza stratul de virtulalizare.
2. Grid Computing:
Cloud Computing este adesea comparat cu Grid Computing deoarece ambele au
functionalitati asemanatoare si sunt multe aspecte ale Grid Computingului care au stat la baza
Cloud Computingului. Cu toate acestea sunt anumite diferente intre infrastructura Grid
Computing de cea Cloud Computing, lucru ce va fi evidentiat mai jos.
Principalul obiectiv al Grid Computingului este sa livreze computerul ca o utilitate.
Aceast obiectiv este des prezentat facand o analogie cu grilele de curent electric de unde si
denumirea de Grid. In mare, Grid Computingul a fost menit sa fie uilizat de persoane care
voiau acces la computere fara sa stie unde se afla acestea sau ce configuratie hardware au. In
acest sens este destul de similar cu Cloud Computing. Totusi, principala caracteristica a Grid
Computingului a fost sa realizeze impartirea resurselor sau realizarea unui pool de resurse
care pot fi disponibile utilizatorilor. Asa ca cea mai mare parte a strategiei Grid
Computingului a fost limitata la punerea la dispozitia clientilor anumite resurse folosind
protocoale de acces obisnuite. Datorita faptului ca principalii beneficiari ai acestei tehnologii
erau institutiile educationale s-a pus accentul pe gestionarea unei infarstructuri eterogene. Cu
toate ca Grid Computingul a fost o solutie foarte populara in cadrul universitatilor, acesta a
intampinat dificultati atunci cand s-a pus problema distribuirii resurselor in cadrul
organizatiilor comerciale.
Caracteristici fundamentale ale Grid Computingului:
a) Coordoneaza resurse care nu sunt subiectul unui control centralizat.
b) Folosirea unuor protocoale standard, ce au un scop general si interfete;
c) Livreaza o calitate obisnuita a serviciului;
Din primul criteriu reiese faptul ca un Grid trebuie sa integreze resurse din diferite
domenii de control (servere). Din punct de vedere tehnologic in acest caz apare porblema
securitatii transferului de date intre domenii ceea ce inseamna ca utilizarea protocoalelor de
acces de la punctul b) este esentiala. In final, intr-un efort de a comercializa utilizarea
resurselor distribuite este important sa imbunatatesti anumiti parametrii de calitate (pct. c).
Grid Computingul defineste notiunea de organizare virtuala pentru a pune la dispozitie o
distributie flexibila, coordonata si sigura a resurselor intre participanti. Organizarea virtuala
este de fapt o colectie dinamica de indivizi sau institutii din mai multe domenii administrative
carora le este oferit accesul la resurse distribuite in limita anumitor restrictii. Principala
problema a acestei tehnologii a fost distribuirea resurselor intre doi participanti necompatibili
a unei organizari virtuale carora li se cere sa realizeze acelasi task.

Cloud Computing

Comparatie Grid-Cloud
Similaritati:
Principala asemanare dintre cele 2 tehnologii este intentia de a pune la dispozitie resurse
care pot creste mai multe decat un utilizator poate detine pe cont propriu.In Grid Computing,
cresterea se realizeaza prin cresterea utilizarii resurselor pe cand in Cloud Computing este
realizata prin utilizarea unor tehnici sofisticate de auto-reprovizionare sau prin simpla
reprovizionare cu mai mult decat a cerut utilizatorul.
Nevoia de multitasking este indeplinita de ambele tehnologii, deoarece mai multi
utilizatori pot accesa aceleasi resurse si rula mai multe instante ale unor aplicatii.
Din moment ce ambele forme de Computing au nevoie de resurse din alt loc, ambele au
realizat intelegeri pentru a asigura un fair-play mai ales cand utilizarea resurselor vine si cu un
contract de natura comerciala.
Diferente:
Un Grid leaga diferite resurse dispersate de la mai multe organizatii pentru a forma o
mare de resurse de unde aceste resurse se aloca unui user dintr-o mare de useri care pot avea o
contributie pentru organizatia utilizatorului. Principalul scop este exploatarea resurselor
neutilizate care sunt eterogene in mare. Pe de alta parte infrastructura Cloud este compusa din
resurse omogene si acestea sunt furnizate de un singur furnizor unui consumator sau utilizator.
Principala metoda prin care se utilizeaza un numar mare de resurse intr-un Grid este
prin rezervarea in avans pe cand in cadrul infrastructurii de tip Cloud nu este nevoie de nici o
rezervare deoarece resursele vor creste odata ce va creste cererea de resurse.
Un alt aspect diferit intre cele doua tehnologii este proprietarul resurselor. Din moment
ce resursele din mai multe organizatii sunt puse la comun, computerele dintr-un Grid vor fi
din diferite domenii administrative asa ca modul in care se gestioneaza autentificarea intr-un
astfel de sistem devine foarte important. In schimb resursele dintr-un Cloud sunt detinute de
un singur proprietar si fiecare parteneriat de co-proprietate este rezolvat la nivel de
intreprindere.
In mediul Cloud consumatorii folosesc ceea ce vor si platesc pentru ceea ce au utilizat
in schimb in partea de Grid, plata nu este foarte importanta. Utilizatorii pot plati in mod
implicit prin contribuirea cu propriile resurse.
Din moment ce aplicatiile de tip Cloud sunt executate pe pagini web nu este nevoie sa
se instaleze software pe PC-ul clientului, in schimb la Grid Computing, unde datele sunt
eterogene este nevoie de planificari adecvate si instalare de soft.
Distributed Computing
Aceasta tehnologie exista de mai bine de 3 decenii si o simpla definitie a acesteia ar fi:
mai multe calculatoare conectate la o retea care comunica intre ele prin mesaje cu scopul de a
indeplini un obiectiv comun. Aceste sisteme sunt de obicei tratate diferit de Paralel
Computing sau Shared-Memory Systems, unde mai multe calculatoare impart o anumita
memorie care este folosita pentru comunicare intre procesoare. Spre exemplu Grid
Computingul este o forma a Distributed Computing unde nodurile (calculatoarele) pot
apartine diferitelor domenii administrative. Un alt exemplu ar fi solutia de virtualizare bazata
pe retea ce foloseste Distributed Computing intre date si metadate. Chiar si Cloud
Computingul este o forma a acestei tehnologii.
7

Gestiunea resurselor

3. SOA:
SOA (Service Oriented Architecture Arhitectura orientata pe Servicii) este un tip de
arhitectur software care presupune distribuirea funcionalitii aplicaiei n uniti mai mici,
distincte - numite servicii - care pot fi distribuite ntr-o reea i pot fi utilizate mpreun pentru
a crea aplicaii destinate afacerilor. Capacitatea mare cu care pot fi reutilizate aceste servicii n
aplicaii diferite este o caracteristic a arhitecturilor software bazate pe servicii. Aceste
servicii comunic ntre ele trimind informaii de la un serviciu la altul. SOA este deseori
vzut ca o evoluie a programrii distribuite si a programrii modulare, pe componente.
SOA este o arhitectur flexibil i standardizat ce contribuie la o mai bun conectare a
diverselor aplicaiilor i faciliteaz schimbul de informaii ntre acestea. SOA unific
procesele de business structurnd marile aplicaii ntr-o colecie de module mai mici numite
servicii. Aceste aplicaii pot fi folosite de diverse grupuri de oameni att din cadrul companiei
ct i din afara ei.
Serviciile sunt uniti funcionale neasociate care nu au apeluri unele ctre altele
nglobate n ele. n mod tipic sunt implementate funcionaliti pe care majoritatea oamenilor
le-ar recunoate ca si serviciu cum ar fi de exemplu completarea unei aplicaii online pentru
un cont, vizualizarea unui formular de banc sau a unui extras de cont online sau efectuarea
unei comenzi de bilet de avion online.
Serviciile nu au n codul propriu implementat modul n care acestea s comunice ntre
ele, protocoalele sunt cele n cadrul crora este implementat acest lucru.

4. Problematici curente ale resurselor in Cloud


Cel mai important element al Cloud Computing-ului este structura serverelor, deoarece
este considerata ca fiind creierul din spatele intregului mediu de procesare. In acest caz,
accentul nu este pus pe componentele fizice cu o performanta individuala foarte mare, ci mai
degraba pe posibilitatea unei organizatii de a valorifica puterea de calcul a unor echipamente
ieftine pe o scara mare.
Un alt element important este regimul multi chirias al acestei tehnologii, presupunand
ca orice companie poate sa beneficieze de capabilitatile de calcul pe care le ofera, permitand
astfel tuturor utilizatorilor sa aiba acces la informatii de oriunde si oricand ar avea nevoie,
ceea ce poate ajuta la prevenirea pierderii datelor sau organizarea proasta a fisierelor digitale.
Acest fapt ajuta compania sa aiba o mai mare protabilitate si permite o mai buna securitate a
datelor cand sunt stocate in acest mediu.
Disponibilitatea Cloud Computingului presupune ca toate informaiile sa fie gazduite
intr-un singur spatiu fizic ce permite administrarea mai eficienta a componentelor hard si soft
de catre un grup specializat care poate intretine mai usor aceasta arhitectura. Acest mod de
administrare a tehnologiei hard este preferat de catre companii, intrucat personalul se poate
concentra exclusiv asupra afacerii in timp ce altcineva de ocupa de gestionarea din punct de
vedere tehnic a acestei tehnologii, fiind o metoda mult mai putin costisitoare.
Factorul principal pe care il iau in considerare companiile este scalabilitatea sistemului
si realizeaza ca daca altcineva se va ocupa doar de intretinerea acestor mari servere o va face
mai rapid i mai eficient decat ar putea sa o fac prin eforturi proprii. In cazul in care afacerea
acestora devine mai complexa Cloudul va trebui s devina si el mai mare, iar compania nu
va trebui sa aiba grija acestei probleme. Solutia este externalizarea serviciului, prin punerea la
dispozitie a unui spatiu special amenajat pentru echipamentele de calcul si costurile asociate
8

Cloud Computing

cu angajzarea de tehnicieni sau achizitionarea perioadica a unor componente hard mai


costisitoare pentru ca totul sa decurga fara probleme.
In acest fel micile companii pot avea aceleasi beneficii referitor la tehnologia de calcul
ca si marile companii. Astfel acestea pot concura cu cele din urma si pot economisi mult
capital si timp, iar in acest mod isi pot concentra toat atentia in dezvoltarea afacerii.
Caracteristicile esentiale ale Cloud Computingului:
1) Resurse disponibile la cerere. Un consumator poate sa isi asigure n mod unilateral
capacitati de calcul cum ar fi timpul de server (server-time) i capacitate de stocare (network
storage), dupa cum are nevoie, n mod automat, fara a necesita interaciunea umana cu fiecare
din furnizorii de servicii.
2) Accesul realizat prin reea de band larg. Capabilitatile sunt disponibile in retea
si accesate prin intermediul unor mecanisme standard, care sa promoveze utilizarea de
platforme eterogene de tip thin sau thick client (de exemplu telefoane mobile, laptopuri,
tablete sau statii de lucru).
3) Resursele sunt folosite n comun. Resursele furnizorului de calcul sunt reunite
pentru a servi mai multor consumatori, folosind un model multi-tenant (mai muli asa-numiti
chiriasi), cu resurse fizice i virtuale diferite atribuite dinamic in functie de cererea
consumatorilor. Se introduce notiunea de independenta de locatia in care se asigura resursele,
in care clientul nu are in general niciun control sau cunostine asupra localizarii exacte a
resurselor oferite, dar se poate preciza locatia la un nivel mai ridicat de abstractizare (de
exemplu in ce tara, oras sau centru de date). Exemple de resurse partajate: capacitati de
stocare, de procesare, memorie si banda de retea.
4) Elasticitate/Scalabilitate. Capabilitatile sunt elastice, n unele cazuri n mod
automat, pentru a scala rapid n sus sau n jos in functie de cererea de resurse. Pentru
consumator, capacitatea de calcul disponibila pare a fi nelimitata si poate fi atribuita in orice
cantitate, n orice moment.
5) Serviciu masurat. Sisteme de control din Cloud monitorizeaza i optimizeaza
automat utilizarea resurselor prin mecanisme de masurare la un nivel de abstractizare adecvat
tipului de serviciu (de exemplu stocarea de date, prelucrarea, latimea de band i numarul de
conturi de utilizatori activi). Gradul de utilizare a resurselor poate fi monitorizat, controlat i
raportat pentru asigurarea transparenei, atat furnizorului cat i consumatorului de servicii
utilizate.
6) Iluzia de resursa infinita. Webmail-ul (Microsoft Hotmail, Yahoo! Mail, Gmail de
la Google) este un exemplu de serviciu in Cloud, dar solutiile oferite astazi sunt mult mai
avansate i mai complexe de atat, teoretic fiind posibil ca serviciile unei firme s ruleze n
totalitate in Cloud.
Astazi serviciile de Cloud necesita o foarte mare atentie din partea furnizorilor, intrucat
clientii isi doresc servicii de cele mai inalta calitate (QoS), stipulate in clauzele SLA (Service
Level Agreements). Principalele puncte deschise sunte scalabilitatea, regimul de multitenancy si disponibilitatea resurselor in Cloud. Despre acestea vom vorbi in urmatoarele
randuri.
A. Scalabilitate:
Reprezinta una dintre nevoile de baza ale oricarei platforme de Cloud
Computing.Aceasta poate fi realizata fie la nivel de infrastructura, fie la nivel de platforma.La
9

Gestiunea resurselor

nivel de infrastructura este vorba despre cresterea capacitatii puterii Computingului, in timp
ce la nivel de platforma tehnicile sunt in cea mai mare parte orientate catre satisfacerea
diferitelor cereri ale clientilor intr-o maniera in se foloseste cel mai util infrastructura
Computingului fara a cere acestira sa faca ceva in mod deosebit.
Exista doua cai principale ale scalarii resurselor Computingului:
- scalare verticala (scale up);
- scalare orizontala (scale out).
Scalarea verticala presupune adaugarea de mai multor resurse unui singur nod sau unui
singur sistem pentru a imbunatati performanta (ca de exemplu utilizarea unui sistem multicore in loc de single-core sau adaugarea de memorie). Obiectivul este acela de a face sistemul
sa fie mai puternic, astfel ca cu cat acesta este mai puternic cu atat poate fi utilizat cu mai
multa eficienta de catre un layer de virtualizare pentru a sustine mai multe procese sau mai
multe masini virtuale.
Scalarea orizontala se refera la extinderea resurselor Computingului prin adaugarea unui
nou sistem de calculatoare sau noduri unei aplicatii distribuite.Aceasta aplicatie distribuita
este construita intr-un asa fel incat sa utilizeze noile resurse adaugate sistemului (de exemplu
server-ul web Apache). Avantajul scalarii orizontale a sistemului se refera la folosirea, din
punct de vedere hardware, a unui disk si a memoriei pentru a rezulta performanta de inalta
calitate. Acest tip de scalabilitate avand nodurile de calcul interconectate sub forma unui
Cluster pot fi mult mai puternice decut un super calculator traditional, in special cu tehnologii
de interconectare mult mai rapide precum Myrinet si InfiniBand.
B. Multi-tenancy:
Cand vorbim despre multi-tenancy avem in vedere indeea de partajare a resurselor
Cloud intre mai multi utilizatori. Aspectul este asemanator cu partajarea in domeniul Bazelor
de Date. Doi utilizatori pot avea conturi pe aceeasi masina de lucru, dar fiecare sa detina o
baza de date proprie, pot partaja aceeasi instanta a bazei de date, insa sa lucreze fiecare in
schema proprie cu obiectele proprii sau pot partaja aceeasi tabela, fiecare cu inregistrarile lui.
Totul depinde de nivelul de granularitate a resurselor la care se ajunge partajabilitatea.
Cele 4 nivele ale regimului multi-chirias sunt:
1. Ad Hoc/ Instante customizate
In cadrul acestui nivel de baza, fiecare client are propriul tip de versiune software.
Aceasta reprezinta cea mai des intalnita situatie in cadrul celor mai multe centre de
intreprindere unde exista multiple instante si versuni de software.
2. Instante configurabile
In cadrul acestui nivel, toti clientii impart aceeasi versiune a programului. Totusi,
customizarea este posibila prin confirgurare si alte optiuni. Customizarea poate include
abilitatea punerii logo-ului clientului pe ecran, supravegherea nivelului de lucru a proceselor
clientului etc. Exista cateva plusuri considerabile fata de nivelul anterior, din moment ce
exista o singura copie a soft-ului care trebuie intretinuta. De asemenea, upgrade-urile sunt
foarte usor de realizat.
3. Instante eficient configurabile
Sistemele Cloud din cadrul acestui nivel, in ideea impartirii aceleiasi versiuni a
programului, de asemenea mai au o singura instanta a acestuia ce ruleaza care este divizata
10

Cloud Computing

tuturor clientilor. Acest fapt duce la o crestere a eficientei din moment ce ruleaza o singura
instanta a programului.
4. Instante eficient scalabile, configurabile
In plus fata de atributiile nivelului anterior, soft-ul este gazduit de catre un Cluster al
calculatoarelor, ce permite capacitatii sistemului sa scaleze aproape fara limitari. Astfel
numarul clientilor poate varia de la un numar mic la unul foarte mare si capacitatea folosita de
catre fiecare dintre acestia poate, de aemenea, varia de la una mica la una foarte mare.
Limitarile si problemele legate de performanta care ar putea exista in cazul nivelelor
anterioare sunt eliminate in acest caz. De exemplu, in ceea ce priveste un serviciu de mail in
Cloud precum Gmail sau Yahoo Mail, mai multi utilizatori impart acelasi server fizic de email
precum si aceleasi procese ale serverului. Aditional, email-urile provenite de la utilizatori
diferiti sunt stocate in acelasi set de device-uri de stocare si, probabil, acelasi set de fisiere.
Acest fapt se rasfrange asupra eficientei manageriale, de exemplu daca fiecare utilizator ar fi
trebuit sa aiba alocat un set de disk-uri pentru a stoca mail-uri, spatiul alocat fiecaruia dintre
acestia ar fi fost manageriat separat. Cu toate acestea, problema acestei metode de stocare este
ca cerintele de securitate nu sunt foarte ridicate. Daca server-ul de mail prezinta niste
vulnerabilitati si poate fi hack-uit este foarte posibil ca un utilizator sa acceseze mail-urile
altuia.
O alta cheie tehnologica pentru a asigura impartirea sigura a resurselor intr-o retea de tip
multi-tenancy este controlul accesului. Exista 2 forme ale acestuia in cazul providerilor de
servicii Cloud:
-

roluri
reguli de business

Rolurile presupun un set de permisiuni incluse in rol. De exemplu un rol de


administrator de stocare poate include permisiunile de a defini dispozitivele de stocare. Aceste
permisiuni pot sa nu fie incluse intr-un rol de administrator de server. In general, sistemul
Cloud ar trebui sa contina un set de roluri default care sunt compatibile cu sistemul Cloud.
Rolurile business sunt politici care furnizeaza mai mult acces la control decat il
furnizeaza rolurile, din moment ce ei pot depinde de parametrii operatiei. De exemplu, in
cazul unei aplicatii bancare, este posibil sa fie specificata o limita a sumei de bani pe care o
poate transfera un anumit rol sau de a specifica daca transferurile pot avea loc numai in cadrul
orelor de lurcru. Regulile business sunt diferentiate de roluri prin permisiunea unei operatii
sau nu, depinzand nu numai de operatie, dar si de parametri (ex: cantitatea de bani care
trebuie transferata de catre operatie).
Impartirea resurselor
Cele mai mari doua resurse care trebuie impartite sunt spatiile de stocare si serverele
(procesoarele). Intr-un sistem multi-chirias multi doritori impart acelasi sistem de stocare.
Aplicatiile Cloud pot folosi 2 tipuri de sisteme de stocare:
-

sisteme de fisiere (date nestructurate)


baze de date (date structurate)

Exista 2 metode de impartasire a datelor in cadrul unei singure baze de date:


-

table sharing
tabele dedicate fiecarui chirias (aici fiecare chirias isi stocheaza datele intr-un set de
tabele separat de al celorlalti).
11

Gestiunea resurselor

C. Disponibilitatea:
Serviciile Cloud au de asemenea nevoie de tehnici speciale pentru a atinge nivelele
inalte ale disponibilitatii. Exista doua abordari pentru a asigura disponibilitatea. Prima este
asigurarea unei inalte disponibilitati pentru aplicatiile care stau la baza construirii serviciilor
Cloud. Acest fapt implica, in general, trei tehnici:
-

Disponibilitatea infrastructurii ce asigura redundanta in cadul acesteia, precum


serverele, astfel incat noi servere sa fie mereu pregatite pentru a le inlocui pe cele
defecte.
Disponibilitatea medie ce se ocupa cu redundanta medie.
Disponibilitatea aplicatiei care este dobandita prin intermediul redundantei aplicatiei.

Toleranta la greseli. Detectarea esecului


Numerosi furnizori de Cloud detecteaza cazul in care o instanta a unei aplicatii esueaza
si evita trimiterea unei noi cereri instantei esuate, iar pentru a detecta aceste esecuri este
necesar ca acestea sa fie monitorizate.
Monitorizarea esecurilor are la baza doua tehnici :
-

Heartbeats (bataile inimii) unde fiecare aplicatie in mod periodic trimite un semnal
(numit bataie de inima) catre un serviciu de monitorizare al Cloud-ului. Daca
serviciul de monitorizare nu primeste un numar specific de batai ale inimii, intr-un
mod consecutiv, poate declara ca instanta aplicatiei a esuat.
Probele prin care serviciul de monitorizare trimite periodic probe catre instanta
aplicatiei. Daca instanta nu raspunde consecutiv intr-un numar specificat de probe,
poate fi considerata ca fiind esuata.

Dupa indentificarea instantelor esuate este necesara evitarea rutarea unor noi cereri catre
aceste instante. O metoda comuna utilizata pentru aceasta in protocoale bazate pe HTTP este
redirectionarea HTTP. Aici serverul Web poate returna un 3xx impreuna cu redirectionarea
HTTP.
Refacerea aplicatiei
Pentru a directiona noi cereri catre un server este necesar sa fie restaurate vechile cereri.
O astfel de metoda independenta de aplicatie este restartarea. Astfel, in mod periodic
infrastructura Cloud salveaza starea aplicatiei. Daca aplicatia se dovedeste a fi esuat, cele mai
recente restartari pot fi activate si aplicatia poate fi reluata din acel punct. Daca o masina
virtuala este afectata, atunci cererile catre ea sunt migrate catre o alta masina virtuala.

5. Securitatea datelor si resurselor in mediul Cloud


Securitate inseamna protejarea datelor fata de utilizatorii neautorizati, cu alte cuvinte,
securitatea presupune sa se asigure ca utilizatorii au voie sa faca ceea ce incearca sa faca.
Am putea spune ca in esenta, securitatea ar putea fi considerata echivalenta cu protectia
datelor sau sistemelor in sens larg si ca acestea la randul lor ar presupune, pe de o parte,
asigurarea confidentialitatii / secretului datelor, iar pe de alta parte, asigurarea integritatii
datelor, avand urmatoarele semnificatii:
-

asigurarea secretului / confidealitatii datelor ar presupune preintampinarea accesului


persoanelor neautorizate la date,
asigurarea integritatii datelor ar presupune preintampinarea distrugerii intentionate
sau neintentionate a datelor si refacerea acestora in caz de incident.
12

Cloud Computing

Securitatea datelor este una dintre cele mai semnificative probleme in domeniul
securitatii Cloud. In mediul Cloud Computing toate datele si inregistrarile sunt incredintate
unui tert ceea ce face ca securitatea datelor sa devina principala problema.
Exista mai multe probleme in legatura cu securitatea datelor stocate pe Cloud. In primul
rand, Cloud Computing nu reprezinta doar o baza de date, ceea ce face ca solutiile traditionale
de securitate sa nu poata fi implementate direct. In al doilea rand, metodele criptografice nu
pot fi folosite. Folosirea unor astfel de metode pentru a garanta securitatea, duce la
imposibilitatea clientilor de a avea control total asupra datelor stocate. Prin urmare,
verificarea datelor corecte de stocare trebuie sa se desfasoare fara cunostinte explicite asupra
datelor. Si nu in ultimul rand, Cloud Computing este gestionat de data centere care lucreaza
intr-un mod cooperativ, simultan si distribuit, protocoalele distribuite avand un rol cheie in
scopul asigurarii securitatii.
Obiectivele de baza ale securitatii Cloud sunt de a asigura confidentialitatea,
integritatea si disponibilitatea sistemului Cloud. Confidentialitatea implica faptul ca nu
exista acces neautorizat la functiile sistemului Cloud. In ceea ce priveste integritatea, aceasta
impune ca sistemul Cloud sa fie protejat impotriva falsificarii si manipularii (ex: introducerea
in sistem a unui virus care ar putea fura sau corupe datele) si mai mult decat atat sistemul ar
trebui sa fie in permanenta disponibil (sa aiba toleranta la greseli, adica sa continue sa
functioneze bine si atunci cand una dintre componentele sale esueaza). Mai mult decat atat,
exista o serie de obiective suplimentare care ar trebui luate de asemenea in considerare la
proiectarea securitatii Cloud. Acestea includ: raportul dintre cost si eficacitate care
presupune ca implementarea securitatii nu ar trebui sa creasca foarte mult costul solutiei
Cloud, precum si fiabilitatea si perfornanta care nu ar trebui sa fie afectate de securitatea
Cloud.
Cele mai multe incidente privind securitatea Cloud Computing le reprezint atacurile
ostile tradiionale. Atacurile DDoS (Distributed Denial of Service) vor deveni mai frecvente
n Cloud Computing, incluznd atacurile bazate pe reea, cum ar fi flood-urile SYN sau UDP.
Atacurile de tip brute force i instrumentele de exploatare Debian Open SSL func ioneaz n
Cloud la fel cum o fac i in cazul botnet-urilor. In prezent, cercettorii au creat protocoale
distribuite pentru a se asigura corectitudinea datelor stocate pe mai multe servere. Totui,
aceste scheme distribuite nu pot fi contiente de operaiunile dinamice asupra datelor. Prin
urmare aplicabilitatea acestora n depozitarea datelor n Cloud este limitat. Schema efectiv
distribuit si flexibil ar trebui s fie conceput special pentru depozitarea datelor n Cloud, i
care s aiba ca scop asigurarea corectitudinii datelor, localizarea rapid, suport dinamic,
fiabilitate i s fie uor de implementat. Schema presupune c fiecare canal de comunica ie
point-to-point ntre furnizorul de servicii Cloud i client este autentificat i de incredere. n
comparaie cu metodele trdiionale de distribuie a fiierelor, aceast schem reduce
comunicarea i spaiul de depozitare suplimentar. Indiferent de momentul n care date corupte
au fost detectate n timpul verificrii corectitudinii de stocare, schema poate garanta
localizarea simultana a erorilor. Fr ndoial aceast schem poate mbunti securitatea
stocrii datelor.
La un nivel inalt infrastructura Cloud poate fi impartita intr-o infrastructura fizica si o
infrastructura virtuala. Atfel cerintele de securitate pot fi de asemenea impartite in:
-

cerinte pentru securitatea fizizica si


cerinte pentru securitatea virtuala.

13

Gestiunea resurselor

A. Securitatea Fizica implica faptul ca data center-ul sistemului trebuie sa fie protejat
impotriva amenintarilor fizice. Aceste amenintari includ nu numai introducerea de virusi in
sistem ci si riscurile naturale si erori umane, cum ar fi oprirea brusca a curentului electric.
Astfel pentru a asigura securitatea fizica a sistemului Cloud, este necesara dezvoltarea unui
sistem multi-strat care cuprinde:
-

Un centru de monitorizare si control cu personal dedicat


Monitorizarea amenintarilor fizice posibile cum ar fi infiltrarea de virusi, pericole
naturale (scurt circuit, inundatii, incendii)
Instruirea personalului pentru a face fata unor astfel de amenintari
Sisteme de back-up automat
Securizarea accesului la anumite facilitati.

B. Securitatea Virtuala. Urmatoarele facilitati ale sistemului s-au dovedit a fi foarte


utile in asigurarea securitatii Cloud:
-

Cloud Time Service - daca toate sistemele data-center sunt sincronizate, acest lucru
este util atat pentru a asigura functionarea corecta a sistemului Cloud precum si
pentru a facilita analiza ulterioara a erorilor din sistem. O metoda des intalnita pentru
sincronizarea sistemelor este Network Time Protocol (NTP). Acesta este un protocol
care sincronizeaza ceasul de pe un calculator la o sursa de referinta de pe Internet.
Pentru a proteja sursele de referinte false, mesajele de pe protocol pot fi criptate.
Avand in vedere importanta de a avea o cronologie comuna ar trebui sa existe cel
putin 2 surse de incredere de timp cum ar fi (WWV si GPS).
Identity Management - o functie pentru a realiza confidentialitatea, integritatea si
disponibilitatea sistemului Cloud. Unele dintre cerintele pentru acest management
sunt:
o Inregistrarea numarului de utilizatori in sistem
o Trebuie sa indeplineasca cerintele legale si de politica aplicabile (ex: permiterea
stergerii unui utilizator din intreg sistemul intr-o perioada specifica de timp)
o Mentinerea unui istoric pentru o analiza viitoare
Access Management - aceasta functie de baza permite accesul la facilitatile
sistemului Cloud doar utilizatorilor autorizati. Cu toate acestea exista si o serie de
cerinte suplimentare:
o Permite autentificarea multi-factor folosirea unei parole impreuna cu o cheie
digitala
o Punerea in aplicare a unei liste de adrese IP pentru actiunile administrative la
distanta.
Proceduri Break Glass - evita controalele normale de securitate in situatii de
urgenta, comportandu-se ca o alarma de incendiu.
Key Management - intr-un sistem Cloud cu stocare partajata, criptarea este o
tehnologie cheie pentru a asigura izolarea accesului. Infrastructura Cloud trebuie sa
furnizeze facilitati sigure pentru producerea, repartizarea, revocarea si arhivarea
cheilor. Este necesara generarea unor proceduri de recuperare a cheilor compromise.
Auditul - este necesar pentru toate componentele de sistem si de retea. Auditul
trebuie sa cuprinda toate informatiile legate de securitate, impreuna cu datele
necesare pentru a analiza posibile erori, cum ar fi sistemul pe care a avut loc
incidental si generarea id-ului utilizatorului care a produs incidentul. Jurnalul de
audit ar trebui sa fie mentinut la nivel central si sigur.
Monitorizarea securitatii - aceasta include o infrastructura care genereaza alarme
cand se produc in sistem evenimente critice de securitate inclusiv un sistem de
14

Cloud Computing

detectarea a anomaliilor. Aceste sisteme de detectare pot fi instalate atat pe retea, cat
si pe nodurile gazda. De asemenea ar fi indicata permiterea utilizatorilor sa isi
implementeze propriile sisteme de detectare a anomaliilor.
Testarea securitatii - Este important sa testam toate softurile de securitate inainte de
implementarea finala. Patch-urile pentru soft ar trebui sa fie de asemenea testate in
mediu inainte de a fi puse in productie. Aditional, ar trebui ca testele de securitate sa
fie efectuate in mod continuu pentru a indentifica vulnerabilitatile din sistemul
Cloud. In fucntie de evaluarea riscurilor, unele dintre aceste teste ar trebui realizate
de catre o terta parte. Ar trebui, de asemenea sa existe un process de remediere pentru
rezolvarea acestora.

Managementul riscului in securitatea Cloud:


Este procesul de evaluarea a riscurilor, de a decide cum acestea vor fi controlate si
monitorizarea functionarii lor. Deoarece managementul de risc este important in identificarea
amenintarilor de securitate din sistem, acesta este descris inainte de a pune in aplicare
securitatea pentru sistemul Cloud. Cand gestionam un risc, trebuie avut in vedere o serie de
factori. In primul rand, exista diferite domenii de abordare. Ca urmare, masurile de securitate
adecvate pot varia. In al doilea rand, in incercarea de a oferi cea mai buna securitate, nu este
eficient sa punem in aplicare toate masurile posibile de securitate, deoarece acest lucru ar
putea duce la realizarea unui sistem foarte dificil de utilizat. Mai mult decat atat, ar trebui sa
existe un compromis intre impactul riscurilor implicate, precum si costul masurii de
securitate, masurata atat in ceea ce priveste impactul la utilizare a sistemului precum si costul
real al securitatii. Pentru un sistem care este deja securizat, cresterea masurilor de securitate
produce randamente cat mai mici. Prin urmare, managementul riscului este o decizie de faceri
care echilibreaza beneficiile unei securitati sporite impotriva costurilor.
Procesul managementului de risc este detaliat in capitolul Cloud Security Arhitecture
Standards in cartea Securing the Cloud, si este un process care se bazeaza pe standardele
ISO 27000. Pasii procesului de management.
a.
b.
c.
d.
e.
f.

Evaluare informatiilor privind categorizarea resurselor


Selectarea controalelor de securitate
Evaluarea riscurilor
Implementarea controalelor de securitate
Monitorizarea operationala
Evaluarea periodica

Recomandri pentru toate soluiile de Cloud:


Schimbarea furnizorilor de Cloud este realmente n toate cazurile, o chestiune negativ
pentru cel puin una dintre pri, fapt care poate determina o reacie negativ neateptat,
de la vechiul furnizor de Cloud.
Trebuie luat n considerare mrimea depozitelor de date stocate la furnizorul de Cloud.
Cantitatea real de date poate cauza ntreruperea serviciului n timpul unei tranzi ii sau o
prelungire a timpului de tranziie, mai mare dect a fost anticipat. Mul i clien i au
descoperit c folosind un curier care transport hard discurile este o solu ie mai rapid
dect transmisia electronic atunci cnd este vorba de depozite mari de date.
Trebuie bine documentat arhitectura de securitate i configuraia controalelor de
securitate a componentelor individuale, aa nct, acestea s poat fi folosite n cadrul
auditurilor interne, precum i pentru a facilita trecerea la un nou furnizor.
15

Gestiunea resurselor

Recomandri pentru soluiile IaaS de Cloud (Infrastructure as a Service):


Trebuie neles modul cum imagimile mainilor virtuale pot fi capturate i portate la un
nou furnizor de Cloud, care ar putea s foloseasc tehnologii de virtualizare diferite.
Trebuie identificat i eliminat (sau mcar de documentat), orice extensii specifice,
aplicate de furnizor mediului de maini virtuale.
Trebuie neles care practici sunt implementate pentru a face sigur deprovizionarea
corespunztoare (deconfigurarea mainilor dintr-un centru de date virtual) a imaginilor
VM dup ce o aplicaie este portat de la un furnizor de Cloud la altul.
Trebuiesc nelese practicile utilizate pentru dezafectarea discurilor i dispozitivelor de
stocare.
Trebuiesc nelese dependenele bazate pe hardware / platforme i care trebuie s fie
identificate, nainte de migrarea aplicaiilor / datelor.
Trebuie solicitat acces la jurnalele de sistem, la evidena succesiunii evenimentelor, dar i
la nregistrri de acces i financiare (facturi) de la furnizorul de Cloud iniial.
Trebuiesc identificate opiunile necesare pentru a relua sau pentru a extinde serviciul cu
furnizorul Cloud initial, n parte sau n totalitate, pentru cazul n care, noul serviciu se
dovedete a fi inferior.
Trebuie stabilit dac exist funcii de management, interfee sau API-uri (interfee
software) utilizate dar care sunt incompatibile sau, sunt neimplementate de ctre noul
furnizor.
Recomandri pentru soluiile PaaS de Cloud (Platform as a Service):
Atunci cnd este posibil, se vor utiliza componente de platform cu sintax standard,
API-uri deschise, i standarde deschise.
Trebuie neles care instrumente sunt disponibile pentru transferul sigur al datelor, pentru
copii de rezerv i restaurare.
Trebuiesc nelese i documentate componentele aplicaiilor i modulele specifice
furnizorului PaaS i e recomandabil s fie dezvoltat o arhitectur de aplicaie structurat
pe niveluri, pentru a minimiza accesul direct la modulele proprietare.
Trebuie neles modul n care serviciile de baz, cum ar fi monitorizarea, jurnalizarea i
auditul ar fi transferate la un nou furnizor.
Trebuiesc nelese funciile de control utilizate de ctre furnizorul ini ial de Cloud, i
modul n care acestea sar traduce la noul furnizor.
Atunci cnd se migrareaz ctre o nou platform, trebuie neles impactul asupra
performanei i disponibilitii aplicaiei, i modul n care vor fi msurate aceste efecte.
Trebuie neles modul n care testele vor fi finalizate nainte i dup migrare, pentru a
verifica dac serviciile sau aplicaiile funcioneaz corect. Trebuie s ne asigurm c,
responsabilitile pentru testare att ale furnizorului ct i ale utilizatorului, sunt bine
cunoscute i documentate.
Recomandri pentru soluiile SaaS de Cloud (Software as a Service):
Trebuie efectuate extrageri periodice de date i backup ntr-un format care este uor de
utilizat, fr implicarea furnizorului SaaS.
Trebuie neles dac metadatele pot fi pstrate n siguran i migrate.
Trebuie neles c orice instrumente personalizate implementate vor trebui s fie refcute
sau, noul furnizor trebuie s furnizeze aceste instrumente.
Trebuie asigurat temeinicie eficienei controlului asupra furnizorilor vechi i noi.
16

Cloud Computing

Trebuie asigurat posibilitatea de migrare a copiilor de siguran i a altor copii ale


jurnalelor, ale nregistrrilor de acces, precum i a oricror alte informaii pertinente care
pot fi cerute, din motive de verificare a respectrii legalitii i conformitii.
Trebuiesc nelese interfeele de management, monitorizare, raportare i integrarea lor
ntre mediile de lucru.
Trebuie verificat dac exist o prevedere pentru noul furnizor, pentru a testa i evalua
aplicaiile, nainte de migrare.

6. Managementul resurselor in Cloud


Managementul resurselor (MR) se intalneste cel mai adesea in teoria sistemelor si
reprezinta un aspect important, intrucat afecteaza direct cele 3 criterii de evaluare ale oricarui
sistem: performanta, functionalitatea si costul. Caracteristica definitorie a MR o reprezinta
automatismul, nefiind necesara intervantia omului. In sistemele complexe precum cele de tip
Cloud, MR urmareste optimizarea multicriteriala a unor probleme de alocare de resurse la
cerere, adica de gestiune a masinilor virtuale (VM). MR se ocupa cu procurarea si eliberarea
de resurse. Astfel pentru un job nou (un job are mai multe taskuri) primit, fie se creeaza un
nou VM sau se aloca mai multe resurse pe VM curent. Cand jobul este indeplinit, resursele
sunt eliberate si redevin disponibile.
Joburile pot fi statice cu un numar predefinit de pasi (taskuri), caz in care alocarile
urmeaza o schema determinista (resource scheduling) sau dinamice (isi poate crea taskuri
aleatoriu pe masura ce se executa), caz in care se alege o procedura stochastica sau
probabilista (dynamic resource provisioning).
MR pleaca de la Service Level Agreement (SLA) care este convenit de catre partile unui
contract de servicii Cloud. SLA-urile contin detalii despre nivelurile de servicii, Quality of
Service, performanta, tipuri de plati si abonamente si penalizari in caz de nerespectare.
Exista strategii sau politici de MR cu diverse tehnici si diversi algoritmi la baza ce se
pot implementa pentru fiecare din cele 3 modele de servicii in Cloud: IaaS, PaaS, SaaS. Pe
noi ne intereseaza in prealabil MR de tip IaaS, cel care se face de catre furnizorul de Cloud
prin middleware specializat. Alegerea unei strategii sau a alteia depinde de obiectivul urmarit
si maximizat. Vom discuta despre aceste obiective in cele ce urmeaza. In general, topologia
hardware a unui IaaS este ierarhica cu mai multe rackuri ce contin un numar fix de servere
blade. Un server blade contine un numar de UCP fiecare cu mai multe nuclee. Nucleele de
procesare, memoria RAM si spatiul de pe disk sunt configurate in VM-uri. VM-urile sunt
omogene sau eterogene. In primul caz VM se construiesc pe componente hardware (UCP,
RAM, HDD) cu specificatii comune, in timp ce in al doilea caz pot fi diferite.
MR se ocupa atat de resursele fizice dintr-un Cloud cat si de cele logice.
Resurse fizice
Procesoare
Memorii
Spatii de stocare (HDD, SSD)
Servere, statii de lucru
Elemente de retea
Senzori, efectori

Resurse logice
Sisteme de operare
Energie electrica (consum)
Latime de banda, throughput de retea
Securitate informationala, protocoale de retea
API de sistem
Trafic de retea, intarzieri

MR presupune urmatoarele functii:


17

Gestiunea resurselor

1. Furnizarea resurselor: alocarea de resurse de catre un furnizor de Cloud unui client;


2. Alocarea resurselor: distribuirea optima a resurselor la cerere si in regim
concurential persoanelor si programelor;
3. Adaptarea resurselor: capacitatea unui sistem de a ajusta dinamic nivelurile
resurselor pentru a indeplini cererile utilizatorilor;
4. Maparea resurselor: corespondenta intre resursele cerute de utilizator si resursele
efective existente;
5. Modelarea resurselor: cadru de reprezentare a celor mai importante atribute din MR
intr-un mediu Cloud: stari, tranzitii, intrari, iesiri;
6. Estimarea resurselor: prognozarea, calcularea din timp a necesarului aproximativ de
resurse;
7. Brokerajul resurselor: negocierea resurselor printr-un agent extern pe baza de
licitatii;
8. Planificarea resurselor: un desfasurator de resurse si evenimente si relatiile dintre
acestea.
Alocarea resurselor este cea mai importanta functie si cea pe care o vom discuta in
aceasta lucrare. Exista o taxonomie a tehnicilor de alocare de resurse, o clasificare facuta dupa
obiectivul urmarit, mai bine spus dupa metrica (indicatorul) MR cu cea mai mare pondere in
problemele de decizie multi-criteriala. Iata care sunt:
1.
2.
3.
4.
5.
6.
7.

Tehnici orientate pe consumul de energie


Tehnici orientate pe SLA
Tehnici orientate pe profit
Tehnici orientate pe Load Balancing
Tehnici orientate pe traficul de retea (Network Load)
Tehnici orientate pe hibridizarea Cloudului
Tehnici orientate pe Mobile Cloud Computing

1. Tehnici orientate pe consumul de energie:


Consumul de energie este un factor de cost si de poluare in afacerea unui furnizor
Cloud. Ca si cost el se urmareste a fi minimizat, insa pana la un punct cand intra in conflict cu
alti factori ca de pilda SLA-urile, traficul in retea sau load balancing. Nu poti micsora
consumul la electricitate fara sa scazi din performanta ceruta de consumatorul de Cloud. O
optimizare a consumului de energie vizeaza 2 directii: fie cu sursa de alimentare a sistemului
Cloud (power aware), fie cu instalatia de climatizare a data centerului (thermal aware).
In power aware, consumul este minimizat prin mutarea sarcinilor de lucru pe servere
de capacitate mare si inchiderea celor idle. Dintre tehnici amintim: BFD (Best Fit
Decreasing), MBFD (Modified BFD), PCA-BFD (Power and Computing Capacity Aware
BFD), DVFS etc.
DVFS (Dynamic Voltage and Frequency Scaling) este o tehnica de optimizare a
consumului de electricitate. La o micsorare a frecventei de lucru a procesoarelor, performanta
calculului scade si el, insa intr-un ritm mai mic decat consumul de energie (vezi tabel).
Aceasta tehnica folosita initial la dispozitivele mobile, pentru a salva din durata de viata a
bateriei, se utilizeaza acum in Cloud. Exista si exemple pe piata, Intel cu SpeedStep, iar AMD
cu PowerNow.
Frecventa UCP (GHz)
0,6
0,8

Consum de energie (%)


44
48
18

Performanta (%)
61
70

Cloud Computing

1,0
1,2
1,4
1,6
1,8
2,0
2,2

52
58
62
70
82
90
100

79
81
88
90
95
99
100

2. Tehnici orientate pe SLA:


Pentru a nu iesi din barierele permisive ale SLA-urilor, sunt necesari senzori, controllere
de sarcini fluctuante care sa depisteze o eventuala crestere a cererii de calcul sau o congestie
de trafic si sa redirectioneze cererile catre alte VM libere (migrare). Penalizarea SLA-urilor se
evita prin supravegherea constanta a traficului, a timpului de raspuns, a throughput-ului
(numarul de task-uri intr-un timp dat) si prin prognozarea viitoarelor sarcini de lucru ce
urmeaza sa vina in sistem.
3. Tehnici orientate pe profit:
Cloud Computing este si o paradigma comerciala in IT&C. Furnizorii vor sa obtina
profit substantial din eludarea penalizarilor de SLA, economisirea consumului de electricitate,
consolidarea MV pe mai putine servere sau limitarea latimii de banda pana la pragul minim
admis. Insa multe din aceste solutii vin in defavoarea consumatorului final, ceea ce nu da bine
in afaceri. Recent s-au propus solutii de licitare online a clientilor pentru resursele libere.
Exista mai multe optiuni de abonare la IaaS cu preturi diverse in functie de specificatiile SLA
(mai mult sau mai putin bune, in functie de preferintele si banii consumatorului). Furnizorii
care ofera servicii SaaS create folosind la randul lor servicii de IaaS sau PaaS de la alti
furnizori nu platesc costuri de administrare pentru infrastrucura Cloud.
4. Tehnici orientate pe Load Balancing:
Conceptul este important pentru Cloud Computing si reprezinta distribuirea sarcinilor
de lucru in mod egal si pe criterii nediscriminatorii resurselor de calcul dintr-un pool. Treaba
aceasta este facuta de regula de un server numit Load Balancer ce actioneaza ca un reverse
proxy. Sa luam in considerare cazul in care avem 4 servere identice A, B, C si D ale caror
resurse sunt folosite la urmatoarele capacitati: 80%, 60%, 40% respectiv 20%. In urma
activitatii de load balancing, fiecare server ar trebui sa fie folosit la 50% din capacitatea
maxima proprie. De multe ori aceste lucru este insa ineficient pentru consumul de energie.
S-au propus diversi algoritmi pentru load balancing incepand cu Round Robin (folosit la
inceput la sistemele de operare multitasking), algoritmi ce implementeaza cozi de prioritati ca
Preemptive Priority sau Shortest-Response-Time-First, criterii decizionale de tipul Min-Min
sau Max-Min, algoritmi din teoria jocurilor sau chiar si retele neuronale.
Roun Robin se bazeaza pe cuante de timp alocate fiecarui task in parte. Este insa o sabie
cu doua taisuri. Cuanta de timp trebuie aleasa intr-un interval optim, deoarece daca este prea
mare, urmatorul task poate astepta prea mult pentru a-i veni randul la VM, iar daca este prea
mica, se pierde prea mult timp cu trecerea de la o cuanta la alta.
5. Tehnici orientate pe traficul de retea:
Exista momente cand traficul in retea se poate congestiona, latimea de banda devine
insuficienta si atunci timpul de raspuns creste. Acest lucru se poate intampla datorita cantitatii
19

Gestiunea resurselor

de informatii prea mari schimbate intre managerii de resurse, activarea si dezactivarea VM,
migrarea VM. Prin urmare obiectivul este de a minimiza traficul care circula prin retea.
Exista o tehnica care presupune ca taskurile sa fie executate pe VM-uri apropiate din
punct de vedere geografic de sediul utilizatorului, adica pe servere si data centere din
apropierea sa fizica. Migrarile pot fi limitate doar in cazuri de stricta urgenta prin algoritmi ca
LPBP (Low Perturbation Bin Packing). VM-urile cu o comunicare inter-proces mai densa sunt
plasate de regula in acelasi cluster pentru a reduce latenta timpului de raspuns.
6. Tegnici orientate pe hiridizarea Cloudului:
Cloudul hibrid este combinatia de Cloud public si privat. Intr-un asemenea scenariu, o
companie detine un Cloud privat si-si ofera serviciile angajatilor sai proprii. Cu toate acestea
resursele nu sunt suficiente si compania decide sa se extinda intr-unul public. Politicile care
decid orientarea catre un Cloud public spun ca aceasta schimbare trebuie facuta numai in
cazul asignarii de prioritati taskurilor utilizatorilor. Asadar daca taskurile au prioritate ridicata
si reclama o siguranta sporita a datelor procesate, atunci este bine sa se aloce VM-uri in
Cloudul privat. Daca in schimb, prioritatea este scazuta, in caz de insuficienta a resurselor
proprii, se pot cere VM-uri in Cloudul public.
7. Tehnici orientate pe MCC:
Mobile Cloud Computing traditional se bazeaza pe o arhitectura simpla client-agent in
care dispozitivele mobile, DM, (Smartphone, Tablet) pot doar sa foloseasca resursele din
Cloud. Recent insa, odata cu imbunatatirea resurselor de calcul proprii ale DM, atentia se
indreapta catre arhitecturi ce permit partajarea resurselor cu DM, numite arhitecturi bazate pe
cooperare. Utilizatorii acestui tip de Cloud se numesc useri mobili.
MapReduce
La nivel de PaaS este de mentionat tehnica MapReduce implementata cu succes de
Apache Hadoop (cea mai cunoscuta platforma Cloud pentru analiza Big Data, structurata sau
nestructurata) sau MongoDB. Motorul de cautare Google are la baza MapReduce. In esenta
MapReduce este un nou model de programare pentru aplicatii cu procesare paralela dezvoltate
in Cloud. Functioneaza in doua faze: faza de mapare (Map) si faza de reducere (Reduce).
Astfel dezvoltatorul trebuie sa scrie doua functii cu acelasi nume pentru care datele de intrareiesire sunt simple perechi cheie-valoare. Un program MapReduce are urmatorul flux:

Datele de intrare sunt sparte in bucati si trimise diferitelor procese Mapper. Datele de
iesire din aceste procese sunt perechi cheie-valoare (Map step).
Rezultatele proceselor Mapper sunt partitionate dupa cheie si sortate local (Shuffle
step).
Functia Reduce preia aceste date sortate pentru fiecare cheie, le proceseaza si le
afiseaza tot ca niste perechi cheie-valaore (Reduce step).

Exemple comerciale de middleware Cloud


Pe plan comercial exista mai multe sisteme IaaS care dispun de facilitati de MR. Un
exemplu este CloudSystem Matrix de la HP. Acesta pune la dispozitia administratorilor, dar si
a utilizatorilor finali un portal web sau API-uri specialziate pentru task-uri precum: alocare de
masini virtuale, atribuire de drepturi pentru a folosi resursele, planificare de capacitate de
calcul. Serviciul de monitorizare al Matrix ofera urmatoarele facilitati:

Dashboard in timp real pentru starea Matrix


20

Cloud Computing

Asignare sau migrare de resurse


Istoric utilizare UCP, RAM sau I/O
Posibilitatea de simulare a scalabilitatii
Planificator de resurse

Un alt exemplu este Amazon EC2 (Elastic Compute 2) care foloseste CloudWatch.
CloudWatch este serviciul de monitorizare propus de AWS pentru instantele EC2, EBS
(Elastic Block Store), ELB (Elastic Load Balancer) sau RDS (Relational Database Service).
Ofera statistici facute pe baza indicatorilor si metricilor de performanta precum utilizare UCP,
trafic de retea, latenta, cereri client, raport citire/scriere disk etc. Folosind aceste statistici si
API-uri de sistem CloudWatch poate fi programat sa fie autoscalabil. CloudWatch poate fi
accesat prin servicii web sau din linia de comanda a AWS Management Console.

7. Cloudul verde. Green Computing


Cloud Computing nu prezinta numai avantajele unor costuri diminuate cu
echipamentele hardware si personalul dedicat. Este vorba totodata si de o economisire la
consumul de energie electrica, prin urmare mai putine resurse arse in termocentrale, deci
proportii mai mici de emisii de CO2 in atmosfera si un grad mai mic de poluare a mediului.
Cloud-ul poate fi eco, poate fi verde in anumite circumstante.
Green Cloud face parte dintr-un domeniu de interes mai larg, Green Computing.
Scopul Green Computing este simplu: eficientizarea consumului de electricitate (indicatorul
PUE) si promovarea reciclarii si a biodegradarii componentelor hardware. Cercetarile arata ca
IT&C se face responsabil de circa 2% din emisiile de carbon in atmosfera. Se spune ca un
singur search pe Google face cat 0,2 g de dioxid de carbon. Microprocesoarele sunt circuite
integrate prin ai caror minusculi tranzistori trec in permanenta semnale electrice generatoare
de energie sub forma de caldura. Daca unui procesor, fie el si multicore i se dau calcule
complexe de facut, acesta se va incalzi excesiv. In general componentele hardware prin care
trece curentul electric si care implica viteze mari de rotatii sunt generatoare de caldura.
Caldura este un factor de poluare daca este privita in mod agregat.
Cele mai mari generatoare de caldura si contribuabile sigure la incalzirea globala sunt
data center-ele. Centrele de date sunt cladiri gigantice cu camere pline de rack-uri de servere.
Sunt de fapt adevaratele motoare ale Internetului, sunt Cloud-ul pe pamant (Figura 4).
Multumita Cloud Computing-ului numarul acestora se reduce numai la cele pe care le detin
frunziorii de Cloud. Virtualizarea este elementul salvator aici, deoarece masinile fizice care in
mod normal ar fi fost surse de poluare sunt inlocuite de masinile virtuale. Un centru de date
foloseste de aproape 100 de ori mai multa energie decat o cladire obisnuita de birouri. Cand se
supraincalzesc ajung pana la temperaturi de peste 90 de grade Celsius. Pentru rezolvarea
acestor probleme se folosesc sisteme de racire, de climatizare si de reciclare a caldurii
excesive reziduale. Se incearca construirea de centre de date in zone geografice mai reci in
timpul anului. Aceste cladiri uriase sunt prezente in numar mare in California si apartin unor
companii precum Facebook, Amazon sau Google. Un studiu condus de Pike Research
demonstreaza ca noua pradigma poate reduce cu 38% consumul de energie in data center-ele
organizatiilor din lumea intreaga pana in 2020. Universitatile purced catre acest deziderat prin
mutarea tuturor proceselor in Cloud si prin schimbarea vechilor PC-uri cu terminale de tip
thin.
Exista cateva practici si recomandari facute de organisme Green Computing
internationale. Iata cateva adoptate si in institutiile de invatamant:

21

Gestiunea resurselor

Durata de viata: echipamentele IT au un ciclu scurt de viata datorat mai ales uzurii
morale. Cele vechi polueaza, de aceea se incearca prelungirea duratei de viata prin
modularitate si upgrade la piese si nu inlocuire directa.
Eficientizarea algoritmica: Se recomanda abordarea algoritmilor de o complexitate
mai mare, dar care pot calcula rezultatele in urma unui numar mai mic de instructiuni
pe secunda (ex. liniar vs. logaritmic).
Sisteme de management al energiei consumate: Majoritatea SO in zilele noastre sunt
capabile sa gestioneze consumul de curent (sleep mode, hibernate, battery power
saver etc.)
Virtualizarea: se refera la abstractizarea resurselor de calcul si manipularea lor pe
mai putine masini fizice.
Descurajarea utilizarii placilor video performante: un GPU cu acceleratori 3D
consuma mai mult decat orice alta componenta intr-un calculator.
Reciclarea: este o practica de bun simt, idee fundamentala a ecologiei. Bateriile
folosite, HDD-urile arse, tonerele de cerneala ale imprimantelor si alte piese se pot
recicla direct la producator.

PUE (Power Usage Effectiveness) arata cat de eficient utilizeaza energia un data center.
Este un indicator ce se obtine raportand energia consumata de instalatiile si echipamentele
non-IT (sisteme de racire, generatoare, iluminat) la energia consumata de echipamentele IT
(rack-urile). Un PUE de 1 este ideal, unul de 1.5 este de dorit.

8. Concluzii
Este invariabil recunoscut faptul ca aceasta noua forma de a face Computing, Cloudul,
aduce dupa sine o serie de beneficii, dincolo de eventualele dezavantaje ale securitatii datelor,
de necesitatea unei conexiuni la Internet sau de implicatiile de factura poluanta. Firmele
consumatoare nu trebuie sa se mai ingrijeasca de administrarea data centerelor proprii, de
achizitia de echipamente de infrastructura retelistica sau de angajarea de personal dedicat. De
acum, odata cu Cloud Computing, singura lor grija ramane specificul afacerii. Costurile de
investitii ale firmelor consumatoare se reduc in felul acesta.
Cloudul nu este ceva intru totul nou, el se bazeaza pe tehnologii ca virtualizarea
sistemelor, serviciile web sau calculul paralel si distribuit. Caracterisiticile esentiale sunt
scalabilitatea, regimul multi-tenant si disponibilitatea resurselor. Inca exista disfunctii de
securitate ale sistemelor Cloud ceea ce le face controversate. Un contract de servicii Cloud
realizat intre furnizor si consumator include clauze SLA ce impun anumite standarde de
performanta, metrici (indicatori) de masurare a QoS, precum si despagubiri in caz de abatere
de la aceste standarde. Tocmai de aceea managementul (optim al) resurselor ocupa un loc
important in domeniu.
Pe viitor se incearca integrarea beneficiilor Cloudului cu cele ale dispozitivelor mobile,
rezultand Mobile Cloud Computing, in care majoritatea sarcinilor vor fi purtate in Cloud,
avand in vedere capabilitatile reduse ale smartphone-urilor sau tabletelor. Se incearca
adoptarea unor standarde (de catre organizatii ca NIST, DMTF, IEEE) pentru a se evita
fenomenul de vendor lock-in (dependenta de platforma si infrastructura unui anumit
furnizor). Se doreste chiar posibilitatea ca utilizatorii finali ai serviciilor (in special SaaS) sasi creeze singuri propriile aplicatii gazduite in Cloud (End-User Programming). Acestia ar
putea folosi programarea vizuala sau programarea prin exemple.
22

Cloud Computing

9. Bibliografie
1. Cloud Computing: Theory and Practice, Dan C. Marinescu, Computer Science
Division, Department of Electrical Engineering & Computer Science, University of
Central Florida, 2012
2. Moving to the Cloud, Dinkar Sitaram, Geetha Manjunath, Elsevier, 2012
3. Resource management in cloud computing: Taxonomy, prospects, and challenges, Saad
Mustafa, Babar Nazir, Amir Hayat, Atta ur Rehman Khan, Sajjad A. Madani, Computers
and Electrical Engineering, 2015
4. Resource Management and Scheduling in Cloud Environment, Vignesh V, Sendhil
Kumar KS, Jaisankar N, School of Computing Science and Engineering, 2013
5. Resource management for Infrastructure as a Service (IaaS) in cloudc omputing: A
survey, Sunilkumar S.Manvi, Gopal Krishna Shyam, Journal of Network and Computer
Applications, 2013
6. Modeling of the resource allocation in cloud computing centers, Shahin Vakilinia,
Mustafa Mehmet Ali, Dongyu Qiu, Computer Networks, 2015
7. Efficient Resource Management for Cloud Computing Environments, Andrew J.
Younge, Gregor von Laszewski, Lizhe Wang, Pervasive Technology Institute, Indiana
University, Bloomington, USA, 2014
8. Cloud Computing Vs. Grid Computing, Seyyed Mohsen Hashemi, Amid Khatibi
Bardsiri, ARPN Journal of Systems and Software, 2012
9. Introduction to Cloud Computing. Business & Technology, Timothy Chou, Active
Book Press, 2011
10. Understanding Microsoft Virtualization Solutions, Mitch Tulloch, Microsoft Press,
2010
11. IT virtualization best practices, Mickey Iqbal, Ketchum, ID, MC Press Online, 2010
12. Grids, clouds and virtualization, Masimo Cafaro, London, Springer-Verlag London
Ltd., 2011
13. Security Guidance for Critical Areas of Focus in Cloud Computing V3.0, Cloud
Security Alliance, 2009, https://cloudsecurityalliance.org/guidance/csaguide.v3.0.pdf
14. Cloud Computing Security Risk Assessment, ENISA, 2009
http://www.enisa.europa.eu/activities/risk-management/files/deliverables/cloudcomputing-risk-assessment
15. Securing the Cloud: Cloud Computer Security Techniques and Tactics, Vic (J.R.)
Winkler, Elsevier, 2011
16. Cloud Computing Bible, Barrie Sosinsky, Wiley Publishing, Inc., 2011
17. Cloud Computing - The Complete Cornerstone Guide to Cloud Computing Best
Practices, Ivanka Menken, Emereo Publishing, 2008
18. Green Cloud Computing, Sindhu S. Pandya, International Journal of Information and
Computation Technology, 2014

23