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



Yüklə 60,45 Kb.
tarix01.08.2018
ölçüsü60,45 Kb.
#65215

Cloud Computing.

Resource Allocation in the Cloud,

Semantic Clouds,

Clouds and Mobile Devices and Apps



  1. Introducere

O data cu aparitia si dezvoltarea unor noi tehnologii mereu iau nastere intrebari precum “Cand a fost inventata?”, “Cand a fost prima data mentionata?”, “Care pot fi dezvoltarile viitoare?”, “Cine a propus conceptul?”. Atunci cand lumea se gandeste la cloud, aceasta ia in considerare doar produsele, situatiile si ideile care au fost infiintate in secolul curent, dar aceasta gandire nu este tocmai una corecta, deoarece conceptul de cloud exista de multa vreme, chiar daca dezvoltarea lui a fost mai intensa numai in ultimii 10-15 ani.

Dezvoltarea conceptului cloud a fost una graduala care a inceput cu calculatoarele mainframe in anul 1950. Utilizatori multiplii erau capabili sa acceseze un calculator central printr-un terminal mai primitiv, al carui singur scop era sa furnizeze acces la mainframe. Pentru a cumpara si intretine un astfel de calculator pentru fiecare angajat costurile era foarte mari. Din aceasta cauza firmele au realizat cat de costisitoare si neeficienta era acesta solutie, mai ales ca majoritatea angajatilor nu aveau nevoie de atata putere de procesare si capacitate de stocare care era oferita de un astfel de calculator. Solutia economica, dar si eficace la care au recurs firmele a fost de a oferi tuturor angajatilor acces partajat la o singura resursa.

O noua idee care avea sa imbunatateasca conceptul initial a fost creata in jurul anului 1970. Aceasta era aceea de masina virtuala. Datorita utilizarii software-urilor de vizualizare, precum VMware, a devenit posibila executarea unuia sau a mai multor sistemele de operare intr-un mediu izolat. Astfel, calculatoare complete dar virtuale puteau fi rulate in interiorului unei componente hardware pe care la randul ei rula un cu totul alt sistem de operare. Introducerea masinilor virtuale a avansat conceptul accesului partajat la un mainframe, astfel facand posibila convietuirea mai multor medii de calcul pe un singur mediu fizic.

In anul 1990 firmele de telecomunicatii au inceput sa ofere conexiuni de retele virtualizate private. Aceste companii ofereau mai exact conexiuni de date dedicate doar de la un punct la altul. Noile conexiuni de retele private virtualizate aveau aceeasi calitate ca si serviciile dedicate dar la un cost mai redus. In locul crearii unei infrastructurii fizice pentru a permite mai multor utilizatori de a avea propria conexiune, companiile de telecomunicatii erau acum capabile sa ofere utilizatorilor acces partajat la aceeasi infrastructura fizica.

In cele ce urmeaza va fi prezentata o scurta si concisa lista care va evidentia evolutia cloud computing-ului:



  • Calcularea in retea (Grid computing): rezolva marile probleme care apareau atunci cand se dorea o calculare paralela;

  • Calcularea de utilitate (Utility computing): ofera servicii de calculare ca un serviciu contorizat;

  • SaaS: Abonarea bazata pe retea la aplicatii;

  • Cloud computing: obtinerea accesului oricand si de oriunde la resurse IT livrate dinamic ca un serviciu.

Alte realizari si puncte de reper importante in acest domeniu care necesita a fi amintite sunt:



  • In 1999, Salesforce.com a fost cel care a pionerat conceptul livrarii aplicatiilor unor firme prin intermediul unui simplu website, astfel a fost specializat si simplificat modul de transmitere al aplicatiilor prin intermediul internetului:

  • In 2002, Amazon Web Services a oferit o suita de servicii bazate pe cloud, acestea incluzand si stocarea de date, calcularea si chiar inteligenta umana prin piata de desfacere numita Amazon Mechanical Turk;

  • In 2006, tot Amazon a lansat Elastic Compute cloud sau EC2 ca un serviciu web commercial care permitea micilor companii cat si persoanelor fizice sa inchirieze calculatoare pe care sa isi ruleze propriile aplicatii;

  • In 2009, Google a inceput sa ofere aplicatii care se bazau pe cautare prin servicii precum Google Apps;

  • Un alt factor cheie care a ajutat la evolutia cloud computing-ului a fost maturizarea tehnologiei de virtualizare, dezvoltarea inaltei viteze de banda universale si a standardelor universale de interoperabilitate software;



  1. Prezentarea si ilustrarea principalelor notiuni si concepte




    1. Cloud computing

Cloud computing-ul este paradigma tehnologiei informatiei care permite acces omniprezent la fondurile partajate de resurse ale unui sistem configurabil si a unor servicii de nivel inalt care pot fi aprovizionate rapid si cu un efort minim, cel mai des prin intermediul internetului. Cloud computing-ul se bazeaza pe partajarea de resurse pentru a realiza coerenta si economie.

Cloud-urile care actioneaza ca si terti permit organizatiilor sa se focuseze pe sectiunea de afaceri in locul maririi resurselor de pe calculatoarele din infrastructura, astfel costurile necesare mentinerii si intretinerii infrastructurii devin mai mici. Aplicatiile companiilor ruleaza mai repede cu o flexibilitate crescuta si mai putina intretinere, iar echipele de IT pot ajusta mai rapid resursele astfel incat sistemul sa satisfaca cererea de resurse intalnita in cazul unei fluctuatii neprevazute.

Exista doua tipuri de cloud computing. Una este privata si cealalta este publica. Cea din urma este aceea la care se refera majoritatea oamenilor atunci cand spun cloud computing si se refera la un model de serviciu de calculare utilizat pentru stocare cloud si servicii de calculare accesibile publicului general prin intermediul internetului. De la lansarea lui Amazon EC2 in 2006 disponibilitatea retelelor de capacitate inalta, a calculatoarelor mai putin scumpe, a dispozitivelor de stocare, a adoptarii pe scara larga a componentelor hardware de virtualizare, a arhitecturilor de orientare pe servicii si a calcularii automate au dus la o crestere impresionanta a cloud computing-ului.


Cloud computing-ul prezinta urmatoarele caracteristici cheie:

  • Agilitatea companiilor este imbunatatita, deoarece cloud-ul creste flexibilitatea utilizatorilor cu reaprovizionarea, adaugarea si extinderea resurselor infrastructurii tehnologice;

  • Distribuitorii de cloud sustin ca acesta va avea impact asupra costurilor, acestea vor fi mai scazute. Un model de livrare cloud public converteste cheltuielile de capital precum achizitionarea de noi servere in cheltuieli operationale. In consecinta, aceasta micsoreaza barierele de intrare, deoarece infrastructura este de obicei este furnizata de partea terta si nu trebuie achizitionata nici macar o singura data. Nu sunt necesare capacitati de programare avansata pentru a implementa proiecte care folosesc cloud computing. Depozitul de proiecte de ultima generatie a e-FISCAL-ului contine mai multe articole care au in vedere aspectul costului. Majoritatea ajung la concluzia ca diminuarea costurilor depinde de tipul de activitate suportata si de tipul infrastructurii disponibile.

  • Independenta dintre dispozitiv si locatie permit utilizatorilor sa acceseze sistemul folosind un browser web indifferent de locatia sau de dispozitivul pe care il utilizeaza, de exemplu, telefon sau calculator. Deoarece infrastructura este oferita de o parte terta si accesul este permis prin intermediul internetului utilizatorii se pot conecta de oriunde.

  • Intretinerea aplicatiilor care se bazeaza pe cloud computing este usoara, deoarece nu trebuie instalate pe calculatorul fiecarui utilizator si pot fi accesate din orice loc, de exemplu din diferite locatii chiar si in timpul calatoriilor.

  • Inchirierea multipla ofera posibilitatea partajarii resurselor si a costurilor cu mai multi utilizatori, acestia fiind capabili: sa centralizeze infrastructura in locatii cu cost redus, sa platesca pentru resursele si echipamentele care le staisfac cele mai inalte posibile cerinte si sa aduca imbunatatiri de eficienta si utilizabilitate pentru sistemele care de obicei sunt folosite numai la capacitatea de 10-20%.

  • Performanta este monitorizata de un expert ITde la furnizorul de serviciu iar arhitecturi consistente si slab interconectate sunt construite utilizand servicii web ca si interfata a sistemului.

  • Punerea in comun a resurselor si a mijloacelor de calculare ale furnizorului sunt astfel dispuse pentru a servi multiplii utilizatori folosind un model de multipla inchiriere cu diferite resurse fizice si virtuale asignate dinamic. Acestea pot fi reasignate in functie de cererile utilizatorului. Exista o independeta a locatiei in care utilizatorul nu stie locatie concreta a resurselor furnizorului.

  • Productivitatea poate fi imbunatatita atunci cand multiplii utilizatori pot lucra pe acelasi set de date simultan, aceasta metoda vine ca o imbunatatire in defavoarea asteptarii salvarii datelor de catre altcineva si trimiterii lor prin e-mail sau alte mijloace. Este salvat mult timp deoarece informatia nu trebuie sa fie iar introdusa in sistem, iar utilizatorii nu trebuie sa instaleze imbunatatirile aplicatiilor in calculatorul lor.

  • Deoarece sunt utilizate sistemele redundante, posibilitatea pierderii informatiilor este foarte mica, deci avem de a face cu o fiabilitate crescuta ceea de duce la utilizarea cloud-ului la scara larga.

  • Scalabilitate si elasticitate prin aprovizionare dinamica in timp aproape real, fara a fi necesara interventia utilizatorilor in cazul aparitiilor unor supraincarcari de date. Aceasta asigura capabilitatea diminuarii capacitatii daca resursele nu sunt folosite cat si a maririi capacitatii atunci cand creste utilizarea resurselor.

  • Securitatea este imbunatatita datorita centralizarii datelor cat si a resurselor multiple directionate spre securitate, dar ingrijorarile continua asupra pierderii controlului peste anumite date sensibile. De obicei securitatea este la fel de buna sau chiar mai buna decat cea a sistemelor traditionale, deoarece furnizorii de servicii sunt capabili sa asigneze resurse care sa resolve probleme de securitate pe care multi utilizatori si isi permit sa le urmareasca sau nu sunt capabili din cauza lipsei de cunostinte tehnice. Complexitatea necesara securizarii datelor creste atunci cand informatiile sunt distribuite intr-o arie mare sau atunci cand sunt implicate multe dispositive, de exemplu, atunci cand avem de a face cu un sistem impartit de multi utilizatori fara legatura intre ei. Instalarea de cloud-uri private este motivata de dorinta utilizatorilor de a mentine control asupra infrastructurii si de a nu pierde controlul asupra securitatii informatiilor.

Institutul national de standard si tehnologie asuma ca calcularea cloud intalneste cinci caracteristici esentiale:



  • Autoservire la cerere: Un consumator poate sa isi furnizeze capacitati de calcul precum timpul de raspuns al server-ului si capacitatea de stocare a retelei asa cum isi doreste automat fara a fi nevoie de interactiune umana cu fiecare furnizor de servicii.

  • Acces general la retea: Capacitatile sunt disponibile pe retea si accesate prin mecanisme standard care promoveaza utilizarea de catre platformele client precum telefoane, tablete, laptop-uri si statii de lucru.

  • Punerea in comun a resurselor: Resursele de calculare ale furnizorului sunt partajate pe server-ul unde multiplii clienti folosesc un sistem de inchiriere cu diferite resurse fizice si virtuale asignate dinamic si reasignate conform ceririi clientilor.

  • Elasticitate rapida: Capacitatile pot fi atribuite si eliberate elastic, iar in unele cazuri chiar automat pentru a fi scalate in interior si in exterior rapid proportional cu cererile utilizatorilor. Pentru utilizator, capacitatile disponibile pentru aprovizionare de cele mai multe ori par a fi nelimitate si pot fi insusite in orice cantitate, oricand.

  • Servicii masurate: Utilizarea resurselor poate fi monitorizata, controlata si raportata, astfel oferindu-se transparenta asupra serviciului utilizat atat pentru furnizor cat si pentru client.

Printr-o arhitectura de tipul orientata pe functie se presupune ca orice este o functie. Furnizorii de cloud isi ofera serviciile conform unor diferite modele. Acestea ofera un nivel crescut de abstractizare, cel mai des, ele sunt reprezentate ca straturi intr-o stiva. Acestea sunt: stratul de infrastructura, stratul de platforma si stratul de software ca un serviciu. Dar acestea nu trebuie sa fie conectate intre ele si nu trebuie sa depinda unele de altele, pot functiona independent unele de altele.



https://upload.wikimedia.org/wikipedia/commons/3/3c/cloud_computing_layers.png

Figura 2.1 Modelul de servicii aranjat ca straturi intr-o stiva



Infrastructure as a service (IaaS)

Acesta se refera la servicii online care furnizeaza API-uri de nivel inalt folosite pentru a ascunde variate detalii de nivel scazut ale infrastructurii retelei precum calcularea fizica a resurselor, locatia, partitionarea datelor, scalare, securitate si copii de siguranta sau backup. Hipervizorii percum Xen, Oracle, VirtualBox, Oracle VM, KVM, VMware ruleaza masinile virtuale ca si vizitatori. Partajarea hipervizorilor in sistemul operational cloud poate suporta numere mari de masini virtuale si posibilitatea de a scala in sus sau in jos serviciile, conform cu cerintele variate ale clientilor.

Definitia institutului national de standarde si tehnologie asupra cloud computing-ului descrie IaaS ca fiind un loc in care clientul este capabil sa lanseze si sa ruleze software-uri arbitrare care pot include sisteme de operare si aplicatii. Clientul nu controleaza infrastructura care sta la baza cloud-ului, dar are control asupra sistemelor de operare, stocarii si lansarii aplicatiilor si posibil control limitat asupra alegerii componentelor de retea.

Furnizorii de cloud IaaS furnizeaza aceste resurse la cerere din marile lor resurse de echipamente instalate in centre de date. Pentru o arie mai mare de conectivitate, utilizatorii pot folosi internetul sau un cloud purtator, adica o retea privata virtual dedicata. Pentru a isi lansa aplicatiile, utilizatorii de cloud isi instaleaza copii ale sistemului de operare cat si software-ul aplicatiei pe infrastructura cloud-ului. Costul pe care il percep furnizorii de cloud IaaS difera in functie de resursele alocate si consumate.



Platform as a service (PaaS)
Institutul national de standarde si tehnologie defineste cloud computing-ul platform as a service ca fiind capacitatea oferita consumatorului de a lansa deasupra infrastructurii cloud-ului aplicatii create de consumator sau dobandite de acesta realizate folosind limbaje de programare, biblioteci, servicii si instrumente suportate de furnizor. Consumatorul nu administreaza si nu are control asupra infrastructurii de baza a cloud-ului incluzand reteaua, serverele, sistemele de operare, sau memoria, dar are control asupra aplicatiilor lansate si posibil asupra setarilor de configurare al mediilor care gazduiesc aplicatiile.

Furnizorii de PaaS ofera un mediu de dezvoltare pentru creatorii de aplicatii. De obicei, furnizorul creeaza un set de ustensile si standarde pentru dezvoltare si canale pentru distribuire si plata. In acest model furnizorii livreaza o platforma de calculare, iar de obicei include si sistemul de operare, mediul de executie pentru limbajul de programare, baza de date si serverul web. Dezvoltatorii de aplicatii isi pot crea si rula solutiile software pe o platforma cloud fara costul si complexitatea de a cumpara si administra componentele de baza hardware si straturile software. Datorita unor furnizori de PaaS precum Microsoft Azure, Oracle Cloud Platform si Google App Engine, calculatorul de baza si resursele de stocare se scaleaza automat pentru a satisface ceritele aplicatiei, astfel utilizatorul de cloud nu va trebui sa aloca manual resurse.

Cativa furnizori au realizat modele de PaaS specializate pentru livrarea modelelor pentru solutii de date. Ca si exemple avem: iPaaS (Integration Platform as a Service) si dPaaS (Data Platform as a Service). iPaaS permite clientilor sa creeze, execute si controleze cursurile urmate pentru integrari. Sub modelul de integrare iPaaS, utilizatorii conduc evolutia si lansarea integrarilor fara a instala sau administra orice hardware sau middleware. dPaaS livreaza produsele integrarii ca un serviciu complet administrat. Sub modelul dPaaS furnizorul si nu clientul administreaza dezvoltarea si executarea solutiilor de date prin constuirea de aplicatii pentru utilizator. Clientii acestui model de PaaS detin control si transparenta asupra datelor prin instrumente de vizualizare al datelor.

Un recent PaaS specializat este Blockchain as a Service. Acesta este deja oferit de unii furnizori precum IBM Bluemix si Oracle Cloud Platform.




Software as a Service
Institutul national de standarde si tehnologii defineste SaaS ca fiind capacitatea oferita clientului de a folosi aplicatiile furnizorului care ruleaza pe o infrastructura cloud. Aplicatiile sunt disponibile de pe o varietate larga de dispozitive client fie printr-un browser web sau prin interfata unui program. Clientul nu administreaza sau controleaza infrastructura de baza a cloud-ului incluzand reteaua, serverele, sistemele de operare, memoria sau chiar capacitatile aplicatiilor individuale cu o posibila exceptie a aplicatiilor care au setarile de configurare specific utilizatorilor.

In modelul SaaS utilizatorii obtin acces la software-ul aplicatiilor si la baza de date. Furnizorii de cloud administreaza infrastructura si platformele pe care ruleaza aplicatiile. Modelul Saas este uneori numit software la cerere si este de obicei taxat in functie de cat este folosit sau poate fi perceputa o taxa de abonare. In acest model furnizorii isi instaleaza si administreaza software-ul aplicatiilor in cloud, iar utilizatorii acceseaza software-ul de pe clientul cloud. Utilizatorii cloud nu administreaza infrastructura si platforma unde ruleaza aplicatia. Aceasta elimina necesitatea instalarii aplicatiei pe calculatorul utilizatorului, ceea ce simplifica intretinerea si suportul necesar. Pentru a gazdui un numar mare de utilizatori cloud, aplicatiile cloud pot sustine mai multi utilizatori o data.

Modul in care se plateste pentru aplicatiile SaaS este de obicei sub forma de abonament lunar sau anual pe utilizator, deci pretul poate scadea sau creste in functie de numarul de utilizatori.

Deoarece aplicatiile sunt gazduite central, imbunatatirile pot fi lansate fara a fi nevoie ca utilizatorul sa instaleze noul software. Exista totusi un dezavantaj al acestui model si anume, stocarea datelor personale despre utilizatori pe serverul furnizorului de cloud. Din cauza aceasta, daca va exista vreo data un acces neautorizat in sistem, atunci aceste date vor fi in pericol de a fi furate si folosite cu alte scopuri decat cel original.





    1. Resource Allocation in the Cloud

In calcularea cloud alocarea de resurse reprezinta procesul prin care sunt alocate resursele disponibile la aplicatiile cloud de pe internet care au nevoie de acestea. Una dintre cea mai grava problema pe care le are cloud computing-ul este aceea a alocarii resurselor, atunci cand acestea sunt rare. Din punctul de vedere al clientilor, alocarea de resurse reprezinta modul cum sunt impartite serviciile in nucleul utilizatorilor.

Alocarea de resurse prezinta numeroase avantaje. Utilizatorii nu trebuie sa isi instaleze diferite software-uri sau componente hardware pentru a accesa aplicatiile, pentru a dezvolta noi aplicatii sau altele deja existente sau pentru a gazdui o aplicatie pe internet, iar acest acces nu este limitat de spatiu sau timp, deoarece un utilizator poate deschide aplicatiile sau poate vedea datele necesare de oriunde s-ar afla si oricand. Furnizorii de cloud isi pot partaja resursele pe internet chiar si atunci cand acestea sunt putine.

Exista patru tipuri diferite de a prelua capacitatile de calcul de la un furnizor de cloud:



  • Rezervarea din timp: Resursele dorite sunt rezervate din timp de catre utilizator, astfel acestea vor fi disponibile in momentul in care clientul are nevoie de ele.

  • Cel mai bun effort (best-effort): Cererile sunt plasate intr-o coada de asteptare, iar resursele vor fi atribuite in cel mai scurt timp posibil o data ce acestea devin disponibile.

  • Imediat: Atunci cand un client plaseaza o cerere exista doua metode la care se poate recurge in functie de disponibilitatea resurselor. Primul scenariu, cerea este respinsa daca resursele cerute nu sunt disponibile sau al doilea scenariu, resursele sunt atribuite imediat, daca acestea sunt disponibile in momentul plasarii cerererii.

  • Sensibil la termen limita: Alocarile sunt realizate intr-o anumita ordine, iar algoritmul care le realizeaza ar trebui sa poata asigura realizarea operatiunilor inainte de termenul limita.


    1. Semantic Clouds

Cloud semantics este stiinta care analizeaza semnificatia care sta intre cuvinte si intelegerea relatiilor dintre ele. Tehnologia semantica codifica semnificatiile separat de date, de continuturile din fisiere si de codul aplicatiilor.

Tehnologiile semantice furnizeaza un nivel de abstractie peste tehnologiile IT existente care permit legarea si interconectarea datelor, continuturilor si proceselor. Ecosistemele semantice sunt concentrate pe provocari precum partitionarea datelor orizontal de-a lungul cloud-urilor, pe reprezentarea datelor independente de platforma si pe imbunatatirea descrierii serviciului cloud. Metadatele adaugate prin adnotari pot juca un rol crucial in consolidarea API-urilor si prin permiterea interoperabilitatii prin mediile cloud heterogene transformate in ecosisteme semantice.



    1. Clouds and Mobile Devices and Apps

Dispozitivele mobile sunt limitate de puterea lor de procesare, durata bateriei si capacitatea de stocare. Insa cloud-ul ofera iluzia unor resurse de calcul infinite. Mobile cloud computing este o noua platforma care combina dispozitivele mobile si cloud computing-ul pentru a crea o noua infrastructura, prin care cloud-ul realizeaza task-urile de calculare intensiva si stocheaza cantitati mari de date. In aceasta noua arhitectura, procesarea datelor si stocarea lor se face in afara dispozitivelor mobile.

Componenta cloud-ului care realizeaza calculele este formata dintr-un numar de servicii de consum pre-configurate, pre-construite si scalabile cu aplicatii mobile. Mediile cloud sunt oferite ca un mecanism prin care dispozitivele mobile sunt scutite de partea de procesare a datelor ale aplicatiilor. Astfel, aceste dispozitive, sunt folosite doar ca niste interfete de unde se preiau date care mai apoi sunt trimise la procesat in cloud, acesta reprezentand partea de backend a aplicatiilor. Aceste aplicatii trebuie realizate de catre programatori pentru fiecare sistem de operare si versiune a lui care poate exista pe un dispozitiv mobil, in functie de cererile utilizatorilor sau de scopul pe care doreste sa il atinga compania care dezvolta aplicatiile.

Dispozitivele mobile utilizeaza aceasta arhitectura IT pentru a genera urmatoarele avantaje:



  • Durata bateriei devine mai extinsa;

  • Imbunatatiri in ceea ce priveste capacitatea de stocare si puterea de procesare;

  • O sincronizare imbunatatita a datelor datorita sistemului de stocare al datelor intr-un singur loc si de accesare al lor de oriunde;

  • O fiabilitate si scalabilitate imbunatatita;

  • Integrarea datelor nu mai este necesara.

Urmatori factori pot duce la intarirea deciziei de a de a utiliza mobile cloud computing:



  • Tendinte si cereri: clientii se asteapta sa poata folosi website-urile si aplicatiile companiilor de oriunde si oricand, iar dispozitivele mobile pot indeplini aceasta cerere;

  • Acoperire crescuta: 3G-ul, 4G-ul si WiFi-ul ofera o conectivitate mai buna pentru dispozitivele mobile;

  • Oferirea posibilitatii de a utiliza anumite tehnologii: HTML5, CSS3.


  1. Directii de cercetare curente

Ecosistemul cloud computing-ului este vast, cu atat de multe tehnologii, instrumente si tehnici incat poate deveni dificila invatarea unor noi calificari. In cele ce urmeaza vor fi prezentate cateva tehnologii cloud de generatie viitoare.

Unikernel-urile sunt sisteme de operare minimale si specializate care ofera securitate imbunatatita, optimizari de detaliu care pot fi relevante in cadrul microserviciilor. Sunt construite pe tehnologia sistemului de operare biblioteca si pot fi modificate pentru diferite aplicatii si platforme hardware. Astfel de sisteme de operare biblioteca sunt si MirageOS care furnizeaza cloud computing si pentru platforme mobile si Rumprun unikernel.

Containers as a Service (CaaS) este o oferta platita in care furnizorii de cloud includ resurse de calculare, un mecanism de container si instrumenete de administrare al containerelor. Programatorii pot folosi framework-ul printr-un API sau o interfata web pentru a facilita sau administra lansarea unei aplicatii sau a unui container. Poate fi considerat ca fiind un strat care poate fi plasat intre ofertele furnizorilor de cloud numite Infrastructure as a Service si Platform as a Service pentru realizare de aplicatii. Exemple: CoreOS Tectonic, Doker Universal Control Plane si Project Magnum.

Reteaua definita de software este o noua abordare in crearea si administrarea retelelor care extrage aplicatiile din infrastructura de baza a retelei. In aceasta noua arhitectura planul de control este separat de cel de date si planul de expediere este separat de cel de dispozitive de retea precum routere si switch-uri. Un controler centralizat bazat pe software poate apoi fi folosit pentru a putea comunica intre aplicatie si dispozitivele din stratul care contine infrastructura, care doar actioneaza la instructiuni. Exemple de proiecte si instrumente de acest gen open source: Flooding, Indigo, Neutron, OpenDayLight, ONOS.

Stocarea definita pe software este un alt termen care inseamna diferite lucruri la diferiti furnizori si utilizatori. Se bazeaza pe extragerea serviciilor si capacitatilor de stocare logica din sistemul de baza hardware cu scopul de a realiza un sistem mai scalabil, agil si performant. Scopul este acela de a furniza administratori mai flexibili din punct de vedere al capabilitatilor de stocare prin programare. Exemple: Ceph, Gluster, NexentaStor si OpenStack Cinder.





  1. Algoritm de securitate pentru cloud computing

Pentru ca datele din cloud sa fie pastrate in siguranta atunci este folosit un algoritm asimetric de criptografie numit RSA. Acesta este un algoritm criptografic cu chei publice, primul algoritm utilizat atat pentru criptare, cat si pentru semnatura electronica. Algoritmul a fost dezvoltat in 1977 si publicat in 1978 de Ron Rivest, Adi Shamir si Leonard Adleman la MIT si isi trage numele de la initialele numelor celor trei autori.

Puterea sa criptografica se bazeaza pe dificultatea problemei factorizarii numerelor intregi, problema la care se reduce criptanaliza RSA si pentru care toti algoritmii de rezolvare cunoscuti au complexitate exponentiala. Exista insa cateva metode de criptanaliza care ocolesc factorizarea efectiva, exploatand maniere eronate de implementare efectiva a schemei de criptare.

RSA este un algoritm de criptare pe blocuri. Aceasta inseamna ca atat textul clar cat si cel cifrat sunt numere intre 0 si n-1, cu un n ales. Un mesaj de dimensiune mai mare decat log n este impartit in segmente de lungime corespunzatoare, numite blocuri, care sunt cifrate rand pe rand. De asemenea, ca algoritm criptografic cu chei publice, functioneaza pe baza unei perechi de chei legate matematic intre ele: o cheie publica, cunoscuta de toata lumea, si una secreta, necunoscuta decat de detinatorul acesteia.

Perechea de chei se genereaza dupa urmatorii pasi:


  • Se genereaza doua numere prime, de preferat mari, p si q;

  • Se calculeaza n = pq si Φ = (p-1)(q-1)

  • Se alege un intreg aleator e, 1 < e < Φ astfel incat cmmdc(e, Φ) = 1. Perechea (n, e) este cheia publica.

  • Folosind algoritmul lui Euclid extins, se calculeaza intregul d, unicul cu proprietatea ca de ≡ 1mod Φ. (n, d) constituie cheia secreta.

Decizia cu privire la care dintre e si d este cheia publica si care este cea secreta este, din punct de vedere matematic, arbitrara, oricare dintre cele doua numere poate juca oricare dintre roluri. In practica insa, pentru a mari viteza de criptare, si intrucat dintre cele doua numere e este cel ales arbitrar, e este cheia publica iar valoarea sa este aleasa un numar mic, de regula 3, 17 sau 65537 (216+1). Aceasta conduce la un numar minim de inmultiri, deci la o performanta sporita, deoarece toate aceste numere au doar doua cifre 1 in reprezentarea lor binara.

Presupunand ca mesajul clar este sub forma unui numar m, mai mic decat n, atunci mesajul cifrat, notat cu c este c = me (mod n) unde e este cheia publica a destinatarului mesajului. Pentru a decripta mesajul, destinatarul isi foloseste cheia sa secreta d, care are proprietatea foarte importanta ca: de ≡ 1 mod Φ. Astfel, mesajul clar este recuperat calculand: m = cd (mod n). Oricine poate cripta mesaje cu cheia publica a destinatarului, dar numai acesta din urma poate decripta, deoarece trebuie sa foloseasca cheia sa secreta.



Algoritmul poate fi folosit si pentru semnatura electronica, folosind cheile invers. Daca o entitate cripteaza un mesaj (sau mai degraba un hash al acestuia) cu cheia sa secreta si ataseaza rezultatul mesajului sau, atunci oricine poate verifica, decriptand cu cheia publica a semnatarului si comparand rezultatul cu mesajul clar (sau cu hash-ul acestuia), ca intr-adevar acea entitate este autorul mesajului.


  1. Centre de cercetare semnificative si tematici abordate


Doua centre semnificative de cercetare sunt Microsoft Cloud Computing Research Centre format din doua echipe Cloud Legal Project at the Centre for Commercial Law Studies si University of Cambridge Computer Laboratory si cel de al doilea centru este Center for Cloud Research and Development.


Cel din urma centru abordeaza cercetarea si realizarea de tehnologii de infrastructura precum arhitecturi cloud, middleware si inter-cloud care utilizeaza platforme cloud multiple dar unite intre ele. Acest centru cerceteaza si creeaza aplicatii software inter-cloud colaborand cu alti cercetatori de la alte universitati.



  1. Bibliografie

  • https://www.ibm.com/blogs/cloud-computing/2014/03/a-brief-history-of-cloud-computing-3/

  • http://www.computerweekly.com/feature/A-history-of-cloud-computing

  • https://en.wikipedia.org/wiki/Cloud_computing

  • http://www.irdindia.in/journal_ijacect/pdf/vol3_iss2/6.pdf

  • https://www.ibm.com/blogs/cloud-computing/2013/06/mobile-cloud-computing/

  • http://www.cloudcredential.org/working-groups/cloud-semantics/

  • https://www.linux.com/news/5-next-gen-cloud-technologies-you-should-know

  • https://ac.els-cdn.com/S1877050916305634/1-s2.0-S1877050916305634-main.pdf?_tid=d8c0392e-debe-11e7-b02e-00000aacb360&acdnat=1513029872_7bb1f3b126fb57973edeb683346b9bc9

  • http://www.nii.ac.jp/en/research/centers/ccrd/

  • http://www.mccrc.eu/



Yüklə 60,45 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin