Sunteți pe pagina 1din 11

Cloud Computing.

Resource
Allocation in the Cloud, Semantic
Clouds, Clouds and Mobile
Devices and Apps

Student: Iuonas Ovidiu

1. Introducere
Termenul de Cloud computing [1] reprezinta o paradigma a tehnologiei
informației, care permite accesul omniprezent la o baza comuna de resurse
configurabile si la un sistem de servicii de nivel superior care pot fi rapid furnizate cu un
efort scazut, de obicei prin intermediul internetului. Acesta poate fii considerat un
concept modern in cadrul acestui domeniu al tehnologiei informației.
Acest Cloud permite le companiilor sa evite, sa minimizeze sau sa reduca la
minim costul unei infrastructuri propriu-zise. De asemenea, le permite companiilor sa
distribuie aplicatiile pentru utilizatori mai repede, cu un management imbunatatit si
intretinere redusa, permitand astfel echipelor sa ajusteze mai rapid resursele.
Cloud-ul poate fii considerat un ansamblu distribuit de servicii de calcul, aplicatii,
acces la informatii, aplicatii si stocare a datelor, fara ca utilizatorul sa fie nevoit sa
cunoască amplasarea si configuratia fizica a sistemelor care furnizeaza aceste servicii.

Figura 1.1. Cloud computing [1]

Exista doua tipuri de cloud: public si privat. Cand majoritatea oamenilor face
referire la termenul de Cloud computing, acestia se refera la cel public. Acesta se refera
la un model de serviciu de calcul folosit pentru stocarea in Cloud, si servicii de calcul
oferite publicului larg al internetului. De asemenea, serviciile pot fii accesate pe un
model de facturare “pay as you go”.
2. Evolutie

Termenul “Cloud computing” [2] a devenit popular dupa lansarea produsului


Elastic Comput Cloud în 2006 de catre Amazon, referintele la acest termen de “Cloud
computing” fiind aparute inca din 1996, prima mentiune aparand intr-un document intern
al companiei Compaq.
La inceputul anilor ‘60, conceptele initiale de partajare a timpului au devenit
popularizate prin Remote Job Entry (RJE), aceasta terminologie a fost cea mai mare
parte asociata cu furnizori mari cum ar fi IBM si DEC. Soluțiile complete de partajare a
timpului erau disponibile pana la inceputul anilor 1970 pe platforme precum Multics,
Cambridge CTSS si primele porturi UNIX.
In timpul anilor `90, companiile de telecomunicatii, care anterior au oferit în
primul rând circuite de date punct-la-punct dedicate, au început sa ofere servicii de
rețea privata virtuala (VPN), cu o calitate comparabila a serviciilor, dar la un cot mai
mic. Prin comutarea traficului, după cum considera ca este adecvata pentru utilizarea
echilibrata a serverelor, acestea ar putea utiliza mai eficient lățimea de banda a rețelei.
La începutul anilor `00, cloud-ul a luat existenta. In anul 2008, programul
OpenNebuna al NASA, îmbunătățit în cadrul proiectului RESERVOIR al Comisiei
Europene, a devenit software open source pentru distribuirea cloud-urilor private si
hibride. In aprilie 2008, Google a lansat Google App Engine, ajungând sa fie disponibil
publicului larg in decembrie 2013. In anul 2011, IBM a anunțat framework-ului IBM
SmartCloud, pentru suportul catre Smarter Planet. Printre diversele componente ale
fundației Smarter Computing, cloud computing este o parte critica. In anul 2012, Oracle
a anunțat Oracle Cloud. Aceasta oferta cloud este pregatita sa fie prima care oferă
utilizatorilor acces la un set integrat de solutii IT, inclusiv Saas, Paas si Iaas.

3. Caracteristici. Clasificare

Model de procesare într-un mediu de tip Cloud poate fii definit ca un nou stil de
calcul in care resursele, de cele mai multe ori fiind virtualizate, sunt dinamic scalate si
oferite ca si servicii prin intermediul internetului. Modul acesta de furnizare a serviciilor a
devenit un trend, iar multi experti estimeaza ca asa numitul “Cloud computing” va
schimba procesele tehnologiei informatiei. Conexiunea permanenta a utilizatorului la
Internet a devenit foarte raspandita, astfel incat acum aproape toate resursele
disponibile se pot plasa in internet si se pot partaja, uneori chiar intre utilizatori complet
independenti unii de altii: software-ul (programele) si datele sunt aduse din internet pe
calculatorul utilizatorului la cerere, ca si cum ar fi vorba de servicii publice banale
precum apa sau energia electrica.
Cloud computing poate fii pus la dispozitie ca niste servicii. Aceste servicii pot fii
de mai multe feluri, cum ar fii:

a. Iaas (Infrastructure as a Service)


In cadrul acestui model, un furnizor inchiriaza o infrastructura virtuala, care poate
inlocui infrastructura fizica prezenta in sediul companiei, sau poate fii folosita alaturi de
acestea. Astfel de furnizori care pun la dispozitie aceasta infrastructura de inchiriat, este
compusa in principal din jucatorii de pe piata de specialitate si se bazează de fapt pe o
infrastructura fizica foarte complexa.

b. Paas (Platform as a Service)


In cadrul acestui model, un furnizor ofera un pachet de solutii împreuna cu
anumite caracteristici specifice. Astfel, acesta oferă o platforma pentru fiecare client,
serviciile oferite de acest model incluzând toate fazele ciclului de dezvoltare, si pot
utiliza API-uri, portaluri web.

c. Saas (Software as a Service)


In cadrul acestui model, un furnizor pune la dispozitie softul catre utilizator, de
obicei prin intermediul unui portal web. In acest caz, utilizatorul este liber sa utilizeze
servicul de oriunde se afla acesta, nefiind constrans de locatie.

Tipuri de cloud:
a. Cloud public
Platforma de tip cloud disponibila utilizatorilor pentru a se inregistra si folosi
infrastructura existenta. Acestea sunt de obicei cele mai vulnerabile deoarece sunt
disponibile utilizatorilor publici care pot găzdui servicii proprii si care pot fii rau
intentionati.

b. Cloud privat
Descrie o infrastructura prevazuta pentru utilizarea exclusiva de catre o singura
organizatie care cuprinde mai multi consumatori.

c. Cloud hybrid
O platforma de tip cloud care isi poate extinde capabilitatile pentru a fii folosit in
cloud-urile publice.

d. Cloud pentru comunitate (Community cloud)


Infrastructura de top cloud, prevazuta pentru utilizarea exclusiva de către o
comunitate specifica de consumatori din organizatii care au preocupari sau interese
comune.
Majoritatea furnizorilor normali de Cloud Computing pun la dispozitie, de
exemplu, aplicatii comerciale standard; utilizatorul are acces la acestea doar prin
intermediul unui browser local, deoarece atat aplicatia cat si datele proprii ale
utilizatorului sunt gazduite in cloud, pe serverul furnizorului de servicii. In aceste conditii
asigurarea confidentialitatii si drepturilor de acces la date in contextul internetului joaca
un rol foarte important.
Pentru a realiza utilizarea eficienta a resurselor, furnizorii de servicii Cloud
trebuie sa sporeasca utilizarea resurselor reducand in acelasi timp costurile. In acelasi
timp, consumatorii trebuie sa poata sa utilizeze resursele cat timp au nevoie existand
posibilitatea de a mari sau micsora consumul in funcție de preferinte. Modelul Cloud
Computing satisface aceste nevoi prin intermediul unei solutii tip “castig-castig” prin
livrarea a doua caracteristici esentiale: elasticitatea si multi-inchirierea. Elasticitatea
implica posibilitatea de a mari sau micsora resursele alocate unor servicii bazandu-se
pe cerintele curente. Crescand sau micsorand resursele alocate unui utilizator se da
oportunitatea altui utilizator de a utiliza resursele eliberate. Aceasta poate duce la
probleme de confidentialitate. De exemplu, un chirias X poate elibera unele resurse, iar
alt chirias Y poate utiliza acele resurse pentru a recupera datele prelucrate de X. In
plus, elasticitatea include un serviciu de plasare care permite memorarea unei liste de
resurse disponibile din totalul resurselor oferite de provider. Aceasta lista este folosita
pentru a aloca resurse serviciilor care au nevoie. Aceste servicii de plasare a resurselor
trebuie sa incorporeze securitatea clientilor Cloud si cerintele legale prin care sa se
evite plasarea serviciilor concurente pe acelasi server.

4. Alocarea resurselor in Cloud

Exista numeroase avantaje ale Cloud Computing-ului, cele mai elementare fiind
costurile reduse, redistribuirea resurselor și accesul de la distanță. Cloud computing
reduce costurile prin evitarea cheltuielilor de capital ale companiei pentru inchirierea
infrastructurii fizice de la un furnizor. Datorita naturii flexibile a Cloud computing, putem
accesa rapid mai multe resurse de la furnizorii Cloud atunci cand trebuie să ne
extindem afacerea. Accesul la distanta ne permite sa accesam serviciile Cloud de
oriunde, oricand. Pentru a obtine gradul maxim al beneficiilor mentionate mai sus,
serviciile oferite in termeni de resurse ar trebui sa fie alocate optim pentru aplicatiile
care rulează în Cloud.
In Cloud Computing, alocarea resurselor [3] este procesul de atribuire a
resurselor disponibile, aplicatiilor cloud necesare pe internet. Alocarea resurselor
ingreuneaza serviciile daca alocarea nu este gestionata cu precizie. Restabilirea
resurselor rezolva această problema, permitand furnizorilor de servicii sa gestioneze
resursele pentru fiecare modul individual.
Strategia de alocare a resurselor vizeaza integrarea activitatilor furnizorului de
Cloud pentru utilizarea si alocarea resurselor limitate in limitele mediului Cloud pentru a
raspunde nevoilor aplicatiei Cloud. Aceasta strategie necesita tipul si cantitatea de
resurse necesare fiecarei aplicatii in parte pentru a finaliza o activitate a utilizatorului.
Ordinea si timpul alocarii resurselor reprezinta, de asemenea, o contributie pentru o
alocare optima. O alocare optimă ar trebui sa evite următoarele:
a. Conflictul resurselor: apare atunci cand doua aplicatii incearca sa acceseze
aceeasi resursa in acelasi timp.
b. Lipsa resurselor: apare atunci cand exista resurse limitate.
c. Fragmentarea resurselor: apare cand resursele sunt izolate, adica vor fi
suficiente resurse, insa nu pot fi alocate aplicatiei necesare.
d. Supra-provizionarea resurselor: apare atunci cand cererea primeste un surplus
de resurse, mai mare decat cel solicitat.
e. Sub-provizionarea resurselor: apare atunci cand cererea este atribuita cu mai
putine resurse decat cererea.

Din perspectiva unui furnizor de cloud, prezicerea dinamicii utilizatorilor, a


cerintelor utilizatorilor si a cerintele aplicatiilor sunt impracticabile. Pentru utilizatorii
Cloud, sarcina ar trebui sa fie finalizata la timp cu costuri minime. Prin urmare, din
cauza resurselor limitate, a eterogenitatii resurselor, a restrictiilor de locatie, a
necesitatilor de mediu si a naturii dinamice a cererii resurselor, avem nevoie de un
sistem eficient de alocare a resurselor, care sa se potriveasca mediilor de tip Cloud.
Resursele Cloud constau din resurse fizice si virtuale. Resursele fizice sunt
distribuite in cadrul mai multe cereri, prin virtualizare si furnizare. Cererea pentru
resurse virtualizate este descrisa printr-un set de parametri care detaliaza nevoile de
procesare, memorie. Asigurarea satisface cererea prin maparea resurselor virtualizate
la cele fizice. Resursele hardware și software sunt alocate aplicatiilor cloud la cerere.
Pentru un sistem scalabil, masinile virtuale sunt inchiriate. Complexitatea gasirii unei
alocari optime a resurselor este exponentiala in sisteme uriașe, cum ar fi clustere mari,
centre de date sau retele. Deoarece cererea si oferta de resurse pot fi dinamice si
nesigure, sunt propuse diferite strategii de alocare a resurselor.
Parametrii de intrare pentru strategiile de alocare a resurselor si modul de
alocare a resurselor variaza in functie de serviciile, infrastructura si natura aplicatiilor
care solicita resurse. Diagrama schematica din Figura 4.1 descrie clasificarea
strategiilor de alocare a resurselor (RAS) propuse in paradigma Cloud. Strategiile sunt
clasificate dupa urmatoarii parametrii: timpul de executie, politica, masini virtuale,
utilizate, dependenta de resursele fizice, aplicatii, protocolul Gossip, SLA (Service-level
agreement).
Figura 4.1 [3]

Exista numeroase beneficii in alocarea resurselor la utilizarea cloud computing.


Dar de asemenea, exista si unele limitari, deoarece este o tehnologie in continua
evolutie.

Printre principalele avantaje, se enumera:


- Cel mai mare beneficiu al alocarii resurselor este ca utilizatorul nu trebuie sa
instaleze nici software-ul, nici hardware-ul pentru a accesa aplicatiile, a dezvolta
aplicatiile si a distribui aplicația pe internet.
- Nu exista nici o limitare a locului si a mediului. Putem ajunge la aplicatiile si
datele noastre oriunde din lume, de pe orice sistem.
- Utilizatorul nu are nevoie sa cheltuiasca bani pe sisteme hardware si software.

De asemenea, exista si unele limitari:


- Deoarece utilizatorii inchiriaza resurse la distanta pentru folosirea in scopul lor,
nu au control asupra resurselor lor.
- In Cloud-ul public, datele clientilor pot fi susceptibile la atacuri de tip hacking sau
phishing. Deoarece serverele din cloud sunt interconectate, este usor ca
malware-ul sa se raspandeasca.
- Sunt necesare cunostinte mai aprofundate și mai avansate pentru alocarea si
gestionarea resurselor in cloud, deoarece toate cunostintele despre functionarea
cloudului depind in principal de furnizorul de servicii Cloud.
- Dispozitivele periferice, cum ar fi imprimantele sau scanerele, ar putea sa nu
functioneze prin folosirea in Cloud.

5. Semantic Cloud
Semantica Cloud [4] este stiinta care studiaza semnificatia care se afla sub
cuvinte si relatia dintre aceste cuvinte. Tehnologia semantica codifica semnificatia
cuvintelor separat de datele si continutul fisierelor, si separat de codul aplicatiilor.
Aceasta permite atat calculatoarelor cat si oamenilor sa le inteleaga, si le distribuie, si
sa lucreze cu ele in timpul executiei. Tehnologiile semantice ofera un strat de
abstractizare peste tehnologiile existente, care permit interconectarea datelor, a
continutului si a proceselor.
In ultimii ani s-au propus noi tehnici pentru a ajuta utilizatorii în cautarea,
vizualizarea si extragerea informatiilor utile din diferite surse. Una dintre aceste abordari
[5] se bazeaza pe crearea unor nori de tag-uri cloud. De exemplu tag-urile pot fii folosite
pentru a urmari frecventa fiecarui element, un cloud de tag-uri global pentru organizarea
frecventelor pe utilizatori si elemente, sau pentru a urmari categoriile si subcategoriile.
Cloud-urile pentru tag-uri pot fi folosite pentru sarcini de baza centrate pe utilizator. Un
cloud de tag-uri poate fi vazut ca un instrument de vizualizare a unui rezumat si e
considerat o tehnica de extragere a cuvintelor cheie pentru a construi un rezumat.
Calitatea cuvintelor cheie extrase depinde de algoritmul de extragere a cuvintelor cheie
si au fost propuse mai multe metode in decursul anilor.

6. Mobile Cloud Computing

Mobile Cloud Computing (MCC) [6] este combinatia de Cloud computing,


dispozitive mobile si rețele fara fir pentru a aduce resurse computationale utilizatorilor
de telefonie mobila, operatorilor de retea si furnizorilor de cloud computing. Scopul final
al MCC este de a permite executia de aplicatii mobile complexe pe o multime de
dispozitive mobile. MCC ofera oportunitati de afaceri atat operatorilor de retele mobile,
cat si furnizorilor de cloud.
MCC foloseste abordari de augmentare computationala (calculele sunt executate
de la distanta) prin care dispozitivele mobile cu constrangeri de resurse pot utiliza
resursele computationale ale unor sisteme variate bazate pe Cloud. In MCC, exista
patru tipuri de resurse bazate pe cloud, și anume entitati imobile distante, entitati de
calcul imobile apropiate, entitati mobile de calcul apropiate și hibride (combinatia
celorlalte trei modele). Furnizorii de Cloud, cum ar fi Amazon, se afla in grupul entitatilor
imobile distante. Smartphone-urile, tabletele, si dispozitivele portabile fac parte din al
treilea grup de resurse bazate pe cloud, care se afla in grupul de entitati mobile de
calcul apropiate. Vodafone, Orange si Verizon au început să ofere servicii de cloud
computing pentru companii.
Disponibilitatea mare a conexiunilor 3G si 4G a contribuit la o crestere a
accesului la internet prin intermediul telefoanelor mobile. Serviciile de tip cloud au avut
un mare impact asupra telefoniei mobile. Multe telefoane mobile vin cu aplicatii care
consuma servicii web, multe fiind distribuite cu ajutorul Cloud-ului. Dezvoltatorii de
aplicatii au inceput sa foloseasca sistemele Cloud pentru dezoltarea acestora, dar si
pentru a ajuta la livrarea lor catre clienti.

Figura 6.1 Arhitectura Mobile Cloud [6]

MCC specific aplicatiilor (ASMCC) [7], implica dezvoltarea de aplicatii specifice


pentru dispozitive mobile care utilizeaza cloud computing. In timp ce ambele (GSMCC
si ASMCC) pot permite unui dispozitiv mobil sa efectueze operatii mai intense decat ar
putea executa local dispozitivul, ASMCC are avantajul suplimentar care ii permite sa se
foloseasca de cloud, care necesita mai mult decat simpla crestere de putere
computationala. De exemplu, clientii de chat sau de email au nevoie de ASMCC,
deoarece internetul este folosit ca resursa de comunicare si nu doar pentru stocare sau
pentru o putere suplimentara de calcul. Au fost propuse mai multe metode și sisteme
care urmaresc sa faciliteze in mod specific aplicatiile mobile care folosesc cloud
computing.
a. Mobile Service Clouds
Cercetatorii de la Universitatea de Stat din Michigan au dezvoltat un sistem numit
Clouds Service Mobile. Acest sistem este conceput pentru a oferi o configurare usoara
si automatizata, pentru a crea servicii care pot fi utilizate de consumatorii mobili.
b. RESTful Services
Cele mai bune servicii web (spre deosebire de serviciile web standard) sunt usor
de creat, nu sunt folosesc intens resursele, nu au conexiuni TCP continue si produc
raspunsuri simple XML care pot fi usor de analizat.
c. Elastic Weblets
Cercetătorii de la Universitatea de Stat din Pennsylvania au dezvoltat un sistem
pentru aplicatii elastice destinate utilizarii pe dispozitive mobile. Cadrul lor de aplicare
elastic imparte o aplicatie in bucati numite weblets. Aceste weblets au caracteristica
importanta a portabilitatii. Orice weblet dat poate fi transmis intre dispozitive mobile si
servere. O dificultate semnificativa care apare cu acest tip de aplicatie este cerinta de
securitate pentru aceste weblets.
Desi cercetarea si dezvoltarea semnificativa in MCC sunt disponibile in literatura
de specialitate, eforturile din urmatoarele domenii inca lipsesc:
- Problemele arhitecturale
- Probleme legate de masinile virtuale
- Securitate si probleme de confidentialitate
- Probleme de congestie a comunicatiei

7. Concluzii
Acest concept, Cloud Computing aparut in cadrul domeniului tehnologiei
informatiei, reprezinta un model foarte promitator atat pentru furnizorii de servicii cloud,
cat si pentru utilizatori. Tehnologia cloud computing este din ce in ce mai folosita in
intreprinderi si diferite domenii. In cadrul paradigmei Cloud, este necesara o strategie
eficienta de alocare a resurselor pentru a obtine satisfactia utilizatorilor si pentru a
maximiza profitul pentru furnizorii de servicii Cloud. Unele dintre strategiile discutate mai
sus se concentrează in principal pe CPU, resurse de memorie, dar are diverse
neajunsuri.
De asemenea, din cauza ca acest concept este inca la inceputul drumului, iar in
viitor tot mai multe inovatii o sa apara in cadrul acestuia, vor aparea mai multe metode
de securizare care sa faca acest sistem extrem de complex foarte sigur, atat pentru
utilizatori cat si pentru furnizori. In acest moment, pentru ca acest model sa poata fii
utilizabil intr-un mod cat mai sigur, trebuie eliminate toate bresele de securitate
existente din cadrul sistemului.
In principal problemele de securitate se rezuma la problema securitatii fiecarui
nivel din stiva de dependinte, securitatea fiecarui nivel depinzand de securitatea
nivelelor inferioare. Orice strapungere a unui nivel va avea impact asupra celorlalte
nivele. Bresele de securitate aparute prin expunerea masinilor virtuale, care contin date
sensibile, in mediile publice, si de asemenea segmentarea fizica si securitatea
hardware-ului nu poate proteja impotriva atacurilor dintre masinile virtuale amplasate pe
acelasi server
Pentru ca problemele enumerate mai sus sa fie eliminate, se recomanda
urmatoarele solutii: criptarea sistemului de fisiere pentru asigurarea confidentialitatii
datelor utilizatorilor, Izolarea masinilor virtuale, si a sistemului de operare, utilizarea
retelelor private virtuale (VPN) pentru accesul la sistem, curatarea datelor care nu mai
sunt necesare dupa folosirea acestora, pentru a nu putea fii refolosite de utilizatori rau
intentionati, criptarea datelor folosind algoritmi specializati.
Procesarea in Cloud are destul de multe avantaje, fiind un mod ieftin prin care
firmele au la dispozitie resursele de care au nevoie intr-un singur lor, insa are si unele
dezavantaje din cauza securitatii si confidentialitatii datelor, care pot fii accesate prin
anumite brese de securitate care se incearca sa fie eliminate.

8. Bibliografie
[1] https://en.wikipedia.org/wiki/Cloud_computing
[2] https://simple.wikipedia.org/wiki/Cloud_computing
[3] V. Vinothina, R. Sridaran, Padmavathi Ganapathi, A Survey on Resource
Allocation Strategies in Cloud Computing, International Journal of Advanced
Computer Science and Applications, 2012
[4] http://www.cloudcredential.org/working-groups/cloud-semantics/
[5] Antonio M. Rinaldi, Document Sumarization using Semantic Clouds
[6] https://en.wikipedia.org/wiki/Mobile_cloud_computing
[7] http://www.cse.wustl.edu/~jain/cse574-10/ftp/cloud/index.html