0 1 Infrastructuri Cloud Ppt

Embed Size (px)

Citation preview

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    1/76

    Infrastructuri Cloud Computing

    Ciprian DOBREUniversitatea POLITEHNICA Bucureti

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    2/76

    2

    Tehnologii i infrastructuri Cloud: ce a fcut

    domeniul posibil astzi?Cloud Computing astzi

    Unele aspecte diferiteVirtualizare

    Aplicaii: Amazon EC2

    Cuprins

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    3/76

    3

    1. Breviar Teoretic

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    4/76

    4

    Actori importani n Cloud

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    5/76

    5

    spre Cloud Computing

    Infrastructuri distribuite

    Pentru putere, stocare... i profit Externalizarea proceselor computaionale

    Modelul pay-as-you-go Dezideratul final?

    Metafora power-grid

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    6/76

    6

    La nceput

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    7/76

    7

    50 de ani mai trziu

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    8/76

    8

    ntrebarea fundamental

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    9/76

    9

    ntrebarea #1: Mai multputere?

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    10/76

    10

    ntrebarea #2: Mai mult spaiu de stocare?

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    11/76

    11

    ntrebarea #3: Mai mult profit?

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    12/76

    12

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    13/76

    13

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    14/76

    14

    Idee: externalizare

    Ideea de baz: cumprm serviciul, nu iinfrastructura 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?

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    15/76

    15

    La baz

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    16/76

    16

    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 aplicperfect

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    17/76

    17

    Google cluster, 1997

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    18/76

    18

    Google cluster, (aproape) astzi

    36 data centers > 800K servere

    40 servere/rack

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    19/76

    19

    Metafora power-grid

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    20/76

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    21/76

    21

    Ce a fcut totul posibil?

    ClustereAu deschis drumul spre domeniul distributed computing

    pentru task-uri non-distributed Griduri

    Calcul pe scarlarg, n medii eterogene

    Maini virtualeAu 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?

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    22/76

    22

    Cheia #1: Clustere

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    23/76

    23

    Clustere astzi

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    24/76

    24

    Clustere de dimensiuni din ce n ce mai

    mari

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    25/76

    25

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    26/76

    26

    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, MicrosoftAbordarea SSI : Mosix, Kerrighed

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    27/76

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    28/76

    28

    Cheia #2: Gridul federaie de clustere

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    29/76

    29

    Grid5000

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    30/76

    30

    i peste tot n lume

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    31/76

    31

    Grid@CERN

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    32/76

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    33/76

    33

    Cheia #3: Maini virtuale

    Izoleazcomplet sistemul de operare gazddeinstalarea unui sistem de operare gzduit

    Emulare software Virtualizare hardware (n cele mai multe cazuri) ambele

    Douexemple timpurii Java Virtual MachineAbordarea Grid 5000: noduri rebootabile

    Progresul microprocesoarelor: virtualizarea la nivelhardware Vitezde execuie eficient

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    34/76

    34

    Cheia #4: reele de mare vitez

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    35/76

    35

    Cheia #5: mpachetarea hardware i

    gestiunea puterii electrice

    C t t i d d t t

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    36/76

    36

    Cursa pentru construcia de data centers

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    37/76

    37

    Ok, dar de ce tocmai acum?

    Companiile/organizaiile nu au fost pregtite saibncredere spredea datele unei organizaii strine

    Confidenialitate Probleme legale privind locaia fizica datelor stocate Transmisii lente a datelor Lipsa de instrumente pentru monitorizare

    Intensificarea campaniilor de promovare din parteafurnizorilor Cloud Amazon: argumente economice

    Exemple din partea Google i Yahoo! Sentimentul cdatele nu sunt n sigurantot exist

    Data deluge

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    38/76

    38

    Cloud Computing

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    39/76

    39

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    40/76

    40

    Atenie la avntul Cloud

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    41/76

    41

    Ce este Cloud Computing?

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    42/76

    42

    Concepte cheie

    Procesarea unui volum de date de 1000x maimare nu trebuie sfie de 1000x mai dificil

    Ciclii i octei, nu hardware-ul, reprezintelementele pieei

    Cloud Computing Furnizarea de servicii pe maini virtuale alocate peste

    un set mare de maini fizice

    O metodde a adresa scalabilitatea i disponibilitatea

    pentru aplicaii de mari dimensiuni

    Democratizarea domeniului distributed

    computing

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    43/76

    43

    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 ServiceAmazon, Azure: select your VM

    IaaS: Infrastructure as a Service

    Grid 5000: gestiunea propriei imagini virtuale HaaS: Hardware as a Service

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    44/76

    44

    Un mic zoom n Amazon

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    45/76

    45

    Servicii Web Amazon

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    46/76

    46

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    47/76

    47

    2. Descrierea aplicaiei

    A hit t I S

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    48/76

    48

    Arhitectura IaaS

    Vi t li

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    49/76

    49

    Ce nseamnvirtualizarea? Virtualizarea crearea unei versiuni virtuale (spre

    deosebire de una fizic) a ceva, precum a unui sistemde operare, a unui server, a unui spaiu de stocaresau a resurselor de reea.

    Ascunde caracteristicile fizice a unei resurse deutilizatori, n locul afirii unei alte resurse abstracte.

    Conceptul de virtualizare are la origine ideea de

    abstractizare a componentelor unui sistem,adaptatmai nou la nivelul ntregului sistem.

    Virtualizarea

    Virt ali area

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    50/76

    50

    Abstractizarea sistemului: Sistemele de calcul sunt

    construite peste diverse nivele deabstractizare.

    Nivele de abstractizare mai nalteascund detaliile la nivele de jos.

    Proiectarea fiecrui nivel deabstractizare se bazeazpefunciile oferite de nivele de jos, ifurnizarea unui alt nivel deabstractizare nivelelor superioare.

    Exemplu Fiierele sunt o abstractizare a

    unui disc.

    Virtualizarea

    Virtualizare

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    51/76

    51

    Abstractizare la nivelulmainii:

    Pentru dezvoltatorul OS, omaineste definitdeISA (Instruction Set

    Architecture).

    O delimitare ntrehardware i software.

    Exemple:

    X86 ARM MIPS

    Virtualizare

    Virtualizare

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    52/76

    52

    Abstractizare la nivelul OS: Pentru dezvoltatorii de

    compilatoare i biblioteci, omaineste definitde ABI(Application Binary Interface).

    Aceasta definete interfaa debazOS ce poate fi folositde

    bibliotecsau utilizator.

    Exemple: ISA la nivel utilizator

    Apeluri sistem la nivel OS

    Virtualizare

    Virtualizare

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    53/76

    53

    Abstractizare la nivelulbibliotecii:

    Pentru dezvoltatorii deaplicaii, o mainestedefinitde API (ApplicationProgramming Interface).

    Aceastabstractizare

    furnizeazfuncionaliti binedefinite.

    Exemple: Biblioteca standard

    C

    Biblioteci grafice

    Virtualizare

    Maini virtuale

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    54/76

    54

    Ce este o mainvirtual(VM)?

    VM este o implementare software a unei maini(sau a unui computer) ce executprogramesimilar unei maini reale.

    Terminologie: Gazd(Target)

    Mediul primar unde ruleaz

    gazda virtualizrii. Client (Source)

    Mediul virtual unde ruleaz sursa virtualizrii.

    Maini virtuale

    Maini virtuale

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    55/76

    55

    Maini virtuale

    Process Virtual Machine

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    56/76

    56

    Process virtual machine

    De obicei executaplicaii client cu un ISA diferit degazd.

    Nu e persistent

    Process Virtual Machine

    System Virtual Machine

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    57/76

    57

    System virtual machine

    Furnizeazun ntre sistem de operare pe aceeaigazdISA

    Persisten

    System Virtual Machine

    Taxonomie

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    58/76

    58

    Taxonomie

    System Virtual Machine Process Virtual Machine

    Emulation TransmetaCrusoe

    (Emulatex86onVLIWcpu) Multiprocessingsystem

    Virtualization XEN,KVM,VMWare

    (x86virtualizationsoftware) JVM,MicrosoftCLI(Highlevellanguagevirtualization)

    Virtual Machine Monitor

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    59/76

    59

    Virtual Machine Monitor (VMM) sau Hypervisoreste nivelul software ce furnizeaz

    virtualizarea.

    Arhitectura sistemului:

    Virtual Machine Monitor

    VM1 VM2 VM3

    Tipuri de Virtualizare

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    60/76

    60

    Tipuri de virtualizare:

    Type 1 Bare metal VMM-urile ruleazdirect peste hardware-ul

    gazdca un control hardware i client al

    sistemului de monitorizare pentru sistemul deoperare.

    Type 2 Hosted

    VMM-urile sunt aplicaii software ce ruleazncadrul unui sistem de operare convenional.

    Tipuri de Virtualizare

    Abordri ale virtualizrii

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    61/76

    61

    Full-Virtualization

    VMM-urile simuleazhardware-ul pentru apermite execuia unui OS client nemodificat.

    Para-Virtualization

    VMM-urile nu simuleazneaprat resursehardware, ci oferun API special ce poate fifolosit doar de anumite OS-uri modificate

    gazd.

    Abordri ale virtualizrii

    Full-virtualization

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    62/76

    62

    Full virtualization

    Pros NeednottomodifyguestOSCons Significant performancehit

    Para-Virtualization

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    63/76

    63

    Para Virtualization

    Pros LightweightandhighperformanceCons Require modificationofguestOS

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    64/76

    Tehnici de virtualizare

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    65/76

    65

    Tehnici de virtualizare

    Server Vir tualization Storage Virtualization Network Vir tualization

    Amazon EC2

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    66/76

    66

    Amazon Elastic Compute Cloud (Amazon EC2) este ocomponenta Amazon Web Services (AWS), ce

    permite utilizatorii nchirierea de calculatoare pentruaplicaii direct n data center-ul Amazon EC2.

    Amazon EC2 este un serviciu Web ce furnizeaz

    capacitate computaionaldimensionabiln Cloud.

    Permite setarea ntregii configuraii a instanelorvirtuale, pornind de la sistemul de operare pnla

    aplicaii.

    Amazon Machine Image (AMI)

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    67/76

    67

    Amazon EC2 nu furnizeazexecuie de job-uri sau servicii demanagement a resurselor.

    AMI-urile sunt unit

    ile de deployment. AMI reprezintun mediu mpachetat ce include toate setrile

    pentru rularea unei instane de mainvirtualn CloudulAmazon.

    Amazon EC2 furnizeazun numr de instrumente pentru

    crearea unor AMI i instane. Un sistem poate avea la bazun 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. Deexemplu, se poate alege un server simplu Linux.

    g ( )

    Mediul Elastic Computing

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    68/76

    68

    Amazon EC2 permite creterea saudescre

    terea capacit

    ii n ordin de

    minute, nu ore sau zile. Se pot nchiria unul, sute sau chiar mii de

    servere aproape instantaneu. Totul se controleazprin API-uri pesteservicii Web, aa nct chiar aplicaia

    poate scala automat n funcie denecesiti.

    p g

    Auto Scalare

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    69/76

    69

    Un serviciu pus la dispoziie n EC2

    Auto Scaling permite scalarea automatacapacitii unei instane Amazon EC2 nfuncie de condiii definite de utilizator.

    Cu Auto Scaling se asigurscalareainfrastructurii chiar n cazul n care aparvariaii brute ale ncrcrii instanelor

    Amazon EC2 pentru meninereaperformanei.

    Cum scaleazEC2 Scales ?

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    70/76

    70

    Cloudul Amazon se bazeazpe technologia

    Xen-based Server Virtualization

    Tehnologia open-source Xen de virtualizare

    permite crearea de maini virtuale peste mainafizic.

    Virtualizare Xen

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    71/76

    71

    Xen permite doar unei maini virtualeavnd drepturi privilegiate (numit

    driver

    domain, sau domain 0) scontrolezedirect dispozitivele de reea.

    Toate celelalte maini virtuale (numiteguest domains) pot comunica numai prin

    driver domain pentru a accesa interfeelefizice de reea.

    Amazon EC2

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    72/76

    72

    Tipuri de Instane

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    73/76

    73

    Instanele de maini virtuale partajeazn mod normalprocesoarele fizice i interfeele I/O cu alte instane.

    Existmai multe tipuri de instane. Fiecare instanfurnizeazo cantitate de capacitate computaional. Capacitatea CPU, dimensiunea RAM i lungimea de

    bandI/O pentru fiecare instansunt diferite. Ex:

    Instane standard Instanmic(tipul implicit) Instanmare Instanextra-mare

    Micro Instane Etc.

    Urmtorii pai cu EC2

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    74/76

    74

    Sign upLansareinstan

    Conectare lainstan

    Finalizare/terminareinstan

    Sumar

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    75/76

    75

    Tehnologii i infrastructuri Cloud: ce a fcut

    domeniul posibil astzi?

    Cloud Computing astzi

    Unele aspecte diferite

    Virtualizare

    Aplicaii: Amazon EC2

    Bibliografie

  • 8/13/2019 0 1 Infrastructuri Cloud Ppt

    76/76

    76

    M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, and R. Katz, Above theClouds: 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 costbenefit of using cloud computing to extend the capacity of clusters, inProceedings of the 18th ACM International Symposium on HighPerformance 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 deliveringcomputing as the 5th utility, Future Generation Computer Systems, 25:599616, 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 andleasing using virtual machines, in Proceedings of the 17th InternationalSymposium on High Performance Distributed Computing, 2008, pp. 87-96.