Delavnica racunalništvo v oblaku zaudelezence

118
Uvod v računalništvo v oblaku 1 Univerza v Ljubljani, FRI Center za računalništvo v oblaku www.cloud.si Robert Dukarić, Rok Povše, Matjaž B. Jurič RAČUNALNIŠTVO V OBLAKU Vsebina Definicija Storitveni modeli računalništva v oblaku Ključne karakteristike SWOT analiza Upravljanje oblaka Načrtovanje kapacitet in elastičnost v oblaku Arhitekturna zasnova računalništva v oblaku Infrastruktura kot storitev (IaaS) Analiza IaaS produktov Platforma kot storitev (PaaS) Java EE 7 in oblak Podatkovna shramba v oblaku Analiza PaaS produktov Programska opreme kot storitev (SaaS) Namestitveni modeli Uporaba javnih oblakov Migracija v oblak Prenosljivost oblačnih storitev med ponudniki Izhodna strategija 2

description

Računalništvo v oblaku

Transcript of Delavnica racunalništvo v oblaku zaudelezence

Page 1: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

1

Univerza v Ljubljani, FRI

Center za računalništvo v oblaku www.cloud.si

Robert Dukarić, Rok Povše, Matjaž B. Jurič

RAČUNALNIŠTVO V OBLAKU

Vsebina

Definicija Storitveni modeli računalništva v oblaku Ključne karakteristike SWOT analiza Upravljanje oblaka Načrtovanje kapacitet in elastičnost v oblaku Arhitekturna zasnova računalništva v oblaku Infrastruktura kot storitev (IaaS) Analiza IaaS produktov Platforma kot storitev (PaaS) Java EE 7 in oblak Podatkovna shramba v oblaku Analiza PaaS produktov Programska opreme kot storitev (SaaS) Namestitveni modeli Uporaba javnih oblakov Migracija v oblak Prenosljivost oblačnih storitev med ponudniki Izhodna strategija

2

Page 2: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

2

Definicija

Računalništvo, pri katerem so dinamično razširljiva in pogosto virtualizirana računalniška sredstva na voljo kot storitev preko interneta. Wikipedia

Slog računalništva, kjer so masivno skalabilne IT zmogljivosti dostavljene zunanjim odjemalcem kot storitev, z uporabo internetnih tehnologij. Gartner

Nabor disciplin, tehnologij in poslovnih modelov za prikaz IT virov kot storitev na zahtevo. Burton

3

Definicija

Množico skalabilnih računalniških virov za gostovanje, ki omogočajo zaračunavanje glede na dejansko porabo. Forrester

Model za omogočanje omrežnega dostopa do deljenih računalniških virov (omrežje, strežniki, shramba, aplikacije in storitve), ki so lahko rapidno oskrbovane in izdane z minimalnim trudom vodstva oziroma z interakcijo ponudnika storitve. NIST

Gre za aplikacije, strojno opremo in sistemsko programsko znotraj podatkovnih centrov, ki so dostavljene kot storitev preko medmrežja. UC Barkley

4

Page 3: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

3

Definicija

5

Definicija

6

Računalništvo v oblaku

Računalništvo v oblaku

Tipi

Namestitveni modeli

Lokalnost

Deležniki Sorodne tehnologije

Prednosti

Karakteristike

IaaS

PaaS

SaaS Elastičnost

Avtomatizacija

Samopostrežba

Znižanje stroškov

Večja agilnost

Storitveno usmerjena arhitektura (SOA)

Mrežno računalništvo

Virtualizacija

Ponudniki

Odjemalci Razvijalci

Organizacije

Lokalno

Oddaljeno

Distribuirano

Privatni

Javni

Hibridni

Page 4: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

4

Tipi računalništva v oblaku

7

SaaS • Software as a Service

PaaS • Platform as a Service

IaaS • Infrastructure as a Service

Razvijalci

Odjemalci

Administrator

Ključne karakteristike

Ključne karakteristike računalništva v oblaku lahko obravnavamo iz treh aspektov:

• Nefunkcionalni aspekt: – Obravnava lastnosti sistema raje kot specifične tehnološke zahteve. Med

ponudniki se zelo razlikujejo.

• Poslovni aspekt: – Ključen razlog za vpeljavo računalništva v oblaku v poslovne organizacije.

• Tehnični aspekt: – Gre za realizacijo nefunkcionalnega in poslovnega aspekta.

Nefunkcionalni aspekt:

• Elastičnost

• Zanesljivost

• Kvaliteta storitev (QoS)

• Agilnost in prilagodljivost

• Razpoložljivost

• Dostopnost

8

Page 5: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

5

Ključne karakteristike

Poslovni aspekt:

• Znižanje stroškov

• Pay-as-you-go model

• Izboljšan čas na trg (Time to market)

• Donosnost naložbe (ROI)

• Pretvorba CAPEX v OPEX

• Green IT

9

Ključne karakteristike

Tehnični aspekt:

• Virtualizacija

• Večnajemniški model

• Varnost, zasebnost in skladnost s predpisi

• Samopostrežba

• Avtomatizacija

• Upravljanje s podatki

• API-ji in programska podpora

• Merjenje

• Orodja za razvoj, upravljanje in nadzor

10

Page 6: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

6

SWOT analiza

Prednosti (Strengths):

• Znanje in izkušnje iz sorodnih področij in tehnologij.

• Izkušnje pri razvoju aplikacij za potrebe gospodarstva.

• Številne raziskave in izgradnja odprtokodnih tehnologij.

• Močna skupnost iz področja raziskav SOA in distribuiranih sistemov.

• Velika sinergija med raziskavami in industrijo.

• Oskrbovanje kompleksnih procesov kot storitev namesto oskrbovanja nizko-nivojske infrastrukture.

• Močna industrija telekomunikacij.

• Številne uspešne zgodbe in primeri uporabe po svetu.

11

SWOT analiza

Slabosti (Weaknesses):

• Pomanjkanje infrastrukture (podatkovnih centor) v Evropi.

• Majhen poudarek na razvoju novih Cloud tehnologij v Evropi.

• Večina ponudnikov računalništva v oblaku je v ZDA.

• Ni prisotne platforme, ki bi omogočila izbiro različnih ponudnikov.

• Pomanjkanje standardov in interoperabilnosti.

• Izguba fizičnega nadzora nad lastnimi podatki.

• Zaklepanje znotraj ponudnika.

12

Page 7: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

7

SWOT analiza

Priložnosti (Opportunities):

• Veliko izkušenj in vključevanja v standardizacijo oblaka.

• Potreba po novih podatkovnih centrih po svetu.

• Povečan interes po računalništvu v oblaku s strani industrije in akademske sfere.

• Oblak predstavlja močan temelj za razvoj mobilnih in tabličnih aplikacij.

• Povečana konkurenčnost in produktivnost ponudnikov storitev pri adapciji privatnih, hibridnih in javnih oblakov.

• Podpora MSP-jev in „start-up“ podjetjem z izboljšanim ROI-jem.

• Novi poslovni modeli za produkte in uporabnike oblaka.

• Težnja po premiku iz mrežnega računalništva v računalništvo v oblaku.

13

SWOT analiza

Grožnje (Threats):

• Za izgradnjo infrastrukture za računalništvo v oblaku so potrebne velike investicije.

• Velika odvisnost od zunanjih (neevropskih) ponudnikov.

• Latenca je zaradi zagotavljanja federacije oblakov lahko velika.

• Zaupanje podatkov in aplikacij tretji organizaciji.

• Zagotovitev kontinuitete poslovanje v primeru bankrota ponudnika.

• Regulativa na lokalni, nacionalni in internacionalni ravni (US Patriot Act, EU Privacy Law, …).

14

Page 8: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

8

Upravljanje oblaka

15

Aplikacije Aplikacije

Izvajalno okolje Izvajalno okolje

Podatki Podatki

Vmesna programska oprema

Vmesna programska oprema

Operacijski sistem Operacijski sistem

Virtualizacija Virtualizacija

Strežniki Strežniki

Shramba Shramba

Omrežje Omrežje

Aplikacije Aplikacije

Izvajalno okolje Izvajalno okolje

Podatki Podatki

Vmesna programska oprema

Vmesna programska oprema

Operacijski sistem

Virtualizacija

Strežniki

Shramba

Omrežje

Aplikacije Aplikacije

Izvajalno okolje

Podatki Podatki

Vmesna programska oprema

Operacijski sistem

Virtualizacija

Strežniki

Shramba

Omrežje

Aplikacije

Izvajalno okolje

Podatki

Vmesna programska oprema

Operacijski sistem

Virtualizacija

Strežniki

Shramba

Omrežje

Lokalno IaaS PaaS SaaS

Upravlja ponudnik

Upravlja uporabnik

Klasično načrtovanje kapacitet

16

ČAS

KA

PAC

ITET

A

Dejanska obremenitev

Presežek kapacitet

Primanjkljaj kapacitet

Fiksna cena kapacitet

Predvidena obremenitev

Cena na enoto

kapacitete

Page 9: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

9

Elastičnost v oblaku

17

Dejanska obremenitev

Alocirana kapaciteta

Znižanje začetne

investicije

Ni presežka kapacitet

Ni primanjkljaja kapacitet

V primeru manjše

obremenitve se kapacitete samodejno znižajo (in s tem stroški)

ČAS

KA

PAC

ITET

A

Predvidena obremenitev

INFRASTRUKTURA KOT STORITEV

Page 10: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

10

Definicija

Zmožnost oskrbovanja procesnih, podatkovnih in omrežnih kapacitet ter drugih računalniških virov. Uporabnik lahko postavi in zaganja poljubno programsko opremo, ki vključuje operacijski sistem in aplikacije. Le-ta ne upravlja in nadzira infrastrukture oblaka, temveč ima nadzor nad operacijskim sistemom, shrambo, postavljenimi aplikacijami in ima običajno omejen nadzor nad omrežnimi komponentami. NIST

19

Ključne karakteristike

Virtualizacija

Avtomatizacija in orkestracija

Cloudbursting

Federacija

Elastičnost in skalabilnost

Samopostrežba

Večnajemniški model

Merjenje storitev

Konsolidacija in centralizacija

Migracija virtualcev

Replikacija podatkov

20

Page 11: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

11

Računalništvo v oblaku in mrežno računalništvo:

Distribuirani sistemi

Web 2.0 Web 2.0

Primerjava s sorodnimi tehnologijami

21

Gruče

Super-računalniki Super-računalniki

Računalništvo v oblaku

Mrežno računalništvo

Skaliranje

Aplikacijska usmerjenost

Storitvena usmerjenost

Računalništvo v oblaku in mrežno računalništvo:

• Poslovni model:

– Računalništvo v oblaku:

o „Pay-as-you-go“ model – plačamo za storitve, ki jih dejansko porabimo.

– Mrežno računalništvo:

o Projektno orientirano – uporabniki oziroma skupnost dobi na voljo določeno število enot (npr. CPE ur), ki jih lahko porabi.

• Arhitektura:

Primerjava s sorodnimi tehnologijami

22

Aplikacija Aplikacija

Platforma Platforma

Enotni viri Enotni viri

Infrastruktura Infrastruktura

Aplikacija Aplikacija

Kolektiv Kolektiv

Povezljivost Povezljivost

Infrastruktura Infrastruktura

Viri Viri

Omrežno računalništvo Računalništvo v oblaku

Page 12: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

12

Primerjava s sorodnimi tehnologijami

Računalništvo v oblaku in mrežno računalništvo:

• Arhitektura:

– Računalništvo v oblaku:

o Infrastruktura – predstavlja računalniške vire na nivoju strojne opreme, kot so izvajalna enota, shramba in omrežje.

o Enotni viri – vsebujejo vire, ki so virtualizirani in izpostavljeni višjim nivojem in končnim uporabnikom kot integrirane vire (npr. virtualne stoje, gruče, logični datotečni sistem, podatkovna baza, itn.)

o Platforma – dodaja zbirko specifičnih orodij, vmesno programsko opremo in storitve nad enotne vire, da bi ponudila platformo za razvoj, izvajanje in postavitev aplikacij.

o Aplikacija - predstavlja aplikacije, ki se izvajajo v oblaku.

23

Primerjava s sorodnimi tehnologijami

Računalništvo v oblaku in mrežno računalništvo:

• Arhitektura:

– Omrežno računalništvo:

o Infrastruktura – ponuja dostop do virov, kot so izvajalna enota, shramba in omrežje, repozitorij programske kode. Infrastruktura se pri omrežnem računalništvu nanaša na upravljavce lokalnih virov.

o Povezljivost – definira temeljne komunikacijske in avtentikacijske protokole za varne omrežne transakcije (GSI protokol).

o Viri – definira protokole za objavo, odkrivanje, pogajanje, spremljanje in zaračunavanje deljenih operacij na individualnih virih (GRAM in GridFTP protokola).

o Kolektiv – zajema interakcije med kolekcijami virov, imeniškimi storitvami, kot so storitve za odkrivanje in spremljanje (MDS) ter storitve za razporejanje in posredovanje (Condor-G in Nimrod-G).

o Aplikacija – predstavlja aplikacije zgrajene na protokolih in API-jih, ki operirajo v VO (Virtual Organization) okolju.

24

Page 13: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

13

Primerjava s sorodnimi tehnologijami

Računalništvo v oblaku in mrežno računalništvo:

25

Funkcionalnost Mreža (Grid) Oblak (Cloud)

Deljenje virov Kolaboracija (VO-ji, deljenje datotek). Dodeljeni viri niso deljeni.

Virtualizacija Virtualizacija podatkov in računalniških virov. Virtualizacija platform programske in strojne opreme.

Varnost Varnost preko delegacije poverilnic (credentials). Varnost preko izolacije.

Arhitektura Storitveno usmerjena. Uporabniško izbrana arhitektura.

Odvisnost programske opreme Domensko odvisna programska oprema. Domensko neodvisna programska oprema.

Platformsko zavedanje Odjemalec mora biti „Grid-enabled“. Ponudnikova programska oprema deluje v kostumiziranem okolju.

Skalabilnost Skalabilnost vozlišč in strani. Skalabilnost vozlišč, strani in strojne opreme.

Samopostrežba Možnost ponovnih nastavitev. Možnost ponovnih nastavitev, samo-popravila (self-healing).

Stopnja centralizacije Decentraliziran nadzor. Centraliziran nadzor.

Uporabnost Težavnost upravljanja. Uporabniku prijazen.

Standardizacija Standardizacija in interoperabilnost. Pomanjkanje standardov za interoperabilnost oblaka.

Plačilni model Rigiden. Fleksibilen.

QoS zagotovila Omejena podpora. Omejena podpora, osredotočena na razpoložljivost in neprekinjeno delovanje.

Vir: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.176.6131&rep=rep1&type=pdf

Primerjava s sorodnimi tehnologijami

Računalništvo v oblaku in virtualizacija:

• Virtualizacija

– Zmožnost izvajanja več operacijskih sistemov na enojnem fizičnem sistemu in zmožnost deljenja virov strojne opreme.

• Računalništvo v oblaku

26

Izolacija

Konsolidacija

Elastičnost

Virtualizacija

Samopostrežba

Avtomatizacija

Page 14: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

14

Amazon

Javni ponudnik storitev računalništva v oblaku

Storitve so na voljo na samopostrežen način (Self Service)

Zaračunavanje po porabi (Pay As You Go)

Poln dostop do virtualiziranih storitev

EC2 je na voljo v več regijah (Regions)

• US-West Oregon, US-West N. California, US-East Virginia, EU-West Ireland, Asia Pacific Singapore, Asia Pacific Tokyo

Znotraj vsake regije je na voljo več con za dostop (Availability Zones) npr, za EU-West Ireland:

• eu-west-1a,eu-west-1b,wu-west-1c

27

Amazon

Na nivoju IaaS so na voljo storitve: EC2, S3, Amazon CloudWatch, Amazon CloudFront, EBS.

EC2 (Elastic Compute Cloud)

• Zagotavljanje izvajalnih kapacitet (virtualni stroji)

• Na voljo so predkonfigurane slike (AMI - Amazon Machine Image)

• Izberemo želeno konfiguracijo strojne opreme

• Določimo nastavitve za dostop (ključi)

• Možnosti samodejnega skaliranja, izenačevanja obremenitev, postavitev na več lokacij, povezovanje za HPC, …

• Plača se po porabi (št ur, konfiguracija, AMI)

28

Page 15: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

15

Amazon

Primer obračunavanja za nove Linux/Windows instance

Primer posebne instance:

29

Amazon

S3 (Simple Storage Service)

• Preprosta shramba na internetu.

• Dostop do preko podatkov preko REST in SOAP vmesnikov

• Objekte, velike do 5 TB je mogoče brati, pisati in brisati

• Organizacija objektov je najbolj podobna datotečni strukturi (primer uporabe: Dropbox)

SimpleDB

• Ne-relacijska NoSQL podatkovna baza

• Podatki dostopni preko spletnih storitev

• Urejenost podatkov je urejena v domene in atribute

• Urejenost je analogna preglednici (Excel), kjer je domena en dokument ali List/Stran, atributi pa so imena vertikalnih stolpcev po katerih lahko iščemo

30

Page 16: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

16

Amazon

Amazon CloudWatch

• Storitev za spremljanje delovanja storitev

• Zbrane podatke je poleg grafov mogoče prejeti tudi programsko

• Osnovno spremljanje na 5 minutni interval je brezplačno

Amazon CloudFront

• Storitev za dostavo vsebin z uporabniku bližje lokacije

• Hramba je v obliki S3 bucketa.

• Plačevanje po prenosu podatkov in številu zahtevkov

31

OpenStack

Uvod:

• Predstavlja kolekcijo odprtokodnih tehnologij, ki ponujajo skalabilno in modularno IaaS rešitev v oblaku.

• Vsebuje kolekcijo odprtokodnih projektov, ki jih vzdržuje celotna skupnost in ponuja operacijsko platformo in orodja za orkestracijo oblakov.

• Trenutno ponuja tri komponente: Compute, ObjectStorage in Image Service.

• Je kompatibilen z EC2 in S3 vmesniki.

• V OpenStack skupnosti danes sodeluje več kot šestdeset vodilnih podjetij, kot so Rackspace, NASA, IBM, Cisco, Citrix, Dell, Intel, Microsoft in Facebook.

32

Page 17: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

17

OpenStack

Arhitektura:

33

OpenStack Compute

OpenStack Compute

OpenStack Object Storage

OpenStack Object Storage

OpenStack Image Service

OpenStack Image Service

API sloj API sloj

Mobilne aplikacije, spletni odjemalci, poslovno informacijski sistemi…

OpenStack Identity OpenStack Identity OpenStack Dashboard OpenStack Dashboard

OpenStack

Arhitektura:

• OpenStack Compute (Nova)

– ponuja orodje za orkestracijo oblaka in vključuje zaganjanje instanc, upravljanje omrežja in nadziranje dostopa do oblaka različnim uporabnikom.

– Kompatibilen z Amazon EC2 vmesnikom.

34

Page 18: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

18

OpenStack

Arhitektura:

• OpenStack Compute (Nova)

35

OpenStack

Arhitektura:

• OpenStack Object Storage (Swift)

– Omogoča izdelavo redundantne in skalabilne shrambe objektov, ki uporablja gruče standardiziranih strežnikov za shrambo ogromne količine podatkov.

– Je kompatibilen z Amazon S3 vmesnikom.

– Izvira iz Rackspace storage tehnologije (Cloud Files).

36

Page 19: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

19

OpenStack

Arhitektura:

• OpenStack Object Storage (Swift)

37

OpenStack

Arhitektura:

• OpenStack Image Service (Glance)

– ponuja odkrivanje, registracijo in dostavo storitev za virtualne diskovne slike. Omogoča nalaganje privatnih in javnih slik v različnih formatih, kot so VHD, VDI, qcow2, VMDK ter OVF.

38

Image: • Format diska, format

vsebnika, velikost, … Image Property: • Poljubni metapodatki slik.

Page 20: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

20

OpenStack

Upravljanje:

• Upravljanje virtualnih omrežij.

• Upravljanje s slikami virtualnih strojev.

• Upravljanje z virtualnimi stroji.

• Upravljanje podatkovne shrambe.

• Upravljanje z uporabniki in skupinami.

• Orodja:

– VNC Console in Euca2ools – administrativna konzola.

– OpenStack Dashboard – samopostrežni spletni portal (Horizon).

Namestitveni modeli:

39

P J H

OpenStack

OpenStack Dashboard – samopostrežni spletni portal.

40

Page 21: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

21

OpenNebula

Uvod: • OpenNebula je odprtokodno fleksibilno orodje za gradnjo privatnih,

javnih in hibridnih IaaS oblakov.

• Ponuja uporabnikom infrastrukture elastično platformo za hitro dostavo in skalabilnost storitev, da bi ugodili dinamičnim potrebam.

• OpenNebule orkestrira tehnologije shrambe, omrežja, virtualizacije, spremljanja in varnosti, da bi omogočil izvajanje storitev na distribuirani infrastrukturi.

• Storitve se izvajajo v virtualnih strojih, ki se nato nadzirajo in kontrolirajo v oblaku z uporabo OpenNebula Operations Center (SunStone) ali katerim izmed OpenNebula vmesnikov.

• Ima Java RPC API za upravljanje z oblakom -> enostavno nadgrajevanje funkcionalnosti.

• Razširitev Event handlinga, pošiljanje e-pošte ob določenih dogodkih (manipulacija hostov/instanc).

– www.cloud.si

41

OpenNebula

Arhitektura:

42

Razporejevalnik Razporejevalnik Ostala orodja Ostala orodja CLI CLI

Gonilnik za prenos

Gonilnik za prenos

Gonilnik informacij Gonilnik

informacij Gonilnik VM-jev Gonilnik VM-jev

SQL bazen SQL bazen Upravitelj zahtevkov (izpostavlja

XML-RPC API) Upravitelj zahtevkov (izpostavlja

XML-RPC API)

Upravitelj gostiteljev Upravitelj gostiteljev

Upravitelj prenosov Upravitelj prenosov

Upravitelj VM-jev

Upravitelj VM-jev

Oro

dja

Je

dro

G

on

ilnik

i

Če želimo uporabljati drug hipervizor…

Page 22: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

22

OpenNebula

Arhitektura:

Orodja:

• CLI – namenjen administratorjem in uporabnikom za manualno manipulacijo z virtualno infrastrukturo.

• Razporejevalnik – omogoča administratorjem, da določijo politiko namestitve virtualnih strojev na fizičnih virih.

Gonilniki:

• OpenNebula podpira dodatne module za interakcijo s specifično vmesno programsko opremo, kot so hipervizorji, oblačne storitve, mehanizmi za prenos datotek ali informacijske storitve. Ti moduli so poimenovani kot gonilniki.

43

OpenNebula

Arhitektura:

Jedro:

• Upravitelj zahtevkov – izpostavlja XML-RPC vmesnik s katerim ločuje funkcionalnosti jedra OpenNebule od zunanjih komponent, kot je na primer Scheduler.

• Upravitelj virtualnih strojev – zadolžen za upravljanje in nadzor virtualnih strojev. Ponuja dodaten nivo abstrakcije za ukaze namenjene hipervizorju.

• Upravitelj prenosov – dogovoren za prenose vseh datotek (npr. prenos slik VM-jev) potrebnih za pravilno postavitev virtualnih strojev.

• Upravitelj virtualnih omrežij – omogoča kreiranje virtualnih omrežij, pri čemer sledi zapisom (IP in MAC naslovom), ki jih virtualni stroji uporabljajo.

• Upravitelj gostiteljev - namenjena upravljanju in nadzoru fizičnih gostiteljev, pri čemer uporablja za to primerne gonilnike.

• Podatkovna baza – hrani informaciije, potrebne za upravljanje oblaka (temelji na podatkovni bazi SQLite3).

44

Page 23: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

23

OpenNebula

Upravljanje:

• Upravljanje z gostitelji in gručami.

• Upravljanje s slikami virtualnih strojev.

• Upravljanje z instancami virtualnih strojev.

• Upravljanje z uporabniki/skupinami.

• Upravljanje z omrežjem.

• Orodja:

– SunStone – grafični vmesnik.

– Ukazna vrstica.

Namestitveni modeli:

45

P J H

Eucalyptus

Uvod:

• V osnovi je bil Eucalyptus zasnovan za podporo visoko zmogljivemu računanje (High Performance Computing - HPC) na univerzi v Kaliforniji.

• Gre za odprtokodno programsko opremo, ki temelji na Linuxu in implementira skalabilne privatne in hibridne oblake znotraj obstoječe infrastrukture IT organizacij.

• Podpira integracijo z Amazon EC2 in S3 storitvami javnega oblaka in na tak način omogoča zmožnosti postavitve hibridnega oblaka.

• Lahko nameščen brez dodatnih modifikacij na vseh večjih Linux distribucijah, kot so Ubuntu/CentOS, openSUSE, in Debian.

• Razširitev za samodejno skaliranje.

• Integracija z Ganglia in Nagios odprto-kodnimi monitoring sistemi.

– www.cloud.si

46

Page 24: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

24

Eucalyptus

Arhitektura:

47

Nadzornik oblaka (CLC) Nadzornik oblaka (CLC) Walrus Walrus

Nadzornik gruče (CC) Nadzornik gruče (CC) Nadzornik gruče (CC) Nadzornik gruče (CC) Nadzornik shrambe (SC) Nadzornik shrambe (SC) Nadzornik shrambe (SC) Nadzornik shrambe (SC)

Nadzornik vozlišč (NC) Nadzornik vozlišč (NC)

Nadzornik vozlišč (NC) Nadzornik vozlišč (NC)

Nadzornik vozlišč (NC) Nadzornik vozlišč (NC)

Nadzornik vozlišč (NC) Nadzornik vozlišč (NC)

Nadzornik vozlišč (NC) Nadzornik vozlišč (NC)

Nadzornik vozlišč (NC) Nadzornik vozlišč (NC)

Spletni brskalnik SOAP orodja REST orodja

Gruča A Gruča B

Eucalyptus

Arhitektura:

• Nadzornik oblaka (CLC) - zadolžen za izpostavljanje in upravljanje spodaj-ležečih virtualiziranih virov (strežniki, omrežje in shramba) preko standardnih API—jev (Amazon EC2) in spletnih uporabniških vmesnikov.

• Walrus – omogoča shrambo trajnih podatkov, ki so organizirani kot vedra (buckets) in objekti. Je kompatibilen z Amazon S3 vmensikom.

• Nadzornik gruče (CC) – združuje informacije o virtualnih strojih in razporeja izvajanje virtualnih strojev na specifične NC enote. Ravno tako je zadolžen za upravljanje omrežja virtualnih instanc.

• Nadzornik vozlišč (NC) – nadzira izvajanje, preverjanje in ustavljanje instanc virtualnih strojev na gostitelju, kjer se le-ta izvaja.

• Nadzornik shrambe (SC) – ponuja podobne funkcionalnosti kot Amazon EBS in podpira številne datotečne sisteme (NFS, iSCSI, …).

48

Page 25: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

25

Eucalyptus

Upravljanje:

• Upravljanje virtualnih strojev.

• Upravljanje ključev SSH.

• Upravljanje shrambe in slik.

• Upravljanje uporabnikov/skupin.

• Upravljanje omrežja.

• Upravljanje varnostnih skupin.

• Orodja:

– Euca2ools – administrativna konzola.

– ElasticFox – samopostrežni spletni portal.

Namestitveni modeli:

49

P J H

OpenStack, Eucalyptus, OpenNebula

Namestitev:

Vsa ogrodja delujejo na podoben način: • Namestitev je možna na več različnih distribucijah Linuxa (Ubuntu /

Debian sta zelo dobro podprta)

• Namestitev vključuje veliko število opravil: – Namestitev programske opreme, konfiguracija hipervizorja,

konfiguracija omrežja, namestitev podatkovne baze…

– Namestitvi sledijo opcijske dodatne nastavitve: o Uporaba MySql namesto SQLite podatkovne baze

o Inštalacija grafičnega uporabniške vmesnika za upravljanje z oblakom…

• Sledi dodajanje uporabnikov oblaka, ustvarjanje skupin in uvoz slik virtualnih strojev (images).

– slike virtualnih strojev morajo biti do neke mere prilagojene za uporabo v oblaku (npr. omogočati morajo takojšen SSH dostop ob zagonu / podpora za preverjanje ključev, itd.)

• Ko uspešno opravimo vse te korake, lahko pričnemo z zaganjanjem instanc virtualnih strojev.

50

Page 26: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

26

OpenStack, Eucalyptus, OpenNebula

Primerjava:

51

OpenStack OpenNebula Eucalyptus Amazon AWS

Komponenta identitete

Keystone Interna Interna Amazon IAM

Komponenta hrambe objektov (Object Store)

Object Store (Swift) Interna Walrus Amazon S3

Omrežna komponenta

Nova-network Virtual Network Manager

Interna Interna

Izvajalna komponenta (Compute)

Nova-compute Oned Cloud Controller Amazon EC2

Komponenta nosilca (Volume)

Nova-volume Interna Storage Controller Amazon EBS

Komponenta razporejanja (Scheduler)

Nova-scheduler Razporejevalnik (Scheduler)

Cluster Controller ELB

Nadzorna plošča (Dashboard)

OpenStack Dashboard, Horizon

SunStone, ElasticFox

ElasticFox, Admin UI

AWS Management Console

VMware vCloud

Uvod:

• Predstavlja infrastrukturo kot storitev (IaaS), ki lahko streže številnim infrastrukturnim in programskim potrebam, kot so eksperimentiranje, prototipiranje, testiranje in sam razvoj aplikacij.

• Omogoča konsistentno in transparentno upravljanje privatnih in javnih vCloud instanc.

• Predstavlja nabor storitev za računalništvo v oblaku, ki uporabljajo vCloud Director komponento kot razširitev zmožnosti vSphere virtualizacijske platforme.

• Ključne komponente IaaS rešitve vCloud so:

– vCloud Director, vSphere, vShield, vCenter Chargeback, vCenter Orchestrator ter vCloud Connector.

52

Page 27: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

27

VMware vCloud

Arhitektura:

53

vCloud Director vCloud Director

vSphere vSphere

Fizična infrastruktura Fizična infrastruktura

vShield Manager vShield

Manager vCenter

Chargeback vCenter

Chargeback vCloud

Connector vCloud

Connector

vCenter Operations

vCenter Operations

VMware Service

Manager

VMware Service

Manager

VMware Configuration

Manager

VMware Configuration

Manager

Orchestrator Orchestrator

RabbitMQ RabbitMQ

vCloud API vCloud API

vSphere API vSphere API

VADP VADP

Skupni vmesnik Upravljanje in

orkestracija Sklad oblaka

VMware vCloud

Arhitektura:

VMware vCloud Director

• Storitev, ki omogoča izgradnjo ter izpostavljanje oblakov s pomočjo spletnega portala in programskih vmesnikov.

54

Page 28: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

28

VMware vCloud

Arhitektura:

VMware vCloud Director

55

VMware vCloud

Arhitektura:

VMware vSphere

• Virtualizirana platforma, ki ponuja abstrakcijo nivoja fizične infrastrukture za vCloud.

56

vStorage APIs for Data Protection

Page 29: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

29

VMware vCloud

Arhitektura:

VMware vShield

• Ponuja omrežno varnost za virtualizirane podatkovne centre z uporabo VMware vShield Edge in vShield Manager tehnologije.

57

VMware vCloud

Arhitektura:

VMware vCenter Chargeback

• Ponuja dinamično merjenje virov, cenovno modeliranje in izdelavo poročil.

58

Page 30: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

30

VMware vCloud

Arhitektura:

VMware vCenter Chargeback

59

VMware vCloud

Arhitektura:

Vmware vCloud Connector

• Ponuja vtičnik s katerim se smejo uporabniki povezati z oblaki, ki temeljijo na vSphere in vCloud Director tehnologijah, ter upravljati te oblake preko enojnega vmesnika.

60

Page 31: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

31

VMware vCloud

Arhitektura:

VMware vCenter Orchestrator

• Omogoča avtomatizacijo oskrbovanja in operativnih opravil med VMware in drugimi aplikacijami s pomočjo odprte in fleksibilne arhitekture.

61

VMware vCloud

Arhitektura:

VMware vCenter Orchestrator

62

Page 32: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

32

VMware vCloud

Upravljanje:

• Upravljanje z virtualnimi stroji.

• Upravljanje s slikami virtualnih strojev.

• Upravljanje z virtualiziranim omrežjem.

• Upravljanje z uporabniki/računi.

• Upravljanje s podatkovno shrambo...

• Orodja:

– VMware vCloud Director – grafični (spletni) administrativni vmesnik.

Namestitveni modeli:

63

P J H

Microsoft Hyper-V Cloud

Uvod:

• Omogoča izgradnjo privatnega oblaka s pomočjo Windows Server 2008 R2, Microsoft Hyper-V ter Microsoft System Center produkti.

• Temelj produkta je postavljen na Windows Sever platformi skupaj z Windows Server Active Directory Identity Framework-om, Hyper-V virtualizacijsko zmožnostjo in System Center upravljavsko tehnologijo.

• S pomočjo System Center Virtual Machine Self-Service portala lahko skrbimo za oskrbovanje, dodeljevanje in uporabo virov znotraj podatkovnega centra.

64

Page 33: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

33

Microsoft Hyper-V Cloud

Arhitektura:

65

Samopostrežba in oskrbovanje

Samopostrežba in oskrbovanje

System Center VMM Self-Service Portal

System Center VMM Self-Service Portal

Integrirano upravljanje Integrirano upravljanje System Center System Center

Platforma Platforma Windows Server 2008

R2 Hyper-V Windows Server 2008

R2 Hyper-V

Identiteta Identiteta Windows Server 2008

Active Directory Windows Server 2008

Active Directory

Microsoft Hyper-V Cloud

Arhitektura:

Microsoft System Center

• Družina produktov za upravljanje fizičnega in virtualiziranega IT okolja med več podatkovnimi centri, odjemalci in napravami:

– Upravitelj virtualnih strojev (Virtual Machine Manager)

– Upravitelj zaščite (Protection Manager)

– Upravitelj operacij (Operation Manager)

– Upravitelj konfiguracije (Configuration Manager)

66

Page 34: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

34

Microsoft Hyper-V Cloud

Arhitektura:

Microsoft System Center Self-Service Portal

67

Microsoft Hyper-V Cloud

Arhitektura:

Windows Server 2008 R2 Hyper-V

• Ključen del Windows Server komponente in predstavlja temeljno virtualizacijsko platformo. Omogoča konsolidacijo strežnikov, izgradnjo dinamičnih podatkovnih centrov, itn.

Windows Server 2008 R2 Active Directory

• Omogoča upravljanje identitet ter ponuja funkcionalnosti za centralno konfiguracijo in administracijo sistema, uporabnikov in aplikacijskih nastavitev.

68

Page 35: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

35

Microsoft Hyper-V Cloud

Upravljanje:

• Upravljanje z virtualnimi stroji.

• Upravljanje zaščite podatkov.

• Upravljanje operacij.

• Upravljanje konfiguracij.

• Upravljanje storitev…

• Orodja:

– Družina produktov Microsoft System Center.

Namestitveni modeli:

69

P J H

Apache VCL

Uvod:

• Virtual Computing Lab (VCL) predstavlja idejo računalništva v oblaku, ki je bila zasnovana na ameriški univerzi North Carolina State University (NCSU) s tesno kolaboracijo IBM-ove iniciative za virtualno računalništvo (IBM Virtual Computing Initiative).

• Predstavlja odprtokodni sistem za dinamično oskrbovanje in posredovanje dostopa do samostojnih strojev, kot so univerzitetni računalniki znotraj laboratorijev.

• Eden izmed ključnih ciljev VCL sistema je za omejen čas dostaviti računalniško okolje uporabnikom preko spletnega vmesnika.

• VCL se sestoji iz treh ključnih komponent:

– Spletne komponente,

– komponente podatkovne baze in

– upravljavskega vozlišča.

70

Page 36: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

36

Apache VCL

Arhitektura:

71

Spletna komponenta (VCL razporejevalnik) Spletna komponenta (VCL razporejevalnik)

Podatkovna baza

Podatkovna baza

Upravljavsko vozlišče Upravljavsko vozlišče

Fizična postavitev

Fizična postavitev

Virtualna postavitev Virtualna

postavitev

Modul za novo

postavitev

Modul za novo

postavitev

Repozitorij slik Repozitorij slik

Vozlišče Vozlišče Vozlišče Vozlišče

Vozlišče Vozlišče

• rezervacije VCL kapacitet, • nadzor dostopa, • inventar strojev, • zgodovino logov.

• Bladi, VM-ji, stroji v LAB-ih… • 80 – 120 blade-ov

Apache VCL

Arhitektura:

• Spletna komponenta – predstavlja jedro VCL oblaka in ponuja orodja za upravljanje, zahtevo in nadzor računalniških virov oblaka.

• Komponenta podatkovne baze – hrani vse podatke povezane z rezervacijami VCL kapacitet, nadzorom dostopa, inventarjem strojev in okolja, zgodovino logov, itn.

• Upravljavsko vozlišče – zadolženo za dodeljevanje primernega števila strežniških virov, avtomatično namestitev želenega operacijskega sistema, aplikacij in drugih slik programske opreme ter njihovo distribucijo.

72

Page 37: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

37

Apache VCL

Upravljanje:

• Upravljanje s slikami virtualnih strojev.

• Upravljanje virtualnih omrežij.

• Upravljanje podatkovne shrambe.

• Upravljanje uporabnikov/skupin.

• Orodja:

– Samopostrežni spletni portal.

Namestitveni modeli:

73

P J H

Nimbus

Uvod:

• Nimbus je odprtokodno orodje, ki je osredotočeno na ponujanje infrastrukture kot storitve – IaaS za znanstvene namene.

• Omogoča tri bistvene storitve:

– Izgradnjo privatnih in javnih IaaS oblakov.

– Uporabo IaaS oblaka.

– Upravljanje IaaS oblaka.

• Zasnovo Nimbusa sestavlja 7 komponent, ki temeljijo na spletnih tehnologijah.

• Je kompatibilen z EC2 in S3 vmesniki.

74

Page 38: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

38

Nimbus

Arhitektura:

75

Cumulus Storage Service

Cumulus Storage Service

Workspace Service

(WSRF, EC2)

Workspace Service

(WSRF, EC2)

Context Broker Context Broker

Workspace Control

Workspace Control

Context odjemalec

Context odjemalec

Cloud odjemalec

Cloud odjemalec

Workspace odjemalec Workspace odjemalec

Workspace resource manager

Workspace resource manager

Workspace Pilot

(integracija)

Workspace Pilot

(integracija)

Ponudnik oblaka

Ponudnik oblaka

Razporejevalnik

• zagonu, zaustavitvi VM-jev. • upravljanju slik VM-jev. • varno povezovanju VM na omrežje.

• Koordinacija samodejnega zagona VM-jev

Nimbus

Arhitektura:

Workspace Service: • Omogoča upravljanje in administriranje virtualnih strojev preko dveh

vmesnikov. Prvi temelji na vmesniku Web Service Resource Framework (WSRF), drugi pa na EC2 WSDL . Ta storitev komunicira z Workspace Resource Manager ali Workspace Pilot komponento za upravljanje instanc.

Workspace Resource Manager: • Implementira ustvarjanje instanc virtualnih strojev in njihovo

upravljanje.

Workspace Control: • Program nameščen na vsakem vozlišču in je namenjen zagonu,

zaustavitvi in začasni zaustavitvi virtualnih strojev. Poleg tega je namenjen še rekonstrukciji in upravljanju slike virtualnega stroja, varnemu povezovanju virtualnega stroja na omrežje ter dostavi informacij za kontekstualizacijo.

76

Page 39: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

39

Nimbus

Arhitektura:

Workspace Pilot: • Omogoča integracijo virtualnih strojev z že konfiguriranimi viri za

upravljanje opravil.

Context Broker: • Storitev, ki odjemalcem omogoča koordinacijo samodejnega in

ponavljajočega se zagona velikega števila virtualnih gruč.

Workspace odjemalec: • Odjemalec, ki omogoča dostop do izbranih funkcionalnosti storitve

Workspace Service.

Cumulus Storage Service: • Omogoča akumulacijo in upravljanje podatkov, kar vključuje

nalaganje podatkov v oblak, nadziranje statusa podatkov in prenos podatkov.

• Omogoča shranjevanje slik za Nimbus izvajalne oblake.

77

Nimbus

Upravljanje:

• Upravljanje virtualnih omrežij.

• Upravljanje z instancami virtualnih strojev.

• Upravljanje podatkovne shrambe.

• Upravljanje uporabnikov.

• Orodja:

– Cloud Client – administrativna konzola.

Namestitveni modeli:

78

P J H

Page 40: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

40

Xen Cloud Platform

Uvod:

• XPC je odprtokodna platforma za strežniško virtualizacijo in računalništvo v oblaku.

• Podpira Xen hipervizorja ter različne operacijske sisteme (Windows in Linux).

• Kombinira zmožnosti večnajemniškega modela in izolacije z naprednimi tehnologijami varnosti ter podatkovne in omrežne virtualizacije.

• XCP je licenciran pod GNU General Public Licence (GPL2) in je brezplačen.

• Sestavljen je iz petih ključnih komponent:

– XAPI, XAPI Lib, nadzorniški vmesniki, Xen hipervizor, Dom0 domena ter operacijski sistemi.

79

Xen Cloud Platform

Arhitektura:

80

Nadzorniški vmesniki Nadzorniški vmesniki

Dom0 Dom0 XAPI XAPI

XAPI Lib XAPI Lib

Ctrl IF Ctrl IF

Omrežje Shramba Gonilniki

Omrežje Shramba Gonilniki

Operacijski sistem

(Windows, Linux)

Operacijski sistem

(Windows, Linux)

Xen hipervizor Xen hipervizor

Fizična strojna oprema Fizična strojna oprema Bazen virov

Page 41: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

41

Xen Cloud Platform

Arhitektura:

• XAPI – upravljavski sklad, ki nadzira gostitelje in bazene virov ter koordinira vire znotraj bazena.

• XAPI Lib – nabor knjižnic in pripomočkov.

• Nadzorniški vmesniki – XCP ponuja XE ukazno vrstico za nadzor Xen virtualnih strojev in bazenov. Obstajajo številna druga orodja.

• Xen hipervizor – XCP podpira Xen hipervizorja.

• Dom0 domena – vključuje podporo za omrežje, shrambo in gonilnike.

• Operacijski sistem – podpira širok nabor Linux in Windows gostiteljev.

81

Xen Cloud Platform

Upravljanje:

• Upravljanje virtualnih omrežij (Open vSwitch).

• Upravljanje slik virtualnih strojev.

• Upravljanje uporabnikov/skupin.

• Upravljanje spremljanja in poročanja.

• Orodja:

– XE – administrativna konzola.

– Številni „third party“ vmesniki.

Namestitveni modeli:

82

P J H

Page 42: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

42

OpenQRM

Uvod:

• Odprtokodni produkt zgrajen na enoviti konzoli za upravljanje in številnimi vtičniki, ki skrbijo za ostale funkcionalnosti.

• Podpira številne operacijske sisteme, hipervizorje (VMware, Xen, KVM in Citrix XenServer), podatkovne strežnike in omogoča razvoj lastnih vtičnikov.

• Je licenciran pod GNU General Public Licence (GPL2).

• Podpira P2V (physical to virtual), V2P (virtual to physical) in V2V (virtual to virtual) migracije.

• Ponuja failover mehanizem, ki omogoča skupinam strežnikov uporabo enojnega „standby“ načina.

• Podpira integracijo z Nagios monitoring sistemom.

83

OpenQRM

Arhitektura:

• Strežnik – temelj openQRM storitev je strežnik, ki je zadolžen za upravljanje virtualizirane vire oblaka.

• Vtičnik oblaka – ponuja polno-avtomatiziran zahtevek in cikel za oskrbovanje in postavitev.

84

OpenQRM strežnik

OpenQRM strežnik

OpenQRM vtičnik oblaka

OpenQRM vtičnik oblaka

Abstrakcija

hrambe

Abstrakcija virov

AoE-balde

NFS-balde

NetAPP

iSCSI-Target

• Dodelitev stežnikov, • Postavitev slik…

VMware ESX

KVM

Xen

Page 43: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

43

OpenQRM

Upravljanje:

• Upravljanje virtualnih omrežij.

• Upravljanje s slikami virtualnih strojev.

• Upravljanje z virtualnimi stroji.

• Upravljanje shrambe.

• Upravljanje spremljanja in poročanja.

• Upravljanje z uporabniškimi računi.

• Orodja:

– Enojna administrativna konzola.

Namestitveni modeli:

85

P J H

RedHat CloudForms

Uvod:

• Omogoča izgradnjo in upravljanje lastnega IaaS oblaka za interno uporabo.

• Podpira integracijo z obstoječimi produkti in tehnologijami, kot so fizični strežniki ter virtualizacijske platforme drugih ponudnikov.

• Zagotavlja upravljanje aplikacij skozi njihovo življenjsko dobo.

• CloudForms ponuja IaaS infrastrukturo s pomočjo treh komponent:

– Upravljanje življenjskega cikla aplikacij (sistemski in aplikacijski pogon).

– Upravljanje izvajalnih virov (pogon oblaka).

– Infrastrukturne storitve (storitve oblaka).

86

Page 44: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

44

RedHat CloudForms

Arhitektura:

87

Infrastrukturne storitve Infrastrukturne storitve

Storitve oblaka

Storitve oblaka

Storitve oblaka

Storitve oblaka

Storitve oblaka

Storitve oblaka

Storitve oblaka

Storitve oblaka

Upravljanje izvajalnih virov Upravljanje izvajalnih virov

Pogon oblaka Pogon oblaka

Upravljanje izvajalnih virov Upravljanje izvajalnih virov

Sistemski pogon Sistemski pogon Aplikacijski pogon Aplikacijski pogon

Spremljanje, upravljanje, sporočanje, replikacija, visoka razpoložljivost (HA)…

• Izdelavo virov, • upravlja politike

in delovne tokove

• Vodi dostop in dovoljenja do teh virov.

RedHat CloudForms

Arhitektura:

CloudForms pogon oblaka: • Zadolžen za upravljanje vseh virov oblaka. Omogoča izdelavo virov,

upravljanje politik in delovnih tokov ter voditi dostop in dovoljenja do teh virov.

CloudForms aplikacijski pogon: • Ponuja upravljanje z aplikacijami, ki temelji na šablonah. Lahko

dvigne, inicializira in ponuja definirane storitve.

CloudForms sistemski pogon: • Upravlja izvajane sisteme med fizična in virtualna okolja ter okolja

oblaka.

CloudForms storitve oblaka: • Predstavljajo dodatke, ki zagotavljajo konsistentne funkcionalnosti

med različnimi ponudniki oblaka. Primer: spremljanje, upravljanje, sporočanje, replikacija, visoka razpoložljivost (HA), itn.

88

Page 45: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

45

RedHat CloudForms

Upravljanje:

• Upravljanje s slikami virtualnih strojev.

• Upravljanje z življenjskim ciklom aplikacije.

• Upravljanje z oskrbovanjem.

• Upravljanje uporabnikov in računov.

• Upravljanje spremljanja in poročanja.

• Orodja:

– Grafični vmesnik za nadziranje in upravljanje.

Namestitveni modeli:

89

P J H

IBM SmartCloud

Uvod:

• IBM ponuja množico tehnologij za IaaS računalništvo v oblaku.

• Produkte lahko združimo v štiri storitve: Upravljalne infrastrukturne storitve, sisteme za operacijsko podporo, optimizacijske storitve ter varnostno komponento.

90

Page 46: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

46

IBM SmartCloud

Arhitektura:

91

Upravljanje infrastrukturne storitve

Upravljanje infrastrukturne storitve

Sistemi za operacijsko podporo Sistemi za operacijsko podporo

Optimizacijske storitve Optimizacijske storitve

Varnostna komponenta Varnostna komponenta

IBM SmartCloud

Arhitektura:

Upravljalne infrastrukturne storitve:

• IBM SmartCloud Enterprise

Sistemi za operacijsko podporo:

• IBM Service management for cloud computing IBM Tivoli Monitoring for Virtual Servers

• IBM Service Delivery Manager

• Tivoli Monitoring for Virtual Servers

• IBM Tivoli Storage Manager for Virtual Environments

92

Page 47: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

47

IBM SmartCloud

Arhitektura:

Optimizacijske storitve:

• IBM Service management for cloud computing

• IBM Service Delivery Manager

• IBM CloudBurst

• IBM BladeCenter Foundation for Cloud

• IBM Power Systems Cloud solutions

• IBM System z Solution Edition for Cloud Computing

• IBM System for Cloud Computing

• System Storage for Cloud Computing

Varnostne komponente:

• IBM Rational Cloud Application Security and Compliance solutions

• Tivoli Cloud Security Management solutions

93

IBM SmartCloud

Upravljanje:

• Upravljanje z gostitelji in gručami.

• Upravljanje s slikami virtualnih strojev.

• Upravljanje z instancami virtualnih strojev.

• Upravljanje z uporabniki in računi.

• Orodja:

– Nadzorna plošča za upravljanje in spremljanje.

Namestitveni modeli:

94

P J H

Page 48: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

48

Oracle IaaS

Uvod:

• Oracle sam ne dostavlja IaaS storitev vendar ponuja drugim IaaS ponudnikom strojno in programsko opremo za vzpostavitev privatnih in javnih oblakov.

• V grobem ga sestavlja sedem ključnih komponent:

– Shramba

– Strežniki

– Oracle Solaris vsebniki, Oracle VM za SPARC

– Oracle VM za x86

– Oracle Solaris

– Oracle Linux

– Fizično in virtualno upravljanje sistema (Oracle Enterprise Manager Ops Center)

95

Oracle IaaS

Arhitektura:

96

Strežniki Strežniki

Shramba Shramba

Aplikacija 1 Aplikacija 1 Aplikacija 2 Aplikacija 2 Aplikacija 3 Aplikacija 3

Fizično in virtualno

upravljanje sistema (Oracle

Enterprise Manager

Ops Center)

Fizično in virtualno

upravljanje sistema (Oracle

Enterprise Manager

Ops Center)

Oracle Solaris vsebniki Oracle VM za SPARC

Oracle Solaris vsebniki Oracle VM za SPARC

Oracle VM za x86 Oracle VM za x86

Oracle Linux Oracle Linux Oracle Solaris Oracle Solaris

Page 49: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

49

Oracle IaaS

Arhitektura:

Strežnik (Oracle VM Server):

• Namestimo ga lahko neposredno na strežniško strojno opremo z x86 procesorji in ne zahtevajo operacijskega sistema gostitelja. Vključuje VM agenta, ki omogoča komunikacijski kanal z Oracle VM Manager komponento za upravljavske namene.

Oracle VM Manager (Oracle Enterprise Manager Ops Center):

• Upravljavski strežnik, ki temelji na Javanski tehnologiji in uporablja Oracle podatkovno bazo kot repozitorij za upravljanje. Zadolžen je za upravljanje virtualnih strojev, ki se izvajajo na Oracle VM Server komponenti (to počne s pomočjo Oracle VM Agent komponente).

97

Oracle IaaS

Upravljanje:

• Upravljanje z gostitelji in gručami.

• Upravljanje s slikami virtualnih strojev.

• Upravljanje z instancami virtualnih strojev.

• Upravljanje spremljanja in poročanja.

• Upravljanje z uporabniki in računi.

• Orodja:

– Oracle VM Manager

– Oracle VM Management Pack

Namestitveni modeli:

98

P J H

Page 50: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

50

PLATFORMA KOT STORITEV

Definicija

Zmožnost postavitve različnih tipov aplikacij, ki si razvite z uporabo programskih jezikov in orodij ponujenih s strani ponudnika. Uporabnik pri tem ne upravlja in nadzira spodaj ležečo infrastrukturo (omrežje, shrambo, operacijski sistem ali strežnik) temveč ima nadzor nad postavljeno aplikacijo in pogosto tudi nastavitvami gostujočega okolja. NIST

100

Page 51: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

51

Ključne karakteristike

Samopostrežba

Avtomatizirano upravljanje in spremljanje

Skalabilnost

Večnajemniški model

Centraliziran nadzor

Varovana platforma ter dostop

Merjenje in zaračunavanje porabe

Visoka razpoložljivost aplikacij in podatkov

Integracijski model storitev

Celovito podprt življenjski cikel razvoja aplikacij

Podprt skupinski razvoj

101

Programski modeli

Odjemalec/Strežnik (Client/Server):

• Ločuje sistem na aplikacije, kjer odjemalec pošilja zahteve strežniku. V večini primerov je strežnik podatkovna baza z aplikacijsko logiko, ki je predstavljena kot bazna procedura.

Komponentna arhitektura (Component-Based Architecture):

• Dekompozicija aplikacijske arhitekture v ponovno uporabljive funkcionalne in logične komponente, ki izpostavljajo dobro definirane komunikacijske vmesnike.

Domensko gnano načrtovanje (Domain Driven Design):

• Objektno orientiran arhitekturni stil osredotočen na modeliranje poslovnih domen in definiranju poslovnih objektov, ki temeljijo na entitetah znotraj poslovne domene.

102

Page 52: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

52

Programski modeli

Nivojska arhitektura (Layered Architecture):

• Osredotoča se na grupiranje sorodnih funkcionalnosti aplikacije v različne nivoje, katerih funkcionalnosti so povezani s skupno vlogo ali odgovornostjo.

Sporočilno vodilo (Message Bus):

• Arhitekturni stil, ki predpisuje uporabo programske opreme za pošiljanje in sprejem sporočil z uporabo enega ali več komunikacijskih kanalov. Na tak način so lahko različne aplikacije v interakciji, ne da bi se zavedale podrobnosti drugih.

Večslojna/3-slojna arhitektura (N-Tier/3-Tier):

• Združuje funkcionalnosti v ločene segmente na podoben način kot nivojski arhitekturni stil. V tem primeru vsak segment predstavlja logičen nivo, ki je lociran na drugem fizičnem računalniku.

103

Programski modeli

Storitveno usmerjena arhitektura (SOA):

• Arhitektura aplikacij, ki izpostavljajo in koristijo funkcionalnosti v obliki storitev z uporabo pogodb in sporočil.

Model računalništva v oblaku:

• Računalništvo v oblaku prinaša številne prednosti, kot so elastičnost, visoka stopnja razpoložljivosti in zanesljivosti ter agilnost. Ravno tako vpeljuje nov način dostave storitev, kot so relacijska podatkovna baza v oblaku, NoSQL baza, avtomatično skaliranje, varnostne skupine, itn. Da bi uspešno koristili vse te prednosti, morajo aplikacije za oblak biti načrtovane tako, da sledijo specifičnemu aplikacijskemu modelu.

• Različni ponudniki storitev oblaka imajo različne zahteve in s tem drugačne modele aplikacij.

104

Page 53: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

53

Programski modeli

Model računalništva v oblaku:

• Amazon AWS:

105

Aplikacija

Aplikacija

Amazon EC2

Vnaprej nastavljen AMI

Odjemalec Zunanji sistem

AWS Elastic Beanstalk

RDS EC2+EBS

SimpleDB

SQS

S3

Programski modeli

Model računalništva v oblaku:

• Google App Engine:

106

Aplikacija

Aplikacija

App Engine izvajalno okolje

URLFetch Service

Odjemalec Zunanji sistem

Blobstore Datastore

Memcache

Page 54: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

54

Programski modeli

Model računalništva v oblaku:

• Windows Azure:

107

Aplikacija

Web role Worker role VM role

Odjemalec Zunanji sistem

AppFabric Service Bus

AppFabric Caching

SQL Azure

Azure Storage

Aplikacija

Aplikacija

Web role

SQL Azure

AppFabric Service Bus

Odjemalec Zunanji sistem

Worker role

VM role

Azure Storage

AppFabric Caching

Programski modeli

Model računalništva v oblaku:

• Force.com:

108

Aplikacija

Aplikacija

Apex izvajalno okolje

Force.com Database

Force.com Web Services

Odjemalec Zunanji sistem

Page 55: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

55

Življenjski cikel razvoja aplikacij na PaaS

SDLC na PaaS:

109

Lokalno Lokalno

Razvoj aplikacije Upravljanje verzij in nadzor

kode

Gradnja in testiranje - Orodja za razvoj - Orodja za Unit testiranje

Gradnja in testiranje - Orodja za razvoj - Orodja za Unit testiranje

Postavi - Spletni portal - CLI orodja - SDK-ji in vtičniki za razvojna orodja

Postavi - Spletni portal - CLI orodja - SDK-ji in vtičniki za razvojna orodja

V oblaku V oblaku

Postavitev in izdaja

Upravljanje in spremljanje storitev

Sistemsko testiranje

Sistemsko testiranje

Izdaja v produkcijo

Izdaja v produkcijo

UAT

Prenos v produ-kcijo

Smoke test

Integra-cijski test Upra-

vljanje

Spre-mljanje

Nasta-vitve

Izdaja verzije

Odpravljanje hroščev

Življenjski cikel razvoja aplikacij na PaaS

Testiranje aplikacije v oblaku je smiselno opraviti v treh fazah:

110

• Lokalno testiranje aplikacije znotraj emulatorjev.

• Uporaba lokalne podatkovne shrambe.

Lokalno

• Lokalno testiranje aplikacije znotraj emulatorjev.

• Uporaba podatkovne shrambe v oblaku.

Hibridno • Testiranje aplikacije v

oblaku.

• Uporaba podatkovne shrambe v oblaku.

V oblaku

Page 56: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

56

111

Java EE 7 in oblak – JSR 342

Podpora za delovanje aplikacij v PaaS okoljih

Zasebnih in javnih oblakov

Podpora večnajemniškemu modelu

Podpora elastičnosti

Bolj natančne zahteve za vire in upravljanje stanja

Boljša izolacija med aplikacijami

Standardni APIji na ne-RDBMS, medpomnjenje,

itd.

Enotni vmesniki za upravljanje in nadzor

Boljše pakiranje aplikacije / modularnost

112

Java v oblaku

Aplikacija

PaaS

IaaS

Virtualizacija

Upravljanje stanj, elastičnost, …

Java storitve

Trajnost podatkov

Storitveno vodilo, sporočilni sistem, …

Aplikacija Aplikacija Aplikacija

UPRAVLJANO

OKOLJE

Page 57: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

57

113

Modularnost v Java EE 7

Bo temeljila na modularnosti Java SE 8

Aplikacije sestavljene iz modulov

SCA

Odvisnosti so eksplicitne

Vgrajeno verzioniranje

Izboljšani nalagalniki razredov

114

Ostale novosti v Java EE 7

Java Persistence API 2.1 – JSR 338

JAX-RS 2.0 – JSR 339

Servlets 3.1 – JSR 340

Expression Language 3.0 – JSR 341

Java EE 7 – JSR 342

Java Message Service 2.0 – JSR 343

Java Server Faces 2.2 – JSR 344

EJB 3.2 – JSR 345

CDI 1.1 – JSR 346

JCache – JSR 107

Bean Validation 1.1 – JSR 349

...

Page 58: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

58

Podatkovna shramba v oblaku

Uvod:

• Pod podatkovno shrambo v oblaku je smiselno obravnavati štiri možnosti:

– Objektna shramba statičnih podatkov (BLOBs)

– Relacijska podatkovna baza

– Distribuirano predpomnjenje

– NoSQL podatkovna baza

115

Podatkovna shramba v oblaku

Distribuiran datotečni sistem (Objektna shramba):

• Predstavlja datotečni sistem, ki omogoča dostop do datotek v distribuiranem, večnajemniškem (multi-tenant) okolju preko omrežja.

• Primeri:

– Windows Azure Storage blobs

– Amazon Simple Storage Service (S3)

– Google File System

– Hadoop Distributed File System (HDFS)

– XtreemFS

– GlusterFS

– Eucalyptus Walrus

– OpenStack Object Storage (Swift)

– Nimbus - Cumulus Storage Service

116

Page 59: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

59

Podatkovna shramba v oblaku

Relacijska baza v oblaku:

• Gre za relacijsko bazo, ki je dostavljena kot storitev v oblaku.

• Primeri:

– Amazon RDS

– SQL Azure

– Google Cloud SQL

– Oracle Database Cloud Service

– IBM DB2 for Private Cloud

– Drizzle

117

Podatkovna shramba v oblaku

Distribuirano predpomnjenje:

• Ponuja predpomnjenje podatkov, da bi pospešili performanco visoko-skalabilnih sistemov.

• Primeri:

– Gemstone Gemfire

– IBM Webpshere eXtreme Scale

– Gigaspaces

– IBM Webpshere eXtreme Scale

– Infinispan

– Memcached

– Ncache

– Oracle Coherence

– Terracotta for Web Sessions

– Hazelcast

118

Page 60: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

60

Podatkovna shramba v oblaku

NoSQL podatkovne baze: • Definicija NoSQL še zmeraj ni popolnoma razjasnjena. V literaturi

sicer zasledimo dve možni interpretaciji: – Not Only SQL

– Not Relational

• Ključne karakteristike NoSQL: – Zmožnost horizontalnega skaliranja operacij (read/write) med več

strežniki.

– Zmožnost replikacije in distribucije podatkov med več strežniki.

– Preprost vmesnik ali protokol (kot nasprotje SQL binding-a).

– Šibak model sočasnega izvajanja (kot nasprotje ACID transakcijam večine SUPB).

– Učinkovita uporaba distribuiranih indeksov in RAM-a za podatkovno hrambo.

– Zmožnost dinamičnega dodajanja novih atributov k zapisom podatkov.

– ACID (Atomic, Consistent, Isolated, Durable) -> BASE (Basic Availability, Soft state, Eventual consistency)

119

Podatkovna shramba v oblaku

NoSQL podatkovne baze:

• V kontekstu NoSQL baz običajno velja t.i. CAP teorem in pravi, da sta lahko v distribuiranem okolju zagotovljena zgolj 2 izmed 3 atributov:

• Consistency – vsi vozlišča vidijo iste podatke ob istem času.

• Availibility – vsak odjemalec lahko zmeraj piše/bere.

• Partition-tolerance – sistem ne preneha delovati v primeru izgub sporočil med dvema ali več vozlišči (npr. napaka omrežja).

• Večina NoSQL sistemov ovrže ravno konsistenco.

• NoSQL baze lahko klasificiramo glede na naslednje podatkovne modele: • „Key-value“ baze – sistem hrani indeksirane podatke, ki jih pridobimo glede

na njihov ključ.

• Dokumentno usmerjene – hranijo in organizirajo podatke kot zbirke dokumentov (JSON, XML), raje kot strukturirane tabele z enotno velikostjo polj za vsak zapis.

• Stolpično usmerjene – namesto shranjevanja podatkov v strukturirane tabele stolpcev in vrstic z fiksno dolžino atributov, stolpčno usmerjene baze vsebujejo razširljive stolpce.

• Baze, ki temeljijo na grafih – baze, kjer podatke hranimo v obliki grafov.

120

Page 61: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

61

Podatkovna shramba v oblaku

NoSQL podatkovne baze:

121

A

P C

Availability, Partition-tolerance:

• Dynamo • Voldemort • Cassandra

• SimpleDB • CouchDB • Riak

Consistency, Availability:

• RDBMS (MySQL, Postgres, DB2, …) • Vertica (stolpično usmerjena)

Consistency, Partition-tolerance:

• BigTable • Hypertable • HBase

• MongoDB • Terrastore • Redis

• Scalaris • MemcacheDB • Berkeley DB

Podatkovna shramba v oblaku

NoSQL podatkovne baze:

• Primeri „Key-value“ baz:

– Windows Azure Table Storage

– Oracle NoSQL Database

– Voldemort (temelji na Dynamo)

– Amazon Dynamo

– Riak (temelji na Dynamo)

– Membase

– Redis

– Berkeley DB

– MemcacheDB

– Scalaris

– Tokyo Cabinet / Tyrant

122

Page 62: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

62

Podatkovna shramba v oblaku

NoSQL podatkovne baze:

• Primeri dokumentno usmerjenih baz:

– SimpleDB (uporablja Amazon S3)

– CouchDB

– MongoDB

– Terrastore

– ThruDB

– OrientDB

– RavenDB

– IBM Lotus Domino

123

Podatkovna shramba v oblaku

NoSQL podatkovne baze:

• Primeri stolpično usmerjenih baz:

– Cassandra (Bigtable + Dynamo)

– Hbase (temelji na BigTable)

– PNUTs (ni komercialno na voljo - Yahoo)

– BigTable (ni komercialno na voljo - Google)

– Hypertable (temelji na BigTable)

– HBase (uporablja Hadoop)

124

Page 63: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

63

Podatkovna shramba v oblaku

NoSQL podatkovne baze:

• Primeri baz, ki temeljijo na grafih:

– Neo4J

– Infinite Graph

– Sones

– InfoGrid

– HyperGraphDB

– Trinity

– AllegroGraph

– Bigdata

– DEX

– AllegroGraph

– FlockDB

125

Podatkovna shramba v oblaku

NoSQL podatkovne baze:

• Apache Cassandra:

– Gre za odprtokodni projekt, ki ga leta 2008 navzven odprl Facebook.

– Visoko-skalabilna in distribuirana podatkovna baza, ki predstavlja kombinacijo Amazon Dynamo (distribuirana arhitektura) in Google Bigtable (stolpično usmerjena baza).

– Lastnosti:

o Simetrična baza:

× Ni enojne točne za napako (Single Point Of Failure)

× Linearno skalabilna

× Enostavna administracija

o Fleksibilno particioniranje in menjava replik

o Automatizirano oskrbovanje

o Visoka stopnja razpoložljivosti (Morebitna konsistenca)

– Osnovno enoto hrambe prestavlja stolpec.

– CAP teorem: AP (razpoložljiva in odporna na particije).

126

Page 64: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

64

Podatkovna shramba v oblaku

NoSQL podatkovne baze:

• Apache CouchDB:

– Gre za odprto-kodno bazo nad katero lahko izvajamo poizvedbe in indeksiranje z uporabo JavaScripta (MapReduce).

– Nima sheme in je dokumentno usmerjena.

– Ponuja inkrementalno replikacijo z dvosmerno detekcijo konfliktov.

– Ponuja RESTful JSON API.

– Napisa je v programskem jeziku Erlang (funkcijski jezik, idealen za izdelavo sočasnih distribuiranih sistemov).

– Operacije branja uporabljajo MVCC (Multi-Version Concurrency Control) model, pri čemer vsak odjemalec vidi konsistenten posnetek celotne operacije branja.

– Dokument v kontekstu CouchDB predstavlja objekt, ki se sestoji iz poimenovanih polij (Stringi, števila, datumu, urejeni seznami, …).

– Podpira vse ACID (Atomic Consistent Isolated Durable) lastnosti.

– CAP teorem: AP (razpoložljiva in odporna na particije).

127

Podatkovna shramba v oblaku

NoSQL podatkovne baze:

• Azure Table Storage (Key-value):

– Za razliko od prejšnjih dveh je ta komercialna.

– Gre za „Key-value“ podatkovno bazo, pri čemer pare (ključ-vrednost) imenujemo lastnosti.

– Je brez sheme, kar omogoča, da so lastnosti vsake entitete v tabeli med seboj različne.

– Predstavlja eno izmed Windows Azure Storage komponent (Blobi, Tabele in Vrste).

– Podatke, ki hrani posamezna tabela so shranjeni v skupini entitet, ki vsebujejo lastnosti.

– Namesto klasičnih SQL poizvedb, tukaj uporabljamo poizvedbe z uporabo konvencij, definiranih s strani OData.

– Takšna struktura omogoča hitro skaliranje med več virtualnih strojev.

– Dostopen preko REST API-ja.

– CAP teorem: AP (razpoložljiva in odporna na particije).

128

Page 65: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

65

AWS Elastic Beanstalk

Uvod:

• Omogoča hitro postavitev in upravljanje aplikacij ne da bi morali skrbeti za spodaj-ležečo infrastrukturo. AWS Elastic Beanstalk skrbi za postavitvene podrobnosti, oskrbovanje kapacitet, izenačevanje obremenitev, avtomatično skaliranje in spremljanje zdravja aplikacij.

• AWS Elastic Beanstalk je sestavljen in številnih komponent, ki delujejo skupaj, da bi omogočili enostavno postavitev in upravljanje aplikacij v oblaku:

– Aplikacijska komponenta.

– Komponenta verzij.

– Komponenta okolja.

– Komponenta konfiguracije okolja.

– Komponenta konfiguracijske predloge.

129

AWS Elastic Beanstalk

Arhitektura:

130

Elastic Beanstalk aplikacija

Okolje Okolje

Verzija Verzija

S3 vedro

http://moja-aplikacija.elasticbeanstalk.com/

Elastic Load Balancer Elastic Load Balancer

Apache Apache

Tomcat

Tomcat

Amazon Linux AMI Amazon Linux AMI

EC2 instance EC2 instance EC2 instance EC2 instance EC2 instance EC2 instance Auto Scaling

Izvajana aplikacija

Elas

tic

Bea

nst

alk

Ho

st

Man

ager

El

asti

c B

ean

stal

k H

ost

M

anag

er

Page 66: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

66

AWS Elastic Beanstalk

Arhitektura:

Aplikacijska komponenta:

• Predstavlja logično kolekcijo komponent, kot so okolja, verzije ter konfiguracije.

Komponenta verzij:

• Predstavlja specifično, označeno iteracijo postavljene kode. Verzija kaže na Amazon S3 objekt, ki vsebuje postavljeno kodo (npr. Javansko WAS datoteko). Aplikacija lahko ima več verzij.

Komponenta okolja:

• Predstavlja verzijo, ki je postavljena na virih AWS. Okolje lahko ima le eno verzijo istočasno, vendar je lahko prisotnih več simultanih okolij, ki izvajajo isto ali različne verzije.

• AWS viri znotraj okolja vključujejo izenačevalca obremenitev, Auto Scaling skupino ter eno ali več EC2 instanc.

131

AWS Elastic Beanstalk

Arhitektura:

Komponenta konfiguracije okolja:

• Zadolžena za identifikacijo kolekcije parametrov in nastavitev, ki definirajo obnašanje okolja in asociiranih virov. Ob posodobitvi nastavitev okolja, AWS Elastic Beanstalk avtomatično aplicira spremembe k obstoječim virom ali izbriše in postavi nove vire.

Komponenta konfiguracijske predloge:

• Konfiguracijska predloga omogoča izdelavo unikatne konfiguracije okolja. Lahko jih izdelamo oziroma modificiramo s pomočjo komandne vrstice ali API-jev.

132

Page 67: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

67

AWS Elastic Beanstalk

Upravljanje:

• Spremljanje porabe in izvajanja.

• Upravljanje opozoril.

• Upravljanje z avtomatičnim skaliranjem.

• Upravljanje verzij in logiranja.

• Spremljanje virov (EC2, ELB, S3, CloudWatch)

• Orodja:

– Eclipse razširitve

– AWS upravljavska konzola.

Namestitveni modeli:

133

P J H

RedHat OpenShift

Uvod:

• Storitev, ki omogoča razvoj, izvajanje in postavitev aplikacij med več oblaki in z uporabo različnih ogrodij in programskih jezikov.

• Trenutno je sestavljen iz dveh storitev: Flex in Express.

134

Page 68: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

68

RedHat OpenShift

Arhitektura:

135

RedHat OpenShift RedHat OpenShift

Amazon EC2 infrastruktura Amazon EC2 infrastruktura

Express Express Flex Flex

RedHat OpenShift

Arhitektura:

OpenShift Express • Brezplačna aplikacijska platforma za Ruby, Perl, PHP in Python

aplikacije.

• Uporablja Git sistem za dodajanje in postavitev aplikacij na OpenShift Express (takšen sistem omogoča nadzor verzij).

• Uporablja CLI (Command Line Interface) orodja za postavitev in upravljanje aplikacij v oblaku.

OpenShift Flex • Brezplačna aplikacijska platforma za Java EE in PHP aplikacije.

• Ponuja grafični uporabniški vmesnik za izdelavo, postavitev, upravljanje in spremljanje oblaka in aplikacije.

• Na voljo so orodja za spremljanje performance, izvedbo analize logov ter zagotavljanje avtomatične skalabilnosti.

• Postavljen na Amazon EC2 infrastrukturi.

136

Page 69: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

69

RedHat OpenShift

Upravljanje:

• Upravljanje z nastavitvami virtualnih strojev.

• Upravljanje z aplikacijami in podatki.

• Spremljanje porabe in izvajanja.

• Upravljanje skaliranja.

• Upravljanje verzij (Git sistem).

• Orodja:

– CLI orodja – postavitev in upravljanje aplikacij v oblaku.

– GUI za izdelavo, postavitev, upravljanje in spremljanje oblaka in aplikacije.

Namestitveni modeli:

137

P J H

Windows Azure platforma

Uvod:

Windows Azure platforma je sestavljena iz štirih tehnologij:

• Windows Azure,

• SQL Azure,

• Windows Azure AppFabric,

• Windows Azure Marketplace.

Komponente lahko uporabljamo skupaj ali posamično.

138

Page 70: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

70

Windows Azure platforma

Arhitektura:

139

Windows Azure Windows Azure

Windows Azure AppFabric

Windows Azure AppFabric

SQL Azure SQL Azure

Aplikacije in podatki

Windows Azure Marketplace

Windows Azure Marketplace

Windows Azure platforma

Arhitektura:

Windows Azure: • Okolja za izvajanje aplikacij in shrambo podatkov na strežnikih znotraj Microsoft-

ovih podatkovnih centrih. Storitev je sestavljena iz petih komponent: – Compute – skrbi za izvajanje aplikacij na Windows Server strežnikih.

– Storage – omogoča shrambo treh tipov podatkov (blob-ov, tabel in vrst).

– Fabric controller – programska oprema, ki upravlja in spremlja izvajane aplikacije ter računalniške vire.

– Content Delivery Network (CDN) – predpomnjenje najpogosteje uporabljenih podatkov blizu končnega uporabnika.

– Connect – omogoča obravnavo aplikacij, kot da bi bile znotraj požarnega zidu organizacij, ki do njih dostopajo.

SQL Azure: • Omogoča delo z relacijsko podatkovno bazo v oblaku. Storitev sestavljajo tri

komponente: – SQL Azure Database – predstavlja sistem za upravljanje s podatkovno bazo (SUPB) v

oblaku.

– SQL Azure Reporting – omogoča izdelavo standardnih SSRS poročil.

– SQL Azure Data Sync – omogoča sinhronizacijo podatkov med SQL Azure podatkovnimi bazami in lokalnimi SQL Server bazami.

140

Page 71: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

71

Windows Azure platforma

Arhitektura:

Windows Azure AppFabric: • Omogoča izdelavo infrastrukturnih storitev v oblaku. Storitev je

sestavljena iz treh komponent: – Service Bus – omogoča izpostavljanje končnih točk do katerih lahko

dostopajo druge aplikacije.

– Access Control – ponuja vgrajeno podporo za delo z identitetami.

– Caching – omogoča distribuirano predpomnjenje najpogosteje uporabljenih podatkov.

Windows Azure Marketplace: • Repozitorij aplikacij in nabora podatkov (datasets). Sestavljata ga dve

komponenti: – DataMarket – omogoča ponudnikom, da izpostavljajo dataset-e, do

katerih lahko dostopajo končni uporabniki.

– AppMarket – razvijalci lahko izpostavljajo svoje aplikacije potencialnim končnim uporabnikom.

141

Windows Azure platforma

Upravljanje:

• Upravljanje z virtualnimi stroji (spletne, delovne in VM vloge).

• Upravljanje s podatkovno shrambo (relacijska baza, NoSQL baza, blobi, sporočilne vrste).

• Spremljanje porabe in izvajanja.

• Upravljanje verzij.

• Orodja:

– Windows Azure portal – grafični administrativni vmesnik.

Namestitveni modeli:

142

P J H

Page 72: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

72

Google App Engine

Uvod:

• Gre za platformo kot storitev (PaaS) in omogoča izgradnjo in gostovanje spletnih aplikacij na Google-ovih podatkovnih centrih.

• Podpira aplikacije razvite v številnih programskih jezikih. Podprta so tri izvajalna okolja: Javansko izvajalno okolje, Python izvajalno okolje ter Go izvajalno okolje.

• Ključne arhitekturne komponente lahko razdelimo na tri dele: Izvajalno okolje, shrambo in ostale storitve.

143

Google App Engine

Arhitektura:

144

„Frontend“ „Frontend“

Datotečni strežniki

Datotečni strežniki

zehteva

Datastore Blobstore Memcache

URL Fetch URL Fetch Mail Mail

Images Images XMPP XMPP

Task Queues

Task Queues

Accounts Accounts

Aplikacijski strežniki

Aplikacijski strežniki

Page 73: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

73

Google App Engine

Arhitektura:

Izvajalno okolje:

• Omogoča dejansko izvajanje aplikacij. Trenutno podpira izvajalna okolja za Python, Javo in Go.

Shramba:

• Datastore – App Engine ne ponuja tradicionalne relacijske podatkovne baze temveč vpeljuje distribuirano in skalabilno Datastore bazo, ki temelji na BigTable.

• Blobstore – omogoča shranjevanje binarnih objektov, ki so veliko večji od podatkov dovoljenih znotraj Datastore baze.

• Memcache – omogoča predpomnjenje pogosto uporabljenih podatkov in je skladen z JCache specifikacijo (JSR 107).

145

Google App Engine

Arhitektura:

Storitve:

• URL Fetch – aplikacijam omogoča dostop do spletnih storitev (s pomočjo URL Fetch service storitvijo) in drugih podatkov na spletu.

• Mail – poštna storitev, ki omogoča pošiljanje in prejemanje e-poštnih sporočil.

• XMPP – analogno Mail storitvi, vendar gre za sistem za takojšnje sporočanje (Instant Messaging).

• Images – integrirana storitev za manipulacijo s slikami (povečanje, združevanje, pretvarjanje formatov, rotiranje, …).

• Task queues – vgrajena funkcionalnost za procesiranje iz ozadja (background processing).

• Accounts – omogoča integracijo z aplikacijami za uporabo avtentikacije uporabnikov.

146

Page 74: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

74

Google App Engine

Upravljanje:

• Upravljanje z virtualnimi stroji.

• Upravljanje s podatkovno shrambo (Datastore, Blobstore).

• Spremljanje porabe in izvajanja.

• Upravljanje verzij in logov.

• Orodja:

– Administrativna konzola – omogoča pregled nad realnočasovnimi podatki, logi, prometom, itn. Omogoča vpogled nad ternutno performanco postavljene aplikacije. Ponuja možnost postavitve nove verzije izvorne kode.

– Eclipse razširitve

Namestitveni modeli:

147

P J H

IBM PaaS

Uvod:

• IBM-ova PaaS rešitev obsega številne tehnologije, ki jih lahko razdelimo v štiri področja: Aplikacijske storitve, življenjski cikel aplikacij, integracijske storitve in „Workload“ storitve.

148

Page 75: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

75

IBM PaaS

Arhitektura:

149

Aplikacijske storitve Aplikacijske storitve

Življenjski cikel aplikacij Življenjski cikel aplikacij

Integracijske storitve Integracijske storitve

„Workload“ storitve „Workload“ storitve

IBM PaaS

Arhitektura:

Aplikacijske storitve:

• Storitve za kolaboracijo, analitiko in upravljanje poslovnih procesov. Produkti, ki so na voljo:

– IBM Smart Analytics Cloud for System z

– IBM Systems Director

– IBM Blueworks Live

Življenjski cikel aplikacije:

• Tehnologije, ki omogočajo kolaboracijo in avtomatizacijo razvoja aplikacij skozi celoten življenjski cikel:

– IBM Rational Collaborative Software Delivery Life Cycle Management Solutions on the Cloud

– IBM Rational Solutions for Cloud Development and Test

150

Page 76: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

76

IBM PaaS

Arhitektura:

Integracijske storitve:

• Omogoča integracijo podatkov, aplikacij in storitev z različnimi okolji oblaka:

– IBM WebSphere Cast Iron Cloud Integration

Workload storitve:

• Gre za storitve optimizacije zmogljivosti od aplikacijskih vzorcev, do vzorcev obremenitve, ki zagotavljajo QoS in razpoložljivost. Produkti, ki so na voljo:

– IBM Workload Deployer

– WebSphere Virtual Enterprise

– WebSphere Application Server

– IBM DB2 for Private Cloud

– IBM Informix Flexible Grid for Private Cloud

151

IBM PaaS

Upravljanje:

• Upravljanje z postavitvijo in izvajanjem aplikacij.

• Upravljanje s podatkovno shrambo.

• Upravljanje z repozitorijem slik.

• Spremljanje porabe in izvajanja.

• Upravljanje z življenjskim ciklom razvoja aplikacij.

• Upravljanje verzij.

• Orodja:

– Tivoli Service Automation Manager.

Namestitveni modeli:

152

P J H

Page 77: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

77

Oracle PaaS

Uvod:

• Oracle ponuja celovit nabor produktov za izgradnjo aplikacijske platforme PaaS, ki je na voljo kot storitev javnega ali privatnega modela računalništva v oblaku.

• Osnovan je na Oracle Grid tehnologijah za postavitev modela mrežnega računalništva.

• Produkte, ki omogočajo postavitev privatnega PaaS oblaka lahko razdelimo med 8 komponent: Podatkovna komponenta, aplikacijska komponenta, integracijska komponenta, komponenta upravljanja s procesi, varnostna komponenta, komponenta uporabniške interakcije ter deljene storitve.

153

Oracle PaaS

Arhitektura:

154

Deljene storitve Deljene storitve

Integracijska komponenta Integracijska komponenta

Aplikacijska komponenta Aplikacijska komponenta

Podatkovna komponenta Podatkovna komponenta

Komponenta upravljanja s

procesi

Komponenta upravljanja s

procesi

Varnostna komponenta

Varnostna komponenta

Komponenta uporabniške interakcije

Komponenta uporabniške interakcije

Aplikacija 1 Aplikacija 1 Aplikacija 2 Aplikacija 2 Aplikacija 3 Aplikacija 3

Upravljavska komponenta Upravljavska komponenta

Page 78: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

78

Oracle PaaS

Arhitektura:

Podatkovna komponenta:

• Oracle Database, RAC, ASM, Partitioning, IMDB Cache, Active Data Guard, Database Security.

Aplikacijska komponenta:

• WebLogic Server, Coherence, Tuxedo, JRockit.

Integracijska komponenta:

• Oracle SOA Suite – omogoča izdelavo ponovno uporabljivih komponent znotraj privatnega oblaka PaaS.

Komponenta upravljanja s procesi:

• Oracle BPM Suite – orodje za upravljanje s poslovnimi procesi.

155

Oracle PaaS

Arhitektura:

Varnostna komponenta:

• Identity Management – družina produktov, ki omogoča upravljanje z različnimi ponudniki identitet.

Komponenta uporabniške interakcije:

• WebCenter Suite – platforma za izdelavo spletnih aplikacij, portalov ter omrežij za socialno kolaboracijo.

Deljene storitve:

• Vključuje samopostrežni vmesnik in deljene komponente.

Upravljavska komponenta:

• Oracle Enterprise Manager – omogoča celovito upravljanje z življenjskim ciklom razvoja aplikacij.

156

Page 79: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

79

Oracle PaaS

Upravljanje:

• Upravljanje z postavitvijo in izvajanjem aplikacij.

• Upravljanje s podatkovno shrambo.

• Spremljanje porabe in izvajanja.

• Upravljanje z življenjskim ciklom razvoja aplikacij (Oracle Enterprise Manager).

• Upravljanje verzij.

• Orodja:

– Oracle Enterprise Manager – grafični administrativni vmesnik.

Namestitveni modeli:

157

P J H

VMware vFabric

Uvod:

• Platforma kot storitev (PaaS), ki je optimizirana za izvajanje Java Spring aplikacij.

• Podpira integracijo s Springsource Tool Suite (STS).

• Sestavljena je iz petih komponent:

– Strežniška komponenta.

– Podatkovna komponenta.

– Sporočilna komponenta.

– Komponenta za razporejanje bremena.

– Komponenta za upravljanje in spremljanje.

158

Page 80: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

80

VMware vFabric

Arhitektura:

159

Komponenta za razporejanje bremena (ERS) Komponenta za razporejanje bremena (ERS)

Strežniška komponenta (tc Server) Strežniška komponenta (tc Server)

Sporočilna komponenta (RabbitMQ)

Sporočilna komponenta (RabbitMQ)

Komponenta za upravljanje in spremljanje

(Hyperic)

Komponenta za upravljanje in spremljanje

(Hyperic)

Podatkovna komponenta (GemFire)

Podatkovna komponenta (GemFire)

VMware vFabric

Arhitektura:

Strežniška komponenta:

• VMware vFabric tc Server je osrednja komponenta VMware vFabric aplikacijske platforme PaaS. Tc Server v osnovi izhaja iz Apache Tomcat strežnika in mu dodaja značilnosti za prilagoditev poslovnega okolju, kot so dodane razvojne, operacijske in postavitvene zmogljivosti.

Podatkovna komponenta:

• VMware vFabric GemFire zagotavlja zavarovan, zanesljiv in skalabilen podatkovni nivo za gradnjo poslovnih aplikacij za oblak. Komponenta omogoča paralelno izvajanje podatkovno usmerjenih funkcionalnosti aplikacije nad porazdeljenim podatkovnim nivojem.

160

Page 81: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

81

VMware vFabric

Arhitektura:

Sporočilna komponenta:

• RabbitMQ je odprtokodna rešitev, ki omogoča delovanje sporočilnih sistemov v vFabric platformi. Zgrajena je z namenom zagotavljanja zanesljivega in robustnega sporočilnega sistema v porazdeljenem okolju. RabbitMQ je implementacija AMQP protokola (Advance Messaging and Queuing Protocol).

Komponenta za razporejanje bremena:

• Enterprise Ready Server (ERS) je komponenta, ki zajema spletni strežnik in komponento za razporejanje bremena. Zagotavlja celovito in centralizirano upravljanje Apache HTTP strežnika in Apache Tomcat okolja.

161

VMware vFabric

Arhitektura:

Komponenta za upravljanje in spremljanje:

• VMware vFabric Hyperic je nadzorna komponenta VMware vFabric aplikacijske platforme. Omogoča spremljanje razpoložljivosti in zmogljivostnih metrik postavljenih spletnih aplikacij. Omogoča avtomatizirano odkrivanje, dodajanje v repozitorij in pregled strežniških komponent, ne glede na tip in lokacijo.

• Arhitekturo upravljalnega sistema sestavljajo tri komponente:

– HQ Agent – komponenta, katero poganjamo na vseh strežniških instancah in je zadolžena za zbirajo metrik o razpoložljivosti, utilizaciji, performanci in metrik prepustnosti.

– HQ Server strežnik – prejema zajete metrike in druge podatke, ter jih shranjuje v HQ Database repozitorij v obliki podatkovne baze.

– HQ Database – omogoča mehanizem za izdelavo varnostnih kopij, obnove po incidentu, spremljanje delovanje baze, shrambo metrik, itn.

162

Page 82: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

82

VMware vFabric

Upravljanje:

• Upravljanje z izvajanjem in postavitvijo aplikacij.

• Upravljanje s podatkovno shrambo (relacijska baza, sporočilne vrste).

• Spremljanje porabe, razpoložljivosti in izvajanja.

• Upravljanje z repozitorijem slik.

• Upravljanje z opozorili.

• Orodja:

– VMware vFabric Hyperic – grafični administrativni vmesnik.

– HQ Dashboard – nadzorna plošča, kjer so zbrani podatki o spremembah inventarja komponent, informacije o težavah, zadnjih opozorilih in metričnih pregledih pomembnih virov.

Namestitveni modeli:

163

P J H

WMware Cloud Foundry

Uvod:

• Zastonjska in odprtokodna platforma kot storitev, ki ponuja različna ogrodja, podpira več ponudnikov oblaka in številne aplikacijske storitve.

• Cloud Foundry je ponujen uporabnikom v treh oblikah:

– CloudFoundry.com – popoln, večnajemniško PaaS okolje, ki je gostovano in upravljano s strani VMware. Izvaja se na vSphere platformi in podpira razvoj Spring za javanske aplikacije, Rails in Sinatra za Ruby aplikacije, Node.js ter Grails aplikacije.

– CloudFoundry.org – odprtokodni projekt, ki ga vzdržuje in razvija skupnost pod Apache License 2.0. Je IaaS agnostična platforma (vSphere, OpenStack, AWS in Eucalyptus).

– Cloud Foundry mikro oblak – enojna razvijalska instanca, ki omogoča osebni PaaS na lastnih namizjih. Ponujen je kot prenosljiva slika

• Arhitektura Cloud Foundry platforme se sestoji iz šestih komponent.

164

Page 83: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

83

WMware Cloud Foundry

Arhitektura:

165

Nadzornik oblaka (CC) Nadzornik

oblaka (CC) DEA DEA DEA DEA DEA DEA

Sporočilno vodilo

Storitve Storitve Storitve Storitve

Storitve Storitve Storitve Storitve Usmerjevalniki Usmerjevalniki

Upravljavec zdravja

… Razvijalec

WMware Cloud Foundry

Arhitektura:

Droplet izvajalni agent (DEA): • Zadolžen za izvajanje dropletov. Vsebuje vse objekte, ki sestavljajo

aplikacijo in so organizirani kot tar datoteke ter ovite z parom start/stop skripte. DEA se izvaja na vsakem izmed vozlišč in je zadolžena za izvajanje aplikacije na tem vozlišču.

Nadzornik oblaka (CC): • Vmesnik namenjen razvijalcem za dostop do Cloud Foundry

platforme. CC je zadolžen za pakiranje aplikacije v Droplet in obvesti sporočilno vodilo, da je na voljo aplikacija za izvajanje.

Usmerjevalniki: • Platforma ima bazen identičnih usmerjevalnikov. Le-ti prejmejo

aplikacijske zahteve od zunanjih entitet in jih usmerjajo do naslovljenih aplikacij. Zahteve uporabnikov so usmerjene k enemu izmed usmerjevalnikov s strani izenačevalca obremenitev. Usmerjevalni nato preusmeri zahtevo k ustrezni aplikaciji.

166

Page 84: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

84

WMware Cloud Foundry

Arhitektura:

Upravljavec zdravja:

• Zadolžen za zanesljive operacije platforme. Periodično skenira podatkovno bazo CC komponente, da bi ugotovil kakšno je stanje oblaka.

Storitve:

• Gre za nabor storitev, kot so sporočanje, predpomnjenje in storitve podatkovne baze (MySQL).

Sporočilno vodilo:

• Ponuja mehanizem preko katerega komunicirajo komponente Cloud Foundry platforme.

167

WMware Cloud Foundry

Upravljanje:

• Upravljanje z oskrbovanjem instanc.

• Upravljanje z opozorili.

• Spremljanje stanja aplikacij.

• Upravljanje z življenjskim ciklom razvoja aplikacij.

• Orodja:

– Spletni portal za upravljanje in nadzor.

Namestitveni modeli:

168

P J H

Page 85: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

85

Force.com

Uvod:

• Ponuja platformo kot storitev za izdelavo in postavitev poslovnih aplikacij.

• Ponuja vgrajene mobilne in socialne funkcionalnosti, poslovne procese, poročanje, iskanje, itn.

• Ponudnik platforme skrbi za varnost, skalabilnost ter izdelavo varnostnih kopij.

• Platforma je sestavljena iz sedmih komponent:

– Infrastrukture.

– Podatkovne baze.

– Integracije.

– Logike.

– Uporabniškega vmesnika.

– Razvojnih orodij.

– AppExchange komponente.

169

Force.com

Arhitektura:

170

AppExchange AppExchange

Uporabniški vmesnik Uporabniški vmesnik

Logika Logika

Integracija Integracija

Podatkovna baza Podatkovna baza

Infrastruktura Infrastruktura

Raz

vojn

a o

rod

ja

Raz

vojn

a o

rod

ja

Page 86: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

86

Force.com

Arhitektura:

Infrastruktura:

• Predstavlja okolje za postavitev in izvajanje aplikacij. Sestavlja jo napreden in upravljan podatkovni center, ki uporablja sodobne tehnologije varnosti.

Podatkovna baza:

• Zgrajena na temeljih Force.com infrastrukture. Omogoča izdelavo metapodatkov, ki opisujejo objekte podatkovne baze, kot so tabele in polja.

Integracija:

• Platforma ponuja storitev za integracijo aplikacij z viri in aplikacijami, ki se nahajajo v lokalnih podatkovnih centrih in podatkovnih centrih drugih ponudnikov. Za te namene platforma ponuja Force.com Web Services API (podpira integracijo z Amazon Web Services, Facebook, in Google Apps).

171

Force.com

Arhitektura:

Logika:

• Platforma omogoča avtomatizacijo poslovnih procesov. Workflow Engine omogoča ponovno uporabljive procese, kot so izdelava opravil, dodelitev opravil, časovne akcije ter dogodkovno gnano integracijo sistema. Naštete komponente je možno uporabiti pri poslovni logiki aplikacije.

Uporabniški vmesnik:

• Platforma ponuja dve možnosti za izdelavo GUI-ja:

– Force.com builder – preprost vmesnik za izgradnjo in modificiranje uporabniškega vmesnika.

– Visualforce – popolno ogrodje za izdelavo poljubnega grafičnega vmesnika za katerokoli napravo in aplikacijo.

172

Page 87: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

87

Force.com

Arhitektura:

Razvojna orodja:

• Ponuja številna orodja in API-je za razvoj, postavitev in integracijo informacijskih sistemov (Force.com Metadata API, Force.com Integrated Development Environment (IDE), Force.com Sandbox ter Force.com Code Share).

AppExchange:

• Predstavlja portal, ki povezuje razvijalce aplikacij in potencialne kupce in uporabnike. Omogoča objavo certificiranih aplikacij s strani razvijalcev in na drugi strani najem aplikacij s strani končnih uporabnikov.

173

Force.com

Upravljanje:

• Upravljanje s podatkovno shrambo (relacijska baza).

• Spremljanje porabe in izvajanja aplikacij.

• Upravljanje življenjskega cikla razvoja aplikacij.

• Upravljanje s poslovnimi procesi.

• Upravljanje verzij.

• Orodja:

– Nadzorna plošča za upravljanje.

Namestitveni modeli:

174

P J H

Page 88: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

88

CloudBees

Uvod:

• Ponuja platformo kot storitev (PaaS) in omogoča razvoj, testiranje, postavitev in izvajanje javanskih spletnih aplikacij v oblaku.

• Sestavljata jo dve temeljni komponenti RUN@cloud ter DEV@cloud.

• Gre za IaaS agnostično platformo, saj lahko izbiramo med številnimi ponudniki infrastrukture kot storitve.

• Ponuja „failover“ in HA podporo.

• Za razvoj, postavitev in testiranje uporablja platforma Jenkins Continuous Integration strežnik.

175

CloudBees

Arhitektura:

176

DEV@cloud DEV@cloud

Testiraj Testiraj

Izgradi Izgradi

Shrani Shrani

Git Git SVN SVN Maven Maven

RUN@cloud RUN@cloud

Testiraj Testiraj

Kontinuirana postavitev Kontinuirana postavitev PaaS, ki temelji

na JVM PaaS, ki temelji

na JVM

Storitve Storitve

MySQL MySQL HA HA … …

Jenkins strežnik Jenkins strežnik

CloudBees Ekosistem - razširitve CloudBees Ekosistem - razširitve

HTTP API-ji, CLI, grafični UI, vtičnik za Eclipse, Vtičnik za Maven, Ant HTTP API-ji, CLI, grafični UI, vtičnik za Eclipse, Vtičnik za Maven, Ant

Page 89: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

89

CloudBees

Arhitektura:

DEV@Cloud:

• Ponuja nabor storitev za podporo celotnega življenjskega cikla razvoja aplikacij v oblaku.

• Ponuja naročniško storitev za Jenkins strežnike, ki se izvajajo v oblaku.

• Podpira privatne in varovane Maven repozitorije.

• Ponuja upravljavske funkcije za varno administracijo privilegijev in pravil dostopa razvojne ekipe.

• Omogoča uporabo SVN in Git repozitorijev.

177

CloudBees

Arhitektura:

RUN@Cloud:

• Omogoča postavitev Javanskih aplikacij v oblak.

• Ponuja izenačevanje obremenitev, avtomatično skalabilnost ter visoko razpoložljivost (HA) za spletne aplikacije, Java EE ter Spring aplikacije.

• Ponuja storitve za zagotavljanje failover mehanizma, merjenja in zaračunavanja.

• Ponuja RUN@cloud SDK kot kolekcijo orodij za razvoj in postavitev aplikacij na lokalnih računalnikih.

• Za upravljanje RUN@cloud storitev ponuja RUN@cloud API.

• Postavitev aplikacij je možna iz različnih okolij (UI, Eclipse, CLI, REST, Maven, Ant).

178

Page 90: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

90

CloudBees

Upravljanje:

• Upravljanje z virtualnimi stroji.

• Upravljanje s podatkovno shrambo (relacijska MySQL baza).

• Spremljanje porabe in izvajanja.

• Upravljanje z failover mehanizmom in visoko razpoložljivostjo.

• Upravljanje avtomatične skalabilnosti.

• Upravljanje verzij.

• Orodja:

– Nadzorna plošča za upravljanje in nadzor v obliki spletnega portala.

Namestitveni modeli:

179

P J H

CumuLogic

Uvod:

• Predstavlja platformo kot storitev za razvoj Javanskih in Spring aplikacij za oblak.

• Je IaaS agnostična platforma, saj ponuja možnost izbire med številnimi infrastrukturnimi produkti (Amazon EC2, VMware, Eucalyptus, OpenStack, itn.).

• Platforma se sestoji iz desetih ključnih komponent.

180

Page 91: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

91

Ogrodje za avtomatizacijo storitev Ogrodje za avtomatizacijo storitev

CumuLogic

Arhitektura:

181

Strežnik podatkovne baze (SQL ali NoSQL) Strežnik podatkovne baze (SQL ali NoSQL)

API za integracijo z IaaS nivojem API za integracijo z IaaS nivojem

RESTfu

l AP

I R

ESTful A

PI

Komponenta za avtomatično skaliranje

Komponenta za avtomatično skaliranje

Komponenta za spremljanje

zmogljivosti in analitiko

Komponenta za spremljanje

zmogljivosti in analitiko

Komponenta za upravljanje z viri Komponenta za upravljanje z viri

Komponenta za upravljanje z uporabniki

Komponenta za upravljanje z uporabniki

Sporočilne vrste Sporočilne vrste Integracija Integracija

Aplikacijski strežnik Aplikacijski strežnik

Spletni strežnik Spletni strežnik Izenačevalec obremenitev Izenačevalec obremenitev

Ogrodje vtičnik Ogrodje vtičnik

Katalog storitev v oblaku Katalog storitev v oblaku

Eclipse IDE, Dev Tools vtičniki

Eclipse IDE, Dev Tools vtičniki

CLI CLI

Administrativna konzola

Administrativna konzola

CumuLogic

Arhitektura:

API za integracijo z IaaS nivojem: • Omogoča integracijo z različnimi IaaS ponudniki, kot so VMware,

Cloud.com, Eucalyptus, OpenStack in Amazon EC2.

Ogrodje za avtomatizacijo storitev: • Vključuje izenačevalca obremenitve, spletni strežnik, aplikacijski

strežnik, sporočilne vrste, relacijsko in NoSQL bazo.

Komponenta za avtomatično skaliranje: • Vgrajen mehanizem za avtomatično skaliranje omogoča aplikacijam,

da skalirajo in vzdržujejo želeno stopnjo performance. CumuLogic mehanizem za avtomatično skaliranje prejme metrike iz nivoja operacijskega sistema, infrastrukturnega nivoja, JVM nivoja in aplikacijskega nivoja, da bi zadovoljil potrebe po skaliranju.

Komponenta za spremljanje zmogljivosti in analitiko: • Platforma podpira vgrajen mehanizem za spremljanje celotnega

sklada platforme in aplikacije.

182

Page 92: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

92

CumuLogic

Arhitektura:

Komponenta za upravljanje z viri: • Omogoča administratorjem, da definirajo minimalno in maksimalno

število vozlišč v vsaki gruči z razlogom, da bi aplikacija ustregla SLA zahtevam in skladno z njimi skalirala.

Komponenta za upravljanje z uporabniki: • Omogoča nadzor nad pravicami uporabnikov glede na funkcionalne

vloge PaaS okolja.

Ogrodje vtičnik: • S pomočjo ogrodja vtičnik smejo razvijalci dodajati v katalog

poljubne strežnike in jih deliti z ostalimi razvojnimi ekipami.

Katalog storitev v oblaku: • Ponuja testirane infrastrukturne komponente za privatni in javni

oblak. Razvijalci lahko dodajajo v katalog nove strežniške slike ali programsko opremo.

183

CumuLogic

Arhitektura:

RESTful API:

• Razvijalcem daje nadzor nad postavitvijo aplikacij in omogoča integracijo z razvojnimi orodji.

Razvojna orodja:

• S pomočjo CumuLogic vtičnika za Eclipse lahko Java razvijalci postavijo in upravljajo aplikacijo neposredno iz razvojnega okolja.

184

Page 93: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

93

CumuLogic

Upravljanje:

• Upravljanje z oskrbovanjem instanc.

• Upravljanje konfiguracij.

• Upravljanje s podatkovno bazo (MySQL gruča).

• Spremljanje porabe in izvajanja aplikacij ter platforme.

• Upravljanje z življenjskim ciklom razvoja aplikacij.

• Upravljanje avtomatične skalabilnosti in SLA-jev.

• Upravljanje uporabnikov/vlog in politike.

• Orodja:

– Samopostrežni spletni portal

– CLI orodja.

Namestitveni modeli:

185

P J H

AppScale

Uvod:

• Predstavlja odprtokodno platformo kot storitev, ki implementira številne API-je, kot so Google App Engine, MapReduce (preko Hadoop), MPI in druge.

• AppScale se izvaja kot gostovan virtualni stroj (guestVM) na vseh slojih virtualizacije, ki lahko gostiijo Ubuntu Karmic sliko.

• Trenutno sta podprta dva hipervizorja: Xen in KVM.

• AppScale avtomatično postavlja aplikacije na Amazon EC2 javni oblak ter Eucalyptus privatni oblak.

• Platformo sestavlja pet ključnih komponent: AppController (AC), AppLoadBalancer (ALB), AppServer (AS), komponenta upravljanja podatkov ter AppScale orodja.

186

Page 94: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

94

AppScale

Arhitektura:

187

ALB ALB DBM DBM

DBS DBS DBS DBS

DBS DBS AS AS

Razvijalec GAE aplikacij

(AppScale admin)

Razvijalec GAE aplikacij

(AppScale admin)

Uporabnik GAE aplikacij

Uporabnik GAE aplikacij

AS AS AS AS

AppScale orodja

AppController (AC)

HTTPS

AppScale

Arhitektura:

AppController (AC)

• Izvaja se na vsakem vozlišču in se zažene ob vsakem dvigu virtualnega stroja. AC v čelnem vozlišču je zadolžen za spremljanje postavitve in avtomatično skaliranje.

AppLoadBalancer (ALB)

• Zadolžen za distribucijo zahtevkov s strani uporabnika do posamezne AS komponente GAE aplikacije. Uporabniki običajno vzpostavijo stik z ALB ob prijavi in avtentikaciji.

AppServer (AS)

• Omogoča izvajanje GAE aplikacij na Xen gručah znotraj izbranega javnega oblaka (Amazon EC2 ali Eucalyptus).

188

Page 95: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

95

AppScale

Arhitektura:

Komponenta upravljanja podatkov

• Za upravljanje s podatki je zadolžen PBServer in skrbi za komunikacijo z podprtimi podatkovnimi bazami. Deluje nad DBM (Database Master) in DBS (Database Slave) komponentami.

• AppScale trenutno podpira številne podatkovne baze: Cassandra, HBase, Hypertable, MongoDB, MemcacheDB, Scalaris, SimpleDB, MySQL Cluster in Voldemort.

AppScale orodja

• Omogočajo izdelavo AppScale instance in postavitev GAE aplikacij na odprtokodno platformo.

– Amazon’s EC2 tools for AWS.

189

AppScale

Upravljanje:

• Upravljanje z virtualnimi stroji.

• Upravljanje s podatkovno shrambo (relacijska baza, NoSQL baza, blobi).

• Spremljanje porabe in izvajanja aplikacij.

• Upravljanje življenjskega cikla razvoja aplikacij.

• Upravljanje z varnostnimi kopijami.

• Orodja:

– CLI orodja.

Namestitveni modeli:

190

P J H

Page 96: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

96

PROGRAMSKA OPREMA KOT STORITEV

Definicija

Zmožnost izvajanja aplikacije v infrastrukturi oblaka pri čemer je le-ta dostopna več odjemalcem (spletni brskalnik, mobilne in tablične naprave, …). Uporabnik pri tem ne rabi skrbeti za upravljanje ali nadzor nad spodaj-ležečo infrastrukturo oblaka, omrežjem, strežniki, operacijskim sistemom ter individualnimi aplikacijskimi zmožnostmi.

Primeri:

• Google Gmail, Yahoo! Mail, Hotmail, …

• Facebook, Twitter, LinkedIn, …

• Salesforce CRM, Oracle CRM On Demand

• Oracle Fusion Application Services

• …

192

Page 97: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

97

Osnovne karakteristike SaaS

Dostop do programske opreme preko različnih odjemalcev:

• Spletni brskalnik, mobilne in tablične naprave, namizje …

Upravljanje aplikacije iz centralne lokacije.

Aplikacija je dostavljena na dva različna načina:

• Pay As You Go model

• Naročnina (mesečna, celoletna, …)

Uporabniki ne rabijo skrbeti za nadgradnje programske opreme in popravke.

API-ji omogočajo integracijo med različnimi deli aplikacije.

Elastično obnašanje aplikacije - samodejna skalabilnost.

193

Arhitektura

Večina SaaS rešitev temelji na večnajemniški (Multi-tenant) arhitekturi.

• Ena različica aplikacije z enojno konfiguracijo (strojna oprema, omrežje, operacijski sistem) je uporabljena za vse stranke.

Za podporo skalabilnosti je SaaS aplikacija nameščena na več strojih znotraj podatkovnega centra (lahko tudi med različnimi PC).

194

Page 98: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

98

Poslovni model

Zaračunavanje tradicionalne programske opreme:

• Stalne licence, ki jih plačamo vnaprej

Zaračunavanje SaaS aplikacij:

• Običajno uporabljajo naročniški poslovni model (npr. mesečna ali celoletna naročnina)

• Običajno so zaračunane preko parametrov uporabe (npr. število uporabnikov aplikacije) – Pay As You Go model.

• Ker so podatki aplikacije v številnih primerih ravno tako hranjeni pri SaaS ponudniku, lahko le-ti zaračunavajo glede na parametre, kot so transakcije, količina shranjenih podatkov ter ostale enote.

• Zaradi večnajemniške (Multi-tenant) arhitekture lahko ponudniki ponujajo aplikacije po zelo nizki cenah – včasih tudi brezplačno.

– Gmail je brezplačen, saj je poslovni model osredotočen v oglaševanje.

195

Tržni delež namestitvenih modelov

196

Page 99: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

99

NAMESTITVENI MODELI

Namestitveni modeli

Javni oblak:

• V lasti tretje organizacije, ki ga tudi upravlja.

• Na voljo širši javnosti, organizacijam, podjetjem…

• Ponuja nizko-cenovni “pay-as-you-go” model.

• Večji od RC znotraj podjetij -> skalabilnost na zahtevo.

• Primer: Amazon AWS, IBM SmartCloud, Windows Azure…

198

Page 100: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

100

Namestitveni modeli

Privatni oblak: • Postavljeni izključno za posamezno organizacijo.

• Večji nadzor nad podatki, za varnost skrbijo organizacije.

• Dve možnosti: – “On-premise” privatni oblak (notranji)

o Znotraj podatkovnega centra organizacije.

o Omejen na velikost in skalabilnost.

o Visoki kapitalni ter operativni stroški.

o Primerni za aplikacije, ki zahtevajo popolni nadzor nad nastavitvijo infrastrukture ter varnostjo.

– Zunanji privatni oblak o Postavljen zunaj organizacije, pri enem izmed ponudnikov računalništva v

oblaku.

o Ponudnik mora zagotoviti popolno zaupnost.

o Primerna za organizacije, ki ne želijo uporabljati javnega oblaka zaradi deljenja fizičnih resursov.

• Primer: OpenStack, Eucalyptus, Microsoft Hyper-V Cloud…

199

Namestitveni modeli

Hibridni oblak:

• Kompozicija dveh ali več oblakov (privatnega ali javnega), ki ohranjajo unikatne entitete. Vežejo jih standardizirane tehnologije, ki omogočajo portabilnost podatkov in aplikacij (npr. cloudbursting za izenačevanje obremenitev med oblaki).

• Običajno gre za razširitev privatnega oblaka z viri, ki jih ponuja javni oblak (v primeru da pride do nepričakovanega povečanja bremena).

200

Page 101: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

101

Namestitveni modeli

Pregled ponudnikov:

201

Ponudniki Privatni oblak Javni oblak Hibridni oblak

IBM x x x

Oracle x x x

Microsoft x x x

VMware x x x

HP x x x

EMC x x x

Cisco x

Amazon x x

Google x x

RightScale x x

TerraMark x x

UPORABA JAVNIH OBLAKOV

Page 102: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

102

Javni oblak

Zagotavljanje dinamičnih virov preko interneta na samopostrežen način in plačevanje virov po porabi.

203

Privatni Javni

Hibridni

Javni oblak - IaaS

204

Javni ponudniki na nivoju IaaS

• Amazon AWS (EC2, S3, SimpeDB, …)

• Rakspace Cloud

• IBM SmartCloud

• Joyent

• GoGrid

• Terremark

• FlexiScale

• ElasticHosts

• Enomaly

• OpSource

Page 103: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

103

Javni oblak - PaaS

205

Javni ponudniki na nivoju PaaS

• Google App Engine

• Windows Azure

• AWS Elastic Beanstalk

• Oracle Public Cloud

• Force.com

• IBM SmartCloud

Dostopnost - Primer EC2

AWS Upravljana konzola

Elasticfox razširitev za Firefox

206

Page 104: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

104

Dostopnost - Primer EC2

Razširitev za Razvojna okolja (Eclipse)

Amazon EC2 AMI Tools

EC2 QUERY, EC2 SOAP API

207

Tveganja

Varnost • Nevarnost vdora (tako s strani ponudnika kot nekih tretjih

organizacij).

• Glede na raziskavo IDC je vidik varnosti prvi pomislek, ki ga organizacije imajo glede oblaka. Šele nato sledi dostopnost in zmogljivost.

• Za manjša podjetja je z omejenimi finančnimi viri je lahko hramba podatkov v oblaku varnejša.

Zasebnost in privatnost • Uporabniki nimajo nadzora nad podatki, ki jih ponudniki o njih

zbirajo (Gmail - Oglaševanje).

Priklepanje ponudnika (Vendor Lock-In) • Niso vsi viri enostavno prenosljivi med ponudniki.

• Uporaba specifičnih sistemov za podatkovno shrambo (npr. BigTable).

• Uporaba drugih specifičnih storitev (npr. Google Login service).

• Uporaba specifične platforme PaaS (npr. Windows Azure).

208

Page 105: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

105

Tveganja

Dostopnost

• Za poslovne aplikacije je dostopnost kritičnega pomena.

• V zadnjem letu je bilo precej odmevnih izpadov:

– Azure (November 2011)

– Amazon (April 2011)

• Dostopnost je določena z SLA, kjer pa je potrebno biti pazljiv.

Q: What does your Amazon EC2 Service Level Agreement guarantee?

A: The Amazon EC2 SLA guarantees 99.95% availability of the service within a Region over a trailing 365 day period.

• Ob izpadu Aprila 2011, so bile 4 dni težave z delovanjem EBS in RDS storitev (bločna shramba in relacijska podatkovna baza), ki so pogosto pogoj za delovanje aplikacij v EC2 instancah.

• SLA ni bil prekršen, ker zajema samo EC2, ki pa je deloval normalno!

209

Tveganja

Stabilnost zmogljivosti

• Raziskave so pokazale da ponudniki še ne dosegajo ustreznega skaliranja. Test Amazona, Googla in Microsofta je pokazal, da je pri nenadnemu povečanju uporabnikov na 2000, odzivni čas variiral tudi za faktor 20!

Omejitve omrežja

• Delovanje storitev je odvisno od delovanja omrežja.

• Zaradi nepredvidljivega odzivnega časa oblak ni primeren za določene aplikacije (npr. trgovanje z delnicami in valutami).

• Prenos ogromnih količin podatkov je lahko dražji in traja dlje časa kot če klasične diske pošljemo s kurirsko službo.

210

Page 106: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

106

Prednosti

Samopostrežba virov (Self Service)

• Uporabnik si sam postreže z viri.

• Spletni portal, ukazna vrstica, razširitve za razvijalce (Eclipse).

Plačilo po porabi (Pay-as-you-Go)

• Na podlagi različnih metrik se meri poraba.

• Zmerjena poraba se zaračuna.

Skalabilnost

• Viri so elastični, navidezno neskončni

• Dobili bomo toliko virov kot ji bomo potrebovali.

Odpornost na napake in okrevanje ob izpadu

• Ni potrebno da sami zagotovimo te vidike.

• Samo-odpravljanje napak.

• Samodejna izdelava varnostnih kopij podatkov.

• Večkratna redundanca podatkov in aplikacije.

211

Prednosti

Neodvisnost od lokacije uporabnika

• Enostavna uporaba virov od doma, z mobilnih telefonov, tablic, … (Gmail).

Specifičen kader za vzdrževanje storitev ni potreben

Samodejno posodabljanje

• Amazon RDS, SaaS Storitve, …

Nižji stroški

• Ni kapitalnih stroškov (CAPEX), samo operativni (OPEX).

Poslovna agilnost

• Nakup opreme je hiter.

• Pohitri se čas na tržišče (Time to Market).

• Pohitri se čas do ustvarjanja dobička (Time to Revenue).

212

Page 107: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

107

Prednosti - primeri

Zahtevne simulacije

• Izvedemo hitreje in ne kupujemo nepotrebne opreme.

Razvoj aplikacij, testiranje in zagotavljanje kakovosti

• Nakup specifičnih produktov potrebnih v času razvoja ni potreben.

• Nakup fizične programske in strojne ni potreben za namene testiranja in zagotavljana kakovosti.

– Operacijski sistemi

– Različne strojne konfiguracije

– Različne verzije izvajalnih okolij

– Testiranje skaliranja

Nepredvidljive potrebe po virih

• Obisk spletnih trgovin pred prazniki, prodaja nogometnih vstopnic.

213

MIGRACIJA V OBLAK, PORTABILNOST IN IZHODNA STRATEGIJA

Page 108: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

108

Migracija obstoječih rešitev v oblak

Gartner identificira pet načinov, kako migrirati aplikacije v oblak:

• Ponovno gostovanje (Rehost):

– Postavimo aplikacijo v drugo okolje strojne opreme in spremenimo infrastrukturne konfiguracije.

– Prednost: Ponovno gostovanje aplikacije brez arhitekturnih sprememb in „refactoringa“ je hitra rešitev migracije v oblak (na nivoju IaaS).

– Slabost: Ker arhitekture aplikacije ni potrebno spreminjati pa ne moremo polno koristiti karakteristik infrastrukture oblaka, kot je na primer skalabilnost.

• Preurejanje (Refactoring):

– Izvajanje aplikacije na infrastrukturi ponudnika oblaka.

– Prednost: Razvijalci lahko ponovno uporabijo programske jezike, ogrodja in vsebnika v katere so investirali (na nivoju PaaS).

– Slabost: Pomanjkanje zmožnosti, tranzitivno tveganje in zaklepanje v ogrodje (framework lock-in).

215

Migracija obstoječih rešitev v oblak

Gartner identificira pet načinov, kako migrirati aplikacije v oblak:

• Revizija (Revise): – Modificiramo ali razširimo obstoječo programsko kodo, da bi modernizirali

„legacy“ sisteme. Nato uporabimo ponovno gostovanje (1) ali preurejanje (2) in tako postavimo aplikacijo v oblak.

– Prednost: Omogoča organizacijam optimizirati aplikacijo, ki bo koristila karakteristike oblaka ponudnika.

– Slabost: Takšen projekt bi zahteval veliko truda in stroškov, da bi mobilizirali razvojno ekipo.

• Ponovna gradnja (Rebuild): – Ponovno zgradi aplikacijo na PaaS, odstrani kodo iz obstoječe aplikacije in

ponovno načrtuj aplikacijo za oblak.

– Prednost: Čeprav ponovna gradnja zahteva izgubo podobnosti z obstoječo kodo in ogrodji je njena prednost v inovativnih funkcionalnostih ponudnikove platforme.

– Slabost: Na drugi strani pa je zaklepanje pri ponudniku največja slabost- V primeri, da ponudnik naredi tehnične ali cenovne spremembe, ki jih uporabnik ne more sprejeti, ali prekrši SLA, je uporabnik prisiljen zamenjati oziroma zapustiti nekatera ali vsa sredstva aplikacije.

216

Page 109: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

109

Migracija obstoječih rešitev v oblak

Gartner identificira pet načinov, kako migrirati aplikacije v oblak:

• Zamenjava (Replace):

– Zavrži obstoječo aplikacijo ali nabor aplikacij in uporabi komercialno programsko opremo dostavljeno kot storitev (SaaS).

– Prednost: Ta možnost se izogne investicijam potrebnih za mobiliziranje razvojne ekipe v primerih, ko se zahteve po poslovnih funkcionalnostih hitro zamenjajo.

– Slabost: Nekonsistentna podatkovna semantika, težave pri dostopu do podatkov in zaklepanje pri ponudniku.

217

Migracija obstoječih rešitev v oblak

Amazon AWS predlaga šestfazni migracijski pristop:

218

Faza evalvacije:

• Finančna evalvacija (kalkulacija TCO in ROI).

• Evalvacija varnosti in predpisov.

• Tehnična evalvacija. • Identifikacija ponovno

uporabljivih orodij. • Migracija licenčnih produktov.

1 1

Faza evalvacije

• Ustvari drevo odvisnosti

• Ocena stroškov

• Ocena arhitekture

• Ocena varnosti

Page 110: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

110

Migracija obstoječih rešitev v oblak

Amazon AWS predlaga šestfazni migracijski pristop:

219

Proof of Concept faza:

• Preučitev AWS tehnologije. • Izdelava pilotne aplikacije in

validacija tehnologije. • Testiranje obstoječe

programske opreme v oblaku.

2 2

Proof of Concept faza

• Študija AWS

• Izdelava pilota

• Vzpostavitev podpore znotraj organizacije

Migracija obstoječih rešitev v oblak

Amazon AWS predlaga šestfazni migracijski pristop:

220

Faza migracije podatkov:

• Razumevanje različnih možnosti shrambe podatkov.

• Migracija datotečnih strežnikov na Amazon S3.

• Migracija komercialnih SUPB na EC2 + EBS.

• Migracija MySQL na Amazon RDS.

3 3

Faza migracije podatkov

• Preizkus različnih možnosti shrambe

• Migracija podatkov

Page 111: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

111

Migracija obstoječih rešitev v oblak

Amazon AWS predlaga šestfazni migracijski pristop:

221

Faza migracije aplikacije:

• Celostna migracijska strategija.

• Hibridna migracijska strategija.

• Izdelava AMI-jev za vsako komponento.

4 4

Faza migracije aplikacije

• Celostna migracija

• Hibridna migracija

Migracija obstoječih rešitev v oblak

Amazon AWS predlaga šestfazni migracijski pristop:

222

Faza uporabe oblaka:

• Preizkus ostalih AWS storitev. • Avtomatizirana elastičnost in

SDLC. • Izboljšana varnost. • Izdelava nadzorne plošče za

upravljanje virov AWS. • Uporaba več dostopnih

območij.

5 5

Faza uporabe oblaka

• Avtomatično skaliranje

• Avtomatizacija

• Elastičnost

• Visoka stopnja dostopnosti

Page 112: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

112

Migracija obstoječih rešitev v oblak

Amazon AWS predlaga šestfazni migracijski pristop:

223

Faza optimizacije:

• Optimizacija uporabe na zahtevo.

• Izboljšava učinkovitosti. • Implementacija naprednega

spremljanja. • Re-inženiring aplikacije.

6 6

Faza optimizacije

• Utilizacija

• Spremljanje

• Učinkovitost

• Zmogljivost

• Ponovni inženiring

Migracija med IaaS platformami

Migracija med Amazon EC2 in OpenStack:

• Uporaba multi-cloud ogrodja jclouds zagotavlja enostavno migracijo Javanske aplikacije med Amazon EC2 in OpenStack instancami, brez potrebe po spreminjanju izvorne kode.

224

jclouds jclouds

OpenStack OpenStack EC2 EC2 … …

Aplikacija Aplikacija

Page 113: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

113

Migracija med IaaS platformami

Migracija med Amazon EC2 in OpenStack:

• jclouds trenutno ponuja dve API abstrakciji:

– Blobstore

o Poenostavlja delo z key-value ponudniki, kot sta na primer Amazon S3 in Azure Storage Blobs.

– Computeservice

o Poenostavlja delo z upravljanjem virtualnih strojev v oblaku. Podprti produkti so Amazon EC2, Rackspace Cloud Servers, OpenStack, VMware vCloud API in RimuHosting VPS.

225

Migracija obstoječih rešitev na PaaS

Primer migracije na Azure:

Analiza:

• Analiziramo trenutno stanje svoje tehnološke infrastrukture in aplikacij ter ocenimo na čem smo in hkrati, kje bi želeli biti v prihodnje.

226

Analiza Strategija Načrtovanje Izvedba

migracije komponent

Page 114: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

114

Migracija obstoječih rešitev na PaaS

Primer migracije na Azure:

Strategija:

• Ko enkrat uspemo identificirati, katere oblačne prednosti - razširljivost, elastičnost, rapidna postavitev itn. – nam bo najbolje ustrezala, želimo izbrati ocenjevalno ter migracijsko strategijo, ki bo najbolje ustrezala poslovnim potreba.

227

Analiza Strategija Načrtovanje Izvedba

migracije komponent

Migracija obstoječih rešitev na PaaS

Primer migracije na Azure:

Načrtovanje:

• Ko so aplikacije enkrat identificirane kot del celotne strategije, je potrebno začeti razmišljati o njihovi arhitekturi in načrtovanju.

228

Analiza Strategija Načrtovanje Izvedba

migracije komponent

Page 115: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

115

Migracija obstoječih rešitev na PaaS

Primer migracije na Azure:

Izvedba migracije posameznih komponent:

• Microsoft SQL Server migracija:

– Premik velikih tabel v Azure Storage tabele.

– Segmentacija podatkov preko več instanc SQL Azure Database.

• NFS migracija:

– Omrežni datotečni sistem migriramo v visoko razširljive Azure Storage blobe.

• Migracija spletne aplikacije:

– Aplikacija se preslika v spletne, delovne ali VM role.

• Migracija sporočilne vrste – MSMQ:

– Sporočilne vrste se preslikajo v Windows Azure Storage vrste.

229

Analiza Strategija Načrtovanje Izvedba

migracije komponent

Portabilnost med PaaS platformami

Migracija aplikacij iz Windows Azure na Microsoft Private Cloud:

230

Javni oblak Privatni

oblak

Tradicionalni podatkovni

center

• PaaS: Windows Azure Platform Appliance • IaaS: Hyper-V Cloud

• PaaS: Windows Azure Platform

Portabilnost aplikacije Portabilnost aplikacije

Windows Server Active Directory Windows Server Active Directory

System Center System Center

Visual Studio, .NET Visual Studio, .NET

Identiteta

Upravljanje

Razvoj

Page 116: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

116

Portabilnost med PaaS platformami

Migracija Javanskih aplikacij na GAE.

231

Aplikacija

Aplikacija

App Engine izvajalno okolje

URLFetch Service

Blobstore Datastore

Memcache

Obstoječa javanska aplikacija ?

Portabilnost med PaaS platformami

Migracija Javanskih aplikacij na GAE. • Migracija obstoječe (Java) aplikacije na Google App Engine ni

nemogoča, je pa v številnih primerih potrebno narediti „refactoring“ programske kode.

• Google App Engine v celoti ne podpira Java EE specifikacije in nima podpora za delo z relacijskimi podatkovnimi bazami.

• Trenutna podpira: – Java Data Objects (JDO)

– Java Persistence API (JPA)

– Java Server Faces (JSF) 1.1 - 2.0

– Java Server Pages (JSP) + JSTL

– Java Servlet API 2.4

– JavaBeans™ Activation Framework (JAF)

– Java Architecture for XML Binding (JAXB)

– JavaMail

– XML API-ji za procesiranje (DOM, SAX in XSLT)

232

Page 117: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

117

Portabilnost med PaaS platformami

Migracija Javanskih aplikacij na GAE.

• Ne podpira naslednjih tehnologij:

– Enterprise Java Beans (EJB)

– JAX-RPC

– JAX-WS

– Java Database Connectivity (JDBC)

– Java EE™ Connector Architecture (JCA)

– Java Management Extensions (JMX)

– Java Message Service (JMS)

– Java Naming and Directory Interface (JNDI)

– Remote Method Invocation (RMI)

233

Portabilnost med PaaS platformami

Platforme, ki podpirajo razvoj Javanskih aplikacij:

• Google App Engine

• OpenShift FLEX (beta)

• IBM PaaS

• VMware vFabric Cloud Application Platform

• Oracle PaaS

• VMware Cloud Foundry

• AWS Elastic Beanstalk

• CloudBees

• Windows Azure

• CumuLogic

• Jelastic

• …

234

Page 118: Delavnica racunalništvo v oblaku zaudelezence

Uvod v računalništvo v oblaku

118

Izhodna strategija

Večina IaaS in PaaS ponudnikov uporablja unikatne in lastniške uporabniške vmesnike, API-je in podatkovne baze.

Uporaba takšnih storitev v polni meri zahteva od uporabnikov, da programirajo v skladu s predpisanimi specifikacijami ponudnika.

V primeru, da uporabniki storitev želijo zamenjati ponudnika iz kakršnegakoli razloga (nezadovoljstvo, ponudnik preneha poslovati) znajo naleteti na številne težave, predvsem zaradi nestandardiziranih formatov, na primer:

• Prenos statičnih podatkov iz Amazon S3 na Azure Storage Blobs.

Rešitev:

• Uporaba multi-cloud ogrodij, ki zagotavljajo neodvisnost od ponudnika storitev oblaka:

– jclouds (http://www.jclouds.org/)

– Dasein Cloud API (http://dasein-cloud.sourceforge.net/)

– Deltacloud (http://incubator.apache.org/deltacloud/)...

• Standardizacija storitev oblaka.

235

SKLEP

236

e-naslov: http://www.cloud.si

e-naslov: http://www.soa.si

e-pošta: [email protected]