Stocari de Date In Multiclouds

Cuprins

Cap 1. Introducere

1.1 Obiective

1.2 Motivatie

1.3 Structura lucrarii

Cap.2 Cloud computing

2.1 Definitie

2.2 Caracteristicile unui cloud

2.3 Arhitectura Cloud

2.4 Multicloud-ul

Cap 3. Stocarea datelor in cloud

3.1 Zone de risc

3.2 Stabilitatea serviciilor de cloud

3.3 Sisteme de stocare in cloud

3.4 Serviciul de stocare de date

3.5 Exemple de sisteme stocare in Cloud

Cap 4. File manager in multi-clouds

4.1 Instrumentele utilizate in aplicatie.

4.2 Utilizarea aplicatiei

Cap 5. Referinte bibliografice

Cap 1. Introducere

Cloud computing-ul este o terminologie noua bazata pe utilitatea si consumarea de resurse care implica desfasurarea grupurilor de servere si retele software care permit inmagazinarea centralizata a datelor si acces la servicii si resurse online. Cloud-urile pot fi clasificate ca publice, private si hibride.

Cloud-ul se bazeaza pe maximizarea eficientei resurselor sharuite. Resursele Cloud nu sunt doar share-uite intre mai multi useri dar si realocate dinamic dupa cerere. De exemplu, o facilitate de calculatoare in cloud care servesc europenii in timpul orelor de lucru europene, pot sa isi realoce resursele pentru a servi utilizatorii din America in timpul orelor lor de lucru. Aceasta metoda ar trebui sa maximizeze folosirea puterii de procesare, reducand costurile achizitiilor unor calculatoare dedicate in cloud.

1.1 Obiective

Principalele obiective ale acestei lucrari de disertatie sunt enumerate mai jos in ordinea logica a realizarii lor:

1.prezentarea generala a paradigmei cloud computing. Se vor avea in vedere aspecte precum conceptele si tehnologiile cheie, taxonomia si principiile pe care se bazeaza

2.analiza tipurilor de stocari in cloud computing si descrierea unui astfel de sistem

3.implementarea unui manager de fisiere care sa ofere posibilitatea de a scadea costurile de stocare a datelor pe mai multe clouduri.

1.2 Motivatie

Se presupune ca cloud computing-ul a ajuns intr-o perioada de maturitate care il duce intr-o faza de productie. Aceasta inseamna ca majoritatea problemelor legate de cloud computing au fost adresate intr-o masura pe care cloud-urile au devenit interesante pentru utilizare comerciala completa. Aceasta nu inseamna ca toate problemele au fost rezolvate, doar ca risc-urile acceptate pot fi tolerate pana la un anumit moment. Cloud computing-ul este astfel un subiect de cercetare la fel cum este o oferta de marketing. Ceea ce este clar in urma evolutiei serviciilor de cloud computing este faptul ca marii dezvoltatorii de tehnologii cloud continua sa investeasca milioane de dolari pe an in acest domeniu.

Dezvoltarea sa a ajuns intr-un punct in care exista o multitudine de provideri de cloud, fiecare cu avantajele si dezavantajele lor, ca optiuni pentru companiile care doresc sa-si pastreze datele intr-un mod sigur, iar majoritatea ofera cate un API pentru ca sa se poata integra mai bine cu compania. Multe dintre acestea adopta mai mult de un cloud pentru a le testa care se potriveste mai usor cu aplicatiile pe care le utilizeaza compania, precum si utilizarea lor in paralel. In acelasi timp, oamenii din ziua de azi care doresc sa isi salveze datele pe un mediu extern si recurg la mai multe cloud-uri, vor dori sa aleaga cea mai ieftina optiune pentru a reduce din costuri.

Aici putem vorbi despre metode pentru a imbunatati si automatiza comunicarea dintre cloud-uri precum si menajarea lor intr-un mod mai simplu. Consideram ca o buna intelegere a modalitatii de stocare a datelor de catre dezvoltatorii care incearca o integrare cu aplicatile lor va fi benefica pentru realizarea unor solutii cloud interoperabile si eficiente.

1.3 Structura lucrarii

In capitolul 2 se urmareste o prezentare generala a conceptului cloud computing. Dupa o scurta introducere in care se ofera o definitie si se descriu carcteristicile acestei paradigme, in sectiunea 2.2 se prezinta arhitectura generala a unui cloud, iar in sectiunea 2.3 se prezinta modelul de multi-cloud.

Capitolul 3 prezinta serviciul de stocare a datelor in cloud. Aici se va vorbi de avantajele si dezavantajele acestuia si de infrastructura cloud-urilor din ziua de azi.

Capitolul 4 prezinta aplicatia software realizata in cadrul acestei lucrari. Contributia aplicativa consta din oferirea unei solutii pentru menajarea datelor in in multi-cloud prin reducerea costului de stocare.

Cap.2 Cloud computing

2.1 Definitie

Cloud computing-ul este un model de plata care iti ofera acces la resurse de procesare configurabile cum ar fi retele, servere, inmagazinare de date, aplicatii si servicii care pot fi rapid oferite cu un minim de management din partea provider-ului. [1]

Acest model de cloud promoveaza valabilitatea si ofera acces rapid prin internet, elasticitate pentru a scala cerintelor tale, un serviciu de masurare a cat consumi si o infrastructura de resurse care sunt distribuite automat dupa cerintele din orice moment.

2.2 Caracteristicile unui cloud

Caracteristicile care definesc functionalitatea unui cloud sunt urmatoarele.

Un API acesibil software-ului care permite masinilor sa interactioneze cu cloud-ul in acelasi fel in care o interfata de utilizator traditionala ofera interactiune intre oameni si calculatoare. Sistemele de cloud computing folosesc API-uri bazate pe REST. Independenta fata de device-ul de pe care accesam si locatie permite utilizatorilor sa acceseze sistemele folosind un browser, de oriunde s-ar afla ei. O infrastructura este oferita de catre un provider de cloud si accesata prin Internet.

Mentenanta aplicatiilor cloud este usoara pentru ca nu trebuie sa fie instalate pe fiecare device al utilizatorilor. Existenta mai multor chiriasi permite sharing-ul resurselor si costurilor peste o masa de utilizatori facand posibila centralizarea infrastructurii in locatii cu cost mic si cresteri de capacitate in timpul supra solicitarilor.

Performanta este consistent monitorizata si arhitectura avand componente cuplate vag foloseste servicii web ca interfata de sistem. Productivitatea poate fi crescuta cand mai multi utilizatori pot lucra pe acelasi set de date in acelasi timp, eliminand perioada de blocare completa a datelor pana la terminarea editarii lor precum se poate vedea in Google Docs.

Scalabilitatea si elasticitatea este dovedita prin faptul ca se pot menaja resursele in timp real fara ca sa fie nevoie de un inginer pentru a menaja suprasolicitarile.

Securitatea creste datorita centralizarii datelor, cresterii resurselor bazate pe securitate, dar nelamuriri pot persista despre pierderea controlului asupra datelor senzitive si lipsa securitatii pentru kernel-urile de stocare. Securitatea este de obicei la fel de buna ca alte sisteme traditionale, in parte pentru ca providerii pot rezerva resurse pentru a rezolva problemele de securitate. Totusi complexitatea securitatii creste enorm cand datele sunt distribuite peste o zona mai larga sau peste un numar mai mare de device-uri, precum si in sistemele cu mai multi chiriasi care impartasesc datele cu alti utilizatori. Pe langa asta, accesul utilizatorilor la log-urile de audit pare a fi o treaba grea sau imposibila. Instalatii de cloud private sunt in parte motivate de dorinta utilizatorilor de a pastra controlul asupra infrastructurii si ferirea de a pierde controlul asupra securitatii informatiei.

Institutul american al standardelor si tehnologiei(NIST) identifica cloud computing-ul ca avand cinci caracteristici esentiale:

Serviciu la cerere : Un utilizator poate sa isi ofere capacitati de procesare cum ar fi spatiu de inmagazinare dupa nevoie intr-un mod automat fara necesitatea interactiunii umane cu fiecare provider de cloud.

Acces larg la retea : Capabilitatile sunt accesibile prin retea si accesate prin mecanisme standard care promoveaza utilizarea de catre platformele client (telefoane mobile, tablete, laptopuri sau statii de lucru).

Punerea in comun a resurselor : Resursele de procesare ale provider-ului sunt puse in comun pentru a servi mai multi consumatori folosind un model cu mai multi locatari, cu diferite resurse fizice si virtuale dinamic asignate si reasignate dupa cererea consumatorilor.

Elasticitate : Capabilitatile pot fi acordate si revocate, in unele cazuri automat, pentru a scala rapid depinzand de cerere. Pentru consumator, capabilitatile valabile pentru aprovizionare par nelimitate si pot fi acordate in orice cantitate la orice moment de timp.

Serviciul de masurare : Sistemele cloud pot controla si optimiza resursele automat folosind capabilitatea de a masura la un nivel de abstractie pentru serviciul cerut ca inmagazinare, procesare, banda sau conturi active. Utilizarea resurselor poate fi monitorizata, controlata si raportata oferind transparenta atat provider cat si consumatorul serviciului utilizat.

2.3 Arhitectura Cloud

Sistemele arhitecturii software-ului incluse in livrarea cloud computing-ului de obicei implica mai multe componente care comunica intre ele printr-un mecanism vag cum ar fi o coada de mesaje. Arhitectura cloud se refera la componentele necesare pentru realizarea cloud computing-ului. Aceste componente consista dintr-o platforma front end compusa dintr-un client, o platforma back-end de inmagazinare, o modalitate de a livra cloud-ul si o retea. Combinate, aceste componente compun arhitectura cloud.

Arhitecturile cloud consista din platforme front-end numite clienti cloud. Acesti clienti interactioneaza cu cloud-ul folosind o aplicatie middleware, de obicei prin browser. Un loc de depozitare online unde datele sunt retinute si accesibile pentru mai multi clienti se poate realiza prin inmagazinare in Cloud. Acesta este de obicei lansat in urmatoarele configuratii: cloud public, privat sau comunitate cloud. Pentru eficienta, inmagazinarea in Cloud trebuie sa fie flexibila, scalabila si sigura. Ingineria cloud este aplicarea disciplinelor de inginerie pe cloud computing. Aceasta aduce o apropiere sistematica catre problemele de comercializare, standardizare si guvernare in a realiza, dezvolta, opera si mentine sistemele de cloud computing. Este o metoda multidisciplinara pentru a contribui din diverse zone cum ar fi sisteme, software, performanta, web, informatii, securitate, platforma, risc si ingineria calitatii.

O baza de date in cloud ruleaza tipic pe o platforma de procesare cloud cum ar fi Microsoft Azure sau Amazon EC2 (Elastic Compute Cloud). Exista doua metode comune de desfasurare a modelelor. Utilizatorii pot sa isi ruleze bazele de date pe cloud independant, folosind o imagine a unei masini virtuale sau pot cumpra acces la un serviciu de baze de date mentinut de catre un provider de baze de date in cloud. Din bazele date valabile pe cloud, unele sunt bazate pe SQL iar altele folosec un model NoSQL.

Exista doua metode principale de a rula o baza de date pe un cloud.

Una este ruland o imagine a unei masini virtuale prin care platformele cloud permit utilizatorilor sa cumpere instante a masinilor virtuale pentru un timp limitat. Este posibil sa rulezi o baza de date pe aceste masini virtuale. Utilizatorii pot fie sa incarce imaginile lor cu o baza de date instalata deja sau sa foloseasca una dintre imaginile care deja includ o instalare optimizata a unei baze de date. De exemplu Oracle ofera o imagine pregatita cu o instalare de Oracle Database 11g pe Microsoft Azure.

Cea de-a doua metoda este modelul baza de date ca un servici. Unele platforme de cloud ofera optiuni pentru a utiliza o baza de date ca un servici, fara sa lansezi o instanta a unei baze de date. In aceasta configuratie, proprietarii aplicatiei nu trebuie sa instaleze sau sa mentina baza de date de unii singuri. In locul lor, providerul de baze de date isi ia responsabilitatea sa instaleze si sa mentina baza de date, iar proprietarii aplicatiei platesc dupa cat de mult o utilizeaza. De exemplu serviciile web de la Amazon ofera trei servicii de baze de date ca parte din oferta sa de cloud.

Majoritatea serviciilor de baze de date ofera console bazate pe web unde utilizatorul o poate folosi sa configure instante de baze de date. De exemplu consola web de la Amazon permite utilizatorilor sa isi lanseze mai multe instante a bazei de date, sa creeze backup-uri la baza de date si sa monitorizeze statistici. Serviciile de baze de date consista dintr-o componenta manager care controleaza instantele de baza folosind un API. Acest API este expus catre utilizator si permite utilizatorilor sa realizeze mentenanta si operatii de scalare pe baza lor de date. De exemplu, baza de date relationala de la Amazon are un API care permite crearea unei instante de baze de date, modificarea resurselor valabile pentru acea instanta, stergerea unei instante, crearea de backup a unei baze de date si a recupera o baza de date dintr-un backup.

Serviciile de baze de date fac software-ul de sub ele sa para transparent utilizatorului. Acesta de obicei include sistemul de operare, baza de date si software folosit pentru menajarea bazei de date. Provider-ul de servici este responabil sa instaleze, si sa updateze acel software pentru a asigura starea de viata si performanta bazei de date.

Serviciile de baze de date au grija de scalabilitatea si valabilitatea bazei de date. Scalabilitatea difera de la provider, unele ofera auto-scalare, altele lasa utilizatorul sa le scaleze folosind un API, dar nu scaleaza automat. Exista totusi o dedicatie a providerilor in a avea o accesibilitate la baza de date intr-un procent de 99.9 %.

Cloud computing-ul pune intrebari legate de intimitate pentru ca provider-ul acestui servici poate accesa datele care sunt urcate pe cloud in orice moment de timp. Poate accidental sau intentionat sa altereze sau chiar sa stearga informatii. Multi provideri de cloud pot impartasi informatia celor interesati daca este necesar din motive de legislatie, chiar si fara un mandat. Aceasta e permisa in politele lor de intimitate care utilizatorii trebuie sa le accepte inainte sa poata folosi serviciul cloud. Solutiile pentru intimitate includ polite si legislatii precum si optiuni ale utilizatorului pentru cum sa ii fie stocate datele. Utilizatorii pot sa isi cripteze datele care sunt procesate sau inmagazinate in cloud pentru a preveni accesul nepermis. Exista o problema cu dreptul de proprietate al datelor, daca un utilizator urca datele sale pe cloud, oare poate provider-ul de cloud sa profite de pe urma lor?

Multi termeni de acceptare sunt silentiosi in legatura cu aceasta problema. Controlul fizic al echipamentului (cloud privat) este mai sigur decat sa ai echipamentul in alta locatie si sub controlul altcuiva (cloud public). Se incurajeaza providerii de clouduri publice sa prioritizeze securizarea serviciilor sale. Unele business-uri mici care nu au expertize in securitatea IT ar gasi ca e mult mai sigur pentru ei in a folosi un cloud public. Exista un risc ca utilizatorii sa nu inteleaga problemele implicate cand acceseaza un serviciu de cloud pentru ca ajoritatea ignora conditiile de utilizare.

Fundamental, cloud-urile private sunt vazute ca fiind mai sigure din cauza nivelelor mai ridicate de control pentru proprietar, in schimb cloud-ul public se mandreste cu o mai mare flexibilitate si necesita mai putin timp si bani pentru a investi de catre utilizatori.

Exista multe servicii dependente de cloud de tipul asistent inteligent personal, unde partea inteligenta este realizata in cloud pentru ca este foarte scump din punct de vedere computational, cum ar fi Siri de la Apple.

2.4 Multicloud-ul

Multicloud-ul este utilizarea mai multor servicii de cloud intr-o singura arhitectura heterogena. De exemplu o companie poate folosi concurent provideri de cloud separati pentru serviciile de infrastructura si de software, sau sa foloseasca mai multi provideri de infrastructuri. In cazul acesta, ei pot utiliza diferiti provideri de infrastructura pentru diferite sarcini de lucru, sa desfasoare o singura sarcina impartita pe mai multi provideri sau sa desfasoare o singura sarcina pe un singur provider cu un alt provider ca backup. Difera de cloud-ul hibrid in sensul ca se refera la mai multe servicii de cloud decat la mai multe moduri de organizare(publice, private).

O arhitectura multi-cloud reduce dependenta vanzatorilor de cloud individuali, crescand flexibilitatea prin alegeri si mitigand dezastrele. Este similar cu folosirea celor mai bune aplicatii de la mai multi dezvoltatori pe un calculator personal, decat folosirea celor impliciti pe sistemul de operare al vanzatorului.

Multe probleme pot aparea intr-un mediu multicloud. Securitatea si guvernarea este mai complicata si multe piese in micare pot crea probleme de rezistenta. Selectia produselor corecte cloud si servicii pot deasemenea sa prezinte o provocare, iar utilizatorii sa sufere din paradoxul care va urma.

Cap 3. Stocarea datelor in cloud

Este un model de a stocare a datelor unde datele digitale sunt inmagazinate intr-un fond comun, unde inmagazinarea fizica se poate intinde pe mai multe servere aflate la locatii diferite iar mediul sau este controlat de catre un provider de cloud.

Acesti provideri sunt responsabili pentru pastrarea datelor disponibile si accesibile iar mediul fizic sa fie tot timpul intr-o stare de functionare si protejat de probleme. Oamenii si organizatiile cumpara sau inchiriaza capacitate de stocare de la provider pentru a isi stoca datele sale, ale organizatiei sau ale aplicatiei pe care acestia o folosesc. Aceste servicii pot fi accesate printr-un serviciu de cloud sau folosind o aplicatie cu o interfata web care foloseste un API dedicat acelui cloud.

Stocarea datelor pe cloud este bazata pe o infrastructura cu un grad ridicat de virtualizare care poate scala peste pentru a corespunde cerintelor utilizatorilor, precum si abilitatea de a-si imparti resursele sale mai multor utilizatori in acelasi timp.

Stocarea datelor in cloud se refera de obicei la serviciul de gazduire a obiectelor, dar termenul s-a diversificat pentru a include alte tipuri de stocari cum ar fi stocarea in blocuri de date.

Acesta e compus din mai multe resurse distribuite, care se comporta ca un intreg, este tolerant la erori prin duplicarea si distribuirea datelor precum si copierea acestora in mai multe locatii.

Avantajele sale sunt faptul ca companiile trebuie sa plateasca pentru stocarea datelor doar cat utilizeaza. De obicei aceasta se masoara ca o consumatie medie pe luna. Aceasta nu inseamna ca stocarea datelor in cloud este mai ieftina, ci doar ca realizeaza cheltuieli de operare in loc de cheltuieli de achizitionare.

Valabilitatea stocarii si protejarii datelor este necesara intr-o arhitectura de gazduit obiecte, depinzand de aplicatiile folosite si de tehnologia aditionala, se pot scadea din efortul si costurile necesare securizarii datelor.

Lucrarile de mentenanta cum ar fi cumpararea unitatilor de stocare cu capacitate mai mare sunt realizate si sunt responsabilitatile providerului de cloud.

Stocarea in cloud ofera utilizatorilor acces imediat catre o larga masa de resurse si aplicatii gazduite de infrastrucura lor, folosind o interfata de servicii web.

Stocarea in cloud poate fi folosita pentu a copia imaginile masinilor virtuale dintr-un cloud din interiorul unei organizatii catre libraria de imagini ale cloud-ului. Pe langa asta, e posibil sa se mute imaginie masinilor virtuale intre diferite conturi de utilizator respectiv centre de date.

Inmagazinarea in cloud poate fi folosita ca un backup impotriva dezastelor naturale, pentru ca acestea de obicei au intre doua si trei servere de backup imprastiate pe glob.

Stocarea in cloud permite documentelor word si excel sa fie editate direct din browserul tau atunci cand computerul nu are aceste aplicatii instalate, cum ar fi de pe un smartphone.

3.1 Zone de risc

Cand datele sunt distribuite si inmagazinate in mai multe locatii, creste riscul de acces neautorizat la ele. De exemplu, intr-o arhitectura cloud, datele sunt replicate si mutate frecvent si astfel acest risc creste dramatic. Maniera in care datele sunt replicate depinde de nivelul de servici ales de catre utilizator si tipul serviciului. Majoritatea prefera ca datele lor sa fie criptate in urma stocarii lor in cloud.

Numarul de oameni cu acces la date care pot fi compromise creste dramatic. O companie privata ar putea sa aiba o mica echipa de administatori si ingineri de sistem, dar o companie de stocari in cloud va avea multi clienti si mii de servere si astfel necesita o echipa tehnica mai mare care sa aiba acces fizic si electronic catre toate datele din companie. Daca cheile de decriptare sunt tinute de catre utilizator si nu de catre provider-ul de cloud, atunci se va permite accesul doar angajatilor acelei companii.

Prin insusirea spatiului de inmagazinare intre mai multi utilizatori, este posibil ca unii clienti sa aiba acces la datele altor clienti. Acest lucru se poate intampla in urma unor actiuni eronate, echipamente defectoase sau a bug-urilor de sistem. Acest risc se aplica tuturor tipurilor de stocare si nu doar stocarii in cloud. Riscul de a se citi datele in timpul transmiterii poate fi mitigat prin tehnologia de criptare. Criptarea in timpul transferului protejeaza datele inspre si dinspre serviciul de cloud.

3.2 Stabilitatea serviciilor de cloud

Companiile nu sunt permanente iar serviciile si produsele pe care acestea le ofera se pot schimba in orice moment. Outsourcing-ul datelor catre o alta companie cu scopul stocarii lor necesita o analiza riguroasa pentru ca nimic nu poate fi sigur. Contractele care leaga doua astfel de companii nu inseamna nimic daca una din ele inceteaza sa mai existe ca urmare a unor probleme de administrare.

Cloud-ul se mandreste cu o arhitectura software care permite mai multi chiriasi. Acest lucru inseamna ca o singura instanta de software ruleaza pe un server, iar acesta poate servi mai multi utilizatori in acelasi timp. Un chirias este un grup de utilizatori care impartasesc un acces comun cu privilegii specifice unei instante a software-ului. Cu o astfel de arhitectura, o aplicatie software este capabila sa-i dedice fiecarui chirias o parte din instanta accesata, care contine datele si functionalitatea pe care utilizatorul le doreste de la cloud. Aceasta este o caracteristica importanta in cloud computing.

Intr-un mediu cu mai multi chiriasi, mai multi clienti utilizeaza aceeasi aplicatie care ruleaza pe acelasi sistem de operare si acelasi hardware avand acelasi mecanism de stocare. Diferenta dintre clienti este realizata in timpul setarii cloud-ului, astfel clientii nu isi pot vedea datele unul altuia. Acest lucru este diferit de virtualizare, unde componentele sunt transformate permitand fiecare aplicatie a fiecarui client sa ruleze pe o masina virtuala diferita. Pentru ca e necesar sa fie pastrate metadatele fiecarui chirias care contin customizarile sale, acest tip de mediu necesita mai mult timp efort pentru realizare.

Abilitatea de a avea mai multi chiriasi permite reducerea costurilor prin consolidarea resurselor IT intr-o singura operatie. O instanta de cloud necesita un minim consum de memorie de procesare care poate creste substantial cand exista cerinte de la mai multi utilizatori in acelasi timp. Alte reduceri de pret pot proveni de la necesitatea de a cumpara mai putine licente pentru sisteme de operare, fiind una singura necesara per instanta de cloud.

Performanta acelei instante va creste prin upgrade-ul hardware a masinii pe care ruleaza, aceasta necesitand un procesor mai bun cu memorie mai multa, respectiv un dispozitiv de stocare. Costul lor de imbunatatire se va ridica daca providerul de cloud imparte traficul pe mai multe servere care au acelasi nivel de performanta.

3.3 Sisteme de stocare in cloud

A stoca datele intr-un cloud inseamna a inmagazina datele tale cu ajutorul unui provider de cloud in loc de a le inmagazina local. Ca si cu alte servicii de cloud, se pot accesa datele de pe cloud cu ajutorul unui link de internet.

Stocarea in cloud are un numar de avantaje comparat cu stocarea locala. Daca iti stochezi datele intr-un cloud, poti sa le ridici din orice locatie care acces la internet. Aceasta o face foarte atractiva pentru oamenii care calatoresc. Muncitorii nu trebuie sa foloseasca acelasi calculator, nici sa poarte cu ei unitati de stocare. Deasemenea, daca o organizatie are birouri la mare distanta unele de altele, toate pot sa acceseze datele de la acelasi provider de cloud.

Exista sute de sisteme de stocare in cloud, iar unele sunt foarte specifice prin ceea ce fac. Unele inmagazineaza doar e-mail-uri si poze digitale, iar altele inmagazineaza orice tipuri de date. Unii provideri sunt mici, in timp ce altii sunt imensi avand servere care se intind pe un stadion de fotbal.

Un sistem de stocare in cloud necesita doar un server de date conectat la internet. Un abonat isi copiaza fisierele pe server prin internet, iar acesta pastreaza datele. Cand un client vrea sa ridice acele date, acesta va accesa cloud-ul cu ajutorul unei interfete bazate pe web, prin care serverul fie trimite fisierele inapoi la client sau permite accesul si editarea lor.

De obicei, sistemele de stocare in cloud utilizeaza sute de servere de date. Pentru ca serverele necesita mentenanta sau reparatii, este necesar sa inmagazineze datele pe mai multe masini pentru a crea redundanta. Fara aceasta, sistemele de cloud nu vor putea sa asigure clientii ca isi pot accesa informatiile in orice moment. Majoritatea sistemelor inmagazineaza aceleasi date pe servere care au surse de energie diferite. In acest mod, clientii vor putea sa isi acceseze datele chiar daca o parte din servere sunt offline din cauza unei pene de curent.

Multi clienti folosesc stocarea in cloud nu pentru ca au ramas fara loc de stocare local, dar pentru siguranta. Daca ceva se intampla la cladirea unde lucreaza, atunci nu isi vor pierde toate datele.

3.4 Serviciul de stocare de date

Serviciul de stocare de date reprezinta faptul ca un provider de cloud isi inchiriaza spatiul de stocare utilizatorilor care nu au buget pentru a-si crea si mentine un spatiu de stocare al lor. Este deasemenea ideal cand personalul tehnic al companiei nu este antrenat pentru a implementa si mentine o astfel de infrastructura de stocare.

Providerii de acest tip de servici nu sunt ceva nou, dar datorita complexitatii metodei de backup, a replicarii datelor si a necesitatii de recuperare in caz de dezastru, acest serviciu a devenit popular in special intre firmele mici si mijlocii.

Cel mai mare avantaj al acestui serviciu este reducerea de costuri. Stocarea datelor este inchiriata de provider folosind un model de cost per gigabyte de date stocate sau cost per transfer de date. Utilizatorul nu trebuie sa plateasca pentru infrastructura lor, ci doar pentru cat de mult o folosesc.

Un client foloseste un software pentru a specifica ce doreste sa salveze si apoi isi transfera datele prin reteaua de internet. Cand se realizeaza pierderi de date, utilizatorul isi poate recupera datele pierdute de la provider. In unele cazuri, provider-ul poate sa isi copieze datele clientului pe DVD-uri iar apoi sa le transmita clientului.

Exista sute de provideri de stocare in cloud pe interne si altii vor continua sa apara in fiecare zi. Pe langa ca exista provideri de cloud cu scopul de stocare, mai exista si unii specializati pe anumite ramuri. Exemplu ar fi Google Docs care permite upload-ul de documente, grafice si prezentari pe serverele de la Google. Acele fisiere pot fi editate folosind o aplicatie Google. Providerii de e-mail cum sunt Gmail, Hotmail si Yahoo isi stocheaza mesajele pe serverele lor. Utilizatorii pot accesa email-ul lor din orice device conectat la internet. Alti provideri cum sunt Flickr si Picasa inmagazineaza milioane de fotografii digitale si permit utilizatorilor sa isi creeze albume foto online. Youtube permite stocarea a milioane de video-uri urcate de catre utilizatori, iar Facebook-ul si MySpace-ul sunt site-uri de socializare care permit utilizatorilor sa posteze poze si mesaje. Cum apar tot mai multe servicii de stocare in cloud, preturile de stocare au inceput sa scada iar unele dintre companii ofera o anumita cantitate de stocare gratuita pentru a ramane competitivi.

Pentru a-si pastra datele sigure, majoritatea sistemelor folosesc una sau o combinatie de tehnici cum ar fi urmatoarele.

Criptarea datelor printr-un algoritm complex a caror decriptare necesita o cheie a utilizatorului. Pentru a decripta informatiile, este foarte greu pentru hackerii care nu au acces la o puternica putere de procesare necesara pentru a sparge codul de criptare.

Procese de autentificare care necesita utilizatorului sa introduca numele si parola. Acesta enumera persoanele care sunt autorizate sa aiba acces la acea informatie stocata pe cloud. Multe companii au mai multe nivele de autorizare. De exemplu, un muncitor la companie va avea un acces limitat iar seful departamentului de IT va avea acces complet la datele stocate. Chiar si cu aceste masuri, tot vor exista dubii legate de vulnerabilitatea datelor.

Se presupune ca un hacker va gasi un mod de a intra in sistemul securizat pentru a accesa datele. Deasemenea, un muncitor suparat ar putea altera sau distruge datele de pe cloud printr-o simpla accesare.

In afara de securitate, al doilea cel mai important atribut pentru client este fiabilitatea. Daca un sistem de stocare in cloud nu este fiabil, atunci nimeni nu va vrea sa-si salveze datele pe acel sistem instabil si vor pierde increderea in acea companie. Majoritatea providerilor incearca sa adreseze problema fiabilitatii prin redundanta, dar posibilitatea va ramane ca sistemul sa crape si sa lase clientii fara nici un mod de a-si accesa datele.

Reputatia este importanta pentru providerii de cloud. Daca exista perceptia ca un provider nu este de incredere, nu vor avea multi clienti. Si daca nu sunt de incredere, acestia nu vor persista mult din cauza ca exista foarte multi provideri de cloud pe piata.

Stocarea in cloud devine o solutie din ce in ce mai atractiva pentru companii, pentru ca datele vor fi accesibile pe internet, inmagazinate pe mai multe sisteme de stocare in loc sa fie limitate intr-o pozitie fixa pe un site de hosting.

Providerii de stocari de date in cloud balanseaza cerintele de server si muta datele intre mai multe centre pentru a se asigura ca informatiile sunt inmagazinate aproape de locatia unde sunt accesate cel mai des. A stoca datele pe cloud este avantajos pentru ca iti permite sa iti protejezi datele in caz de dezastru. Ai putea sa-ti faci backup la fisierele care contin informatii critice dar daca acestea sunt aflate pe serverele de la lucru, aceste date se vor pierde in caz de incendiu. Faptul ca iti pastrezi datele pe o locatie separata de locatia de lucru, va face diferenta intre inchiderea companiei si reinceperea lucrului dupa dezastru. Alegerea providerului de cloud este o problema complexa din cauza ca depinde de modul in care aplicatiile companiei interactioneaza cu cloud-ul. De exemplu, unele aplicatii sunt bazate pe agenti iar acestea transfera automat informatii catre cloud. In schimb, altele utilizeaza o interfata web care necesita utilizatorului sa selecteze fisierele de transmis. S3 de la Amazon este cea mai populara solutie de stocare, dar alti provideri pot fi mai buni pentru companii mai mari. De exemplu, providerii care ofera acces direct catre relatii cu clientii sunt necesari pentru mutarea stocarii de date catre un provider de cloud.

Cand o firma vrea sa treaca pe un cloud, e recomandat sa nu se bazeze complet pe acesta din cauza problemelor potentiale de securitate. Astfel e de preferat ca sa nu isi urce toate datele importante pe cloud, ci doar o parte din ele, care sa nu fie vitale pentru companie.

Companiile mari ar avea dificultati de integrare cu Google Cloud Storage si Amazon din cauza ca sunt fortati sa rescrie aplicatiile lor pentru adaptare cu cloud-ul. Un provider ca 3tera de exemplu suporta aplicatii scrise in Solaris, .NET si Java.

Punctele de baza pe care se axeaza o companie cand alege un cloud sunt pretul si fiabilitatea. Aici trebuie sa se asigure compania ca va face o intelegere buna cu provider-ul care ii va asigura un serviciu de calitate. O singura greseala pe partea providerului va insemna inabilitatea de a-si recupera datele compania. Multe companii testeaza mai multe servicii de stocare in cloud pentru a verifica cat de bine se integreaza cu sistemele lor. Este important ca provider-ul sa-ti ofere ceea ce ai nevoie inainte sa urci date importante pe cloud. In caz de catastrofa in companie, faptul ca fisierele sale au fost urcate pe cloud va insemna ca nu au pierdut totul.

Problemele legale sunt si ele importante. De exemplu, avem materiale cu drepturi de autor care dorim sa le urcam pe cloud, aceasta optiune ar putea sa nu fie posibila din motive de licenta. Deasemenea, trebuie sa luam in considerare ce asigurari ne ofera acel provider legat de datele pe care le stocheaza, pentru a stii cum sa procededam in caz de pierderi de date sau brese de securitate.

A existat un eveniment in Februarie 2008 cand Amazon S3 a avut o pana de curent. Rezultatul a fost inactivitatea aplicatiilor companiilor in perioada acesteia. Amazon raporteaza ca au rezolvat problema adaugand mai multa capacitate sistemului de autentificare care a fost cauza problemei. Si-au notat deasemenea ca nici o informatie nu a fost pierduta pentru ca foloseau mai multe copii pentru fiecare obiect in mai multe locatii. Totusi, clientii nu au reusit sa-si acceseze datele cand doreau si astfel e necesar sa fii pregatit cand alegi optiunea de stocare in cloud.

Trebuie sa fim constienti ca datele noastre pot fi furate sau vizionate de catre alti utilizatori care nu sunt autorizati sa le vada. Oricand datele sunt extrase din centrul de date al companiei, acest fapt risca probleme din punct de vedere al securitatii. In urma stocarii datelor in cloud, trebuie sa ne asiguram ca datele sunt criptate si securizate in timpul trasferului prin tehnologii ca SSL. De fiecare data cand informatiile ies dintr-o companie pentru a fi urcate pe cloud, se renunta practic la o masura de securitate.

Aflarea daca o companie este sau nu compatibila pentru stocarea in cloud se rezuma la deciziile acelei companii si ce doreste sa realizeze in cloud.

3.5 Exemple de sisteme stocare in Cloud

Amazon Simple Storage Service sau S3 are o interfata simpla web care se poate folosi pentru inmagazinarea si extragerea oricarei marimi de date, oriunde si la orice ora. Permite dezvoltatorilor deasemenea acces la infrastructura inalt scalabila care ruleaza pe o retea la nivel global. Acest serviciu incearca sa maximizeze beneficiile scalarii pentru a fi folosita de dezvoltatori.

Amazon S3 este intentionat construit cu un set minim de operatii care sunt scrierea, stergerea si citirea obiectelor de dimensiuni intre 1 byte si 5 gigabytes marime, unde nu exista o limita la cate obiecte poti inmagazina pe cloud. Fiecare obiect este stocat si recuperat folosind o cheie unica atribuita fiecarui utilizator.

Fiecare obiect poate fi facut privat sau public, depinzand de drepturile acordate utilizatorilor de catre dezvoltatori. S3 foloseste interfete standard bazate pe REST si SOAP care pot fi compatibile cu orice alt instrument de pe internet.

Cand s-a conceput acest sistem, s-a dorit ca acesta sa fie scalabil din punct de vedere al stocarii, al ratei de cereri si al numarului de utilizatori care il utilizeaza, pentru a putea fi folosit de un numar nelimitat de aplicatii web. Deasemenea s-a dorit ca acesta sa aiba o accesibilitate de 99,99 la suta din timp. Amazon nepermitand downtime-ul serverelor sale.

S3 s-a vrut a fi destul de rapid ca sa poata suporta aplicatiile de inalta performanta, pentru a minimiza latenta creata de timpul de procesare petrecut pe partea de server, iar singurele parti incete sa depinda de viteza de transfer prin internet. Aceasta se poate oricand rezolva adaugand un numar mai mare de noduri in sistem pentru a evita blocajele de performanta.

Amazon S3 este construit din componente hardware ieftine. Ca rezultat, orice cadere de nod care se intampla frecvent nu trebuie sa afecteze sistemul in intregime. Acesta trebuie sa fie compatibil cu orice alte piese hardware fara sa fie necesari adaptori, pentru a putea sa tina la minim costurile de infrastuctura.

Construirea unei unitati de stocare simpla, foarte scalabila, de incredere, rapida si ieftina este o treaba greu de realizat. Pentru a face asta si sa fie usor de folosit de orice aplicatie din lume este o treaba si mai grea. Amazon S3 doreste sa le faca pe ambele, fortand sistemul sa suporte atat aplicatiile interne de la Amazon cat si aplicatiile externe create de catre dezvoltatori. Acest lucru inseamna ca sistemul trebuie sa fie rapid si de incredere pentru a rula site-urile de la Amazon, dar destul de flexibil incat orice dezvoltator sa il poata utiliza pentru stocarea datelor.

Sistemul distribuit de la Amazon foloseste tehnici de descentralizare pentru a scoate din uz blocajele care pot sa apara, tehnici de autonomie astfel incat orice componenta individuala poate sa realizeze decizii bazate pe informatiile locale. Principiul de responsabilitate individuala a fiecarei componente care trebuie sa reuseasca sa fie consistenta, pentru a nu fi o greutate pentru celelalte componente din sistem.

Operatiile sale sunt concepute fara necesitatea unui control concurent. Sistemul considera caderea unei componente din sistem o actiune normala si is continua operatiile fara nici o intrerupere. Abstractizarile realizate in sistem sunt la un nivel asa de granular incat se permite cresterea performantei si a introducerii de noduri noi cu ajutorul paralelismului.

S3 foloseste blocuri de date bine definite care pot fi folositi ca componente de baza pentru alte servicii. Exista noduri de simetrie in sistem care sunt identici din punct de vedere al functionalitatii si necesita un nivel minim de configuratii pentru functionare. Este un sistem realizat cat de simplu posibil, dar nu mai simplu de atat.

S3 stocheaza obiecte arbitrare de pana la 5 Gigabytes marime, si fiecare este acompaniat de cate un header de 2kb care contine metadata. Obiectele sunt organizate containere numite galeti sau buckets. Fiecare dintre acestea este atribuit unui cont AWS si sunt identificate cu o cheie unica asignata de cate utilizator. Aceste obiecte sunt create, citite si recuperate folosind interfete REST sau SOAP. Obiectele pot fi deasemenea obtinute printr-o interfata HTTP GET folosind BitTorrent. O lista de acces restrictioneaza ce se poate accesa din fiecare galeata. Numele si cheile sunt formulate astfel incat sa se poata accesa prin HTTP si se pot acorda drepturi de accesare pe perioade limitate folosind unealta de autentificare de la Amazon sau AWS. Utilizatorul apoi va putea accesa link-ul trimis si va putea vizualiza obiectele stocate in galeata.

Cap 4. File manager in multi-clouds

4.1 Instrumentele utilizate in aplicatie.

Pentru realizarea partii practice a lucrarii, am utilizat urmatoarele aplicatii:

Eclipse IDE, un soft pentru rularea si editarea aplicatiilor java;

Google Cloud Storage JSON API prin care comunicam cu cloud-ul de la google.

Amazon S3 REST API prin care comunicam cu cloud-ul de la Amazon.

4.2 Utilizarea aplicatiei

Folosind aplicatia reusim sa ne conectam la doua cloud-uri, fiecare cu diferite costuri de utilizare pe care le-am specificat in detaliile cloud-ului, putem vizualiza amandoua cloud-urile in aceeasi fereastra si apasand butonul “Optimizeaza Cloud” aplicatia va calcula unde este mai eficient de pastrat datele din cele doua cloud-uri, precum si limitele curente ale celor doua.

Pe cloud-ul cu un cost de utilizare mai mic va crea un folder cu numele cloud-ului opus si va incepe transferul de date de pe cloud-ul cu costul de utilizare mai mare pana la transferul complet al fisierelor din acesta.

Apoi vom putea vedea putea vizualiza cloud-urile in aceeasi fereastra si vom vedea cat spatiu ocupat este pe fiecare. Apoi vom afisa statistica care reprezinta cat de multi dolari pe luna am economisit in urma folosirii aplicatiei, pentru urmatoarele 3 luni, 6 luni si 1 an si cat ne-a costat operatia de transfer intre cloud-uri.

Astfel am reusit sa optimizam procesul de stocare in multi-cloud in urma caruia utilizatorul iese in profit pe termen lung.

Cap 5. Referinte bibliografice

[1]. P. Mell and T. Grance – The NIST Definition of Cloud Computing. White paper. NIST. http://www.nist.gov/itl/cloud/upload/cloud-def-v15.pdf, 2009;

[2]. Michael J. Kavis – Architecting the Cloud: Design Decisions for Cloud Computing Service Models, 2014;

[3]. Raghuram Yeluri – Building the Infrastructure for Cloud Security, 2014;

[4].Toby J.Velte, Anthony T.Velte, Robert Elsenpeter – Cloud Computing, A Practical Approach, 2009;

[5].Eric Griffith – What Is Cloud Computing? http://www.pcmag.com/article2/0,2817,2372163,00.asp;

[6] Thomas Erl – Cloud Computing: Concepts, Technology and Architecture,2013;

Similar Posts