Documente Academic
Documente Profesional
Documente Cultură
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
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.
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.
Gestiunea resurselor
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;
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);
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.
Cloud Computing
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
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:
-
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.
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:
-
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:
-
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.
Gestiunea resurselor
Cloud Computing
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
Gestiunea resurselor
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
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).
Cloud Computing
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.
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