Está en la página 1de 76

Infrastructuri Cloud Computing

Ciprian DOBRE Universitatea POLITEHNICA Bucureti

Cuprins Tehnologii i infrastructuri Cloud: ce a fcut domeniul posibil astzi? Cloud Computing astzi
Unele aspecte diferite

Virtualizare Aplicaii: Amazon EC2

1. Breviar Teoretic

Actori importani n Cloud

spre Cloud Computing Infrastructuri distribuite


Pentru putere, stocare... i profit

Externalizarea proceselor computaionale


Modelul pay-as-you-go

Dezideratul final?
Metafora power-grid

La nceput

50 de ani mai trziu

ntrebarea fundamental

ntrebarea #1: Mai mult putere?

ntrebarea #2: Mai mult spaiu de stocare?

10

ntrebarea #3: Mai mult profit?

11

12

13

Idee: externalizare
Ideea de baz: cumprm serviciul, nu i infrastructura necesar producerii lui
Maini Oameni Experien

Model advocat de IBM la finalul anilor '90


Diverse interpretri!

Apoi rencarnat ca grid computing Astzi cloud computing Mine?


14

La baz

15

Externalizarea n Cloud
Pstrm un set minimal de resurse in-house
Siguran Competen

Cerem resurse din cloud


On-demand, real-time Model de cost pay-as-you-go Nu avem un cost fix de suportat

Service-Level Agreement e garantat prin contract


Diverse nivele de oferte

Nu avem un angajament permanent cu nici un furnizor


Legile economiei se aplic perfect
16

Google cluster, 1997

17

Google cluster, (aproape) astzi


36 data centers
> 800K servere

40 servere/rack

18

Metafora power-grid

19

Tehnologia Cloud Computing

20

Ce a fcut totul posibil?


Clustere
Au deschis drumul spre domeniul distributed computing pentru task-uri non-distributed

Griduri
Calcul pe scar larg, n medii eterogene

Maini virtuale
Au ascuns aspectele hardware ntr-un tot unitar

Reele de mare vitez


Au ascuns aspectele legate de localitate

mpachetarea hardware i managementul puterii OK, dar de ce abia acum?


21

Cheia #1: Clustere

22

Clustere astzi

23

Clustere de dimensiuni din ce n ce mai mari

24

25

Tehnologia Clusterelor
Partajarea datelor
Sisteme de fiiere distribuite

Paradigma de transmitere de mesaje


MPI

Planificarea taskurilor
Gestiunea tolerrii defectelor Mecanisme integrate pentru recuperare din eroare

Depanare i monitorizare Sisteme de operare


Linux, Microsoft Abordarea SSI : Mosix, Kerrighed
26

Aplicaii

Clustere departamentale
Hardware specific Supercomputere bazate pe furtul de ciclii

Multe aplicaii tradiionale


Baze de date: Oracle Procesare numeric Aplicaii de imagistic: realitate virtual

27

Cheia #2: Gridul federaie de clustere

28

Grid5000

29

i peste tot n lume

30

Grid@CERN

31

Tehnologia Grid
Grid = cluster
Difer prin dimensiune, eterogenitate, ncrcare

Elemente suplimentare
Resursele computaionale nu sunt administrate central Sunt folosite standarde deschise Este atins o calitate a serviciilor non-trivial

Organizaii virtuale
Partajarea de putere, date, dar i de resurse i oameni

Probleme fundamentale:
Interfaa utilizator: o singur organizaie virtual Securitate uniform chiar n cazul mai multor organizaii implicate Reziliena la defecte
32

Cheia #3: Maini virtuale


Izoleaz complet sistemul de operare gazd de instalarea unui sistem de operare gzduit
Emulare software Virtualizare hardware (n cele mai multe cazuri) ambele

Dou exemple timpurii


Java Virtual Machine Abordarea Grid 5000: noduri rebootabile

Progresul microprocesoarelor: virtualizarea la nivel hardware


Vitez de execuie eficient
33

Cheia #4: reele de mare vitez

34

Cheia #5: mpachetarea hardware i gestiunea puterii electrice

35

Cursa pentru construcia de data centers

36

Ok, dar de ce tocmai acum?


Companiile/organizaiile nu au fost pregtite s aib ncredere s predea datele unei organizaii strine
Confidenialitate Probleme legale privind locaia fizic a datelor stocate Transmisii lente a datelor Lipsa de instrumente pentru monitorizare

Intensificarea campaniilor de promovare din partea furnizorilor Cloud


Amazon: argumente economice Exemple din partea Google i Yahoo!

Sentimentul c datele nu sunt n siguran tot exist


Data deluge
37

Cloud Computing

38

39

Atenie la avntul Cloud

40

Ce este Cloud Computing?

41

Concepte cheie
Procesarea unui volum de date de 1000x mai mare nu trebuie s fie de 1000x mai dificil Ciclii i octei, nu hardware-ul, reprezint elementele pieei Cloud Computing
Furnizarea de servicii pe maini virtuale alocate peste un set mare de maini fizice O metod de a adresa scalabilitatea i disponibilitatea pentru aplicaii de mari dimensiuni Democratizarea domeniului distributed computing
42

Elemente Cloud
SaaS: Software as a Service
Google Mail, Google Docs

DaaS: Data as a Service


Cloud as a data repository

PaaS: Platform as a Service


Amazon, Azure: select your VM

IaaS: Infrastructure as a Service


Grid 5000: gestiunea propriei imagini virtuale

HaaS: Hardware as a Service


43

Un mic zoom n Amazon

44

Servicii Web Amazon

45

46

2. Descrierea aplicaiei

47

Arhitectura IaaS

48

Virtualizarea
Ce nseamn virtualizarea?
Virtualizarea crearea unei versiuni virtuale (spre deosebire de una fizic) a ceva, precum a unui sistem de operare, a unui server, a unui spaiu de stocare sau a resurselor de reea. Ascunde caracteristicile fizice a unei resurse de utilizatori, n locul afirii unei alte resurse abstracte.

Conceptul de virtualizare are la origine ideea de abstractizare a componentelor unui sistem, adaptat mai nou la nivelul ntregului sistem.
49

Virtualizarea
Abstractizarea sistemului: Sistemele de calcul sunt construite peste diverse nivele de abstractizare. Nivele de abstractizare mai nalte ascund detaliile la nivele de jos. Proiectarea fiecrui nivel de abstractizare se bazeaz pe funciile oferite de nivele de jos, i furnizarea unui alt nivel de abstractizare nivelelor superioare. Exemplu Fiierele sunt o abstractizare a unui disc.

50

Virtualizare
Abstractizare la nivelul mainii: Pentru dezvoltatorul OS, o main este definit de ISA (Instruction Set Architecture). O delimitare ntre hardware i software.
51

Exemple: X86 ARM MIPS

Virtualizare
Abstractizare la nivelul OS: Pentru dezvoltatorii de compilatoare i biblioteci, o main este definit de ABI (Application Binary Interface). Aceasta definete interfaa de baz OS ce poate fi folosit de bibliotec sau utilizator. Exemple: ISA la nivel utilizator Apeluri sistem la nivel OS

52

Virtualizare
Abstractizare la nivelul bibliotecii: Pentru dezvoltatorii de aplicaii, o main este definit de API (Application Programming Interface). Aceast abstractizare furnizeaz funcionaliti bine definite. Exemple: Biblioteca standard C Biblioteci grafice

53

Maini virtuale
Ce este o main virtual (VM)?
VM este o implementare software a unei maini (sau a unui computer) ce execut programe similar unei maini reale.

Terminologie:
Gazd (Target)
Mediul primar unde ruleaz

gazda virtualizrii.
Client (Source)
Mediul virtual unde ruleaz sursa virtualizrii.

54

Maini virtuale

55

Process Virtual Machine


Process virtual machine
De obicei execut aplicaii client cu un ISA diferit de gazd. Nu e persistent

56

System Virtual Machine


System virtual machine
Furnizeaz un ntre sistem de operare pe aceeai gazd ISA Persisten

57

Taxonomie

System Virtual Machine Emulation Virtualization Transmeta Crusoe


( Emulate x86 on VLIW cpu )

Process Virtual Machine Multiprocessing system JVM, Microsoft CLI


( High level language virtualization )

XEN, KVM, VMWare


( x86 virtualization software )

58

Virtual Machine Monitor


Virtual Machine Monitor (VMM) sau Hypervisor este nivelul software ce furnizeaz virtualizarea. Arhitectura sistemului:
VM1
VM2 VM3

59

Tipuri de Virtualizare
Tipuri de virtualizare:
Type 1 Bare metal VMM-urile ruleaz direct peste hardware-ul gazd ca un control hardware i client al sistemului de monitorizare pentru sistemul de operare. Type 2 Hosted VMM-urile sunt aplicaii software ce ruleaz n cadrul unui sistem de operare convenional.
60

Abordri ale virtualizrii


Full-Virtualization
VMM-urile simuleaz hardware-ul pentru a permite execuia unui OS client nemodificat.

Para-Virtualization
VMM-urile nu simuleaz neaprat resurse hardware, ci ofer un API special ce poate fi folosit doar de anumite OS-uri modificate gazd.

61

Full-virtualization

Pros Cons
62

Need not to modify guest OS Significant performance hit

Para-Virtualization

Pros Cons
63

Light weight and high performance Require modification of guest OS

Exemple
Xen Type 1 Virtualization Para-Virtualization KVM Type 2 Virtualization Full-Virtualization

64

Tehnici de virtualizare

Server Virtualization
65

Storage Virtualization

Network Virtualization

Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) este o component a Amazon Web Services (AWS), ce permite utilizatorii nchirierea de calculatoare pentru aplicaii direct n data center-ul Amazon EC2. Amazon EC2 este un serviciu Web ce furnizeaz capacitate computaional dimensionabil n Cloud. Permite setarea ntregii configuraii a instanelor virtuale, pornind de la sistemul de operare pn la aplicaii.

66

Amazon Machine Image (AMI)


Amazon EC2 nu furnizeaz execuie de job-uri sau servicii de management a resurselor. AMI-urile sunt unitile de deployment. AMI reprezint un mediu mpachetat ce include toate setrile pentru rularea unei instane de main virtual n Cloudul Amazon. Amazon EC2 furnizeaz un numr de instrumente pentru crearea unor AMI i instane. Un sistem poate avea la baz un singur AMI, sau o compunere de mai multe AMI-uri (e.g., webservere, appservere i baze de date). Se pot alege dintr-o mare varietate de AMI-uri disponibile. De exemplu, se poate alege un server simplu Linux.

67

Mediul Elastic Computing


Amazon EC2 permite creterea sau descreterea capacitii n ordin de minute, nu ore sau zile. Se pot nchiria unul, sute sau chiar mii de servere aproape instantaneu. Totul se controleaz prin API-uri peste servicii Web, aa nct chiar aplicaia poate scala automat n funcie de necesiti.
68

Auto Scalare
Un serviciu pus la dispoziie n EC2 Auto Scaling permite scalarea automat a capacitii unei instane Amazon EC2 n funcie de condiii definite de utilizator. Cu Auto Scaling se asigur scalarea infrastructurii chiar n cazul n care apar variaii brute ale ncrcrii instanelor Amazon EC2 pentru meninerea performanei.
69

Cum scaleaz EC2 Scales ?


Cloudul Amazon se bazeaz pe technologia Xen-based Server Virtualization Tehnologia open-source Xen de virtualizare permite crearea de maini virtuale peste maina fizic.

70

Virtualizare Xen
Xen permite doar unei maini virtuale avnd drepturi privilegiate (numit driver domain, sau domain 0) s controleze direct dispozitivele de reea. Toate celelalte maini virtuale (numite guest domains) pot comunica numai prin driver domain pentru a accesa interfeele fizice de reea.
71

Amazon EC2

72

Tipuri de Instane
Instanele de maini virtuale partajeaz n mod normal procesoarele fizice i interfeele I/O cu alte instane. Exist mai multe tipuri de instane. Fiecare instan furnizeaz o cantitate de capacitate computaional. Capacitatea CPU, dimensiunea RAM i lungimea de band I/O pentru fiecare instan sunt diferite. Ex: Instane standard
Instan mic (tipul implicit) Instan mare Instan extra-mare

Micro Instane Etc.


73

Urmtorii pai cu EC2

Sign up

Lansare instan

Conectare la instan

Finalizare/ter minare instan

74

Sumar
Tehnologii i infrastructuri Cloud: ce a fcut domeniul posibil astzi? Cloud Computing astzi
Unele aspecte diferite

Virtualizare Aplicaii: Amazon EC2


75

Bibliografie
M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, and R. Katz, Above the Clouds: A Berkeley View of Cloud Computing, UC Berkeley Reliable Adaptive Distributed Systems Laboratory White Paper, 2009. M. D. de Assuncao, A. di Costanzo, and R. Buyya, Evaluating the cost benefit of using cloud computing to extend the capacity of clusters, in Proceedings of the 18th ACM International Symposium on High Performance Distributed Computing (HPDC 2009), Munich, Germany, 2009, pp. 141 150. R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, and I. Brandic, Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility, Future Generation Computer Systems, 25:599 616, 2009. J. Rittinghouse, J. Ransome, Cloud Computing: Implementation, Management and Security, Editia 1, Ed. CRC Press, 2009. B. Sotomayor, K. Keahey, and I. Foster, Combining batch execution and leasing using virtual machines, in Proceedings of the 17th International Symposium on High Performance Distributed Computing, 2008, pp. 87-96.

76

También podría gustarte