RAČUNALNIŠTVO V OBLAKU

Uvod v računalništvo v oblaku
RAČUNALNIŠTVO V
OBLAKU
Univerza v Ljubljani, FRI
Center za računalništvo v oblaku www.cloud.si
Robert Dukarić, Rok Povše, Matjaž B. Jurič
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
1
Uvod v računalništvo v oblaku
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
2
Uvod v računalništvo v oblaku
Definicija
5
Definicija
PaaS
Elastičnost
SaaS
IaaS
Samopostrežba
Javni
Avtomatizacija
Privatni
Tipi
…
Karakteristike
Hibridni
Namestitveni
modeli
Znižanje stroškov
Večja agilnost
Lokalno
Prednosti
Računalništvo
v oblaku
Lokalnost
…
Oddaljeno
Distribuirano
Sorodne tehnologije
Deležniki
Storitveno usmerjena
arhitektura (SOA)
Mrežno
računalništvo
Organizacije
Ponudniki
Odjemalci
Virtualizacija
…
6
3
Razvijalci
Uvod v računalništvo v oblaku
Tipi računalništva v oblaku
SaaS
• Software as a Service
Odjemalci
PaaS
• Platform as a Service
Razvijalci
IaaS
• Infrastructure as a Service
Administrator
7
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
4
Uvod v računalništvo v oblaku
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
5
Uvod v računalništvo v oblaku
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
6
Uvod v računalništvo v oblaku
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
7
Uvod v računalništvo v oblaku
Upravljanje oblaka
Lokalno
IaaS
PaaS
SaaS
Aplikacije
Aplikacije
Aplikacije
Aplikacije
Podatki
Podatki
Podatki
Podatki
Izvajalno okolje
Izvajalno okolje
Izvajalno okolje
Izvajalno okolje
Vmesna programska
oprema
Vmesna programska
oprema
Vmesna programska
oprema
Vmesna programska
oprema
Operacijski sistem
Operacijski sistem
Operacijski sistem
Operacijski sistem
Virtualizacija
Virtualizacija
Virtualizacija
Virtualizacija
Strežniki
Strežniki
Strežniki
Strežniki
Shramba
Shramba
Shramba
Shramba
Omrežje
Omrežje
Omrežje
Omrežje
Upravlja ponudnik
Upravlja uporabnik
15
Klasično načrtovanje kapacitet
Predvidena
obremenitev
KAPACITETA
Primanjkljaj
kapacitet
Cena na
enoto
kapacitete
Presežek
kapacitet
Fiksna cena
kapacitet
Dejanska
obremenitev
ČAS
16
8
Uvod v računalništvo v oblaku
Elastičnost v oblaku
KAPACITETA
Ni primanjkljaja
kapacitet
Znižanje
začetne
investicije
Alocirana
kapaciteta
Ni presežka
kapacitet
Predvidena
obremenitev
V primeru
manjše
obremenitve se
kapacitete
samodejno
znižajo (in s
tem stroški)
Dejanska
obremenitev
ČAS
17
INFRASTRUKTURA KOT
STORITEV
9
Uvod v računalništvo v oblaku
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
10
Uvod v računalništvo v oblaku
Primerjava s sorodnimi tehnologijami
 Računalništvo v oblaku in mrežno računalništvo:
Skaliranje
Distribuirani sistemi
Super-računalniki
Mrežno
računalništvo
Računalništvo
v oblaku
Gruče
Web 2.0
Aplikacijska
usmerjenost
Storitvena
usmerjenost
21
Primerjava s sorodnimi tehnologijami
 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:
Omrežno računalništvo
Računalništvo v oblaku
Aplikacija
Aplikacija
Kolektiv
Platforma
Viri
Enotni viri
Povezljivost
Infrastruktura
Infrastruktura
22
11
Uvod v računalništvo v oblaku
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
12
Uvod v računalništvo v oblaku
Primerjava s sorodnimi tehnologijami
 Računalništvo v oblaku in mrežno računalništvo:
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.
25
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.
Virtualizacija
Elastičnost
Izolacija
• Računalništvo v oblaku
Konsolidacija
Samopostrežba
Avtomatizacija
26
13
Uvod v računalništvo v oblaku
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
14
Uvod v računalništvo v oblaku
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
15
Uvod v računalništvo v oblaku
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
16
Uvod v računalništvo v oblaku
OpenStack
Arhitektura:
Mobilne aplikacije, spletni odjemalci, poslovno informacijski sistemi…
API sloj
OpenStack
Compute
OpenStack
Object Storage
OpenStack
Image Service
OpenStack Identity
OpenStack Dashboard
33
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
17
Uvod v računalništvo v oblaku
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
18
Uvod v računalništvo v oblaku
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.
Image:
• Format diska, format
vsebnika, velikost, …
Image Property:
• Poljubni metapodatki slik.
38
19
Uvod v računalništvo v oblaku
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:
P
J
H
39
OpenStack
 OpenStack Dashboard – samopostrežni spletni portal.
40
20
Uvod v računalništvo v oblaku
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
Gonilniki
Jedro
Orodja
Arhitektura:
Razporejevalnik
SQL bazen
CLI
Ostala orodja
Upravitelj zahtevkov (izpostavlja
XML-RPC API)
Upravitelj
VM-jev
Gonilnik za
prenos
Upravitelj
gostiteljev
Gonilnik VM-jev
Upravitelj
prenosov
Gonilnik
informacij
Če želimo uporabljati drug hipervizor…
42
21
Uvod v računalništvo v oblaku
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
22
Uvod v računalništvo v oblaku
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:
P
J
H
45
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
23
Uvod v računalništvo v oblaku
Eucalyptus
Arhitektura:
Spletni brskalnik
SOAP orodja
REST orodja
Nadzornik oblaka (CLC)
Walrus
Gruča B
Gruča A
Nadzornik gruče (CC)
Nadzornik gruče (CC)
Nadzornik shrambe (SC)
Nadzornik vozlišč (NC)
Nadzornik vozlišč (NC)
Nadzornik vozlišč (NC)
Nadzornik vozlišč (NC)
Nadzornik vozlišč (NC)
Nadzornik vozlišč (NC)
Nadzornik shrambe (SC)
47
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
24
Uvod v računalništvo v oblaku
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:
P
J
H
49
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
25
Uvod v računalništvo v oblaku
OpenStack, Eucalyptus, OpenNebula
Primerjava:
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
51
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
26
Uvod v računalništvo v oblaku
VMware vCloud
Arhitektura:
vCloud API
vCenter
Operations
vCloud Director
vShield
Manager
vCenter
Chargeback
vCloud
Connector
vSphere
Orchestrator
vSphere API
RabbitMQ
VADP
Fizična infrastruktura
VMware
Configuration
Manager
VMware
Service
Manager
Skupni vmesnik
Sklad oblaka
Upravljanje in
orkestracija
53
VMware vCloud
Arhitektura:
 VMware vCloud Director
• Storitev, ki omogoča izgradnjo ter izpostavljanje oblakov s pomočjo
spletnega portala in programskih vmesnikov.
54
27
Uvod v računalništvo v oblaku
VMware vCloud
Arhitektura:
 VMware vCloud Director
55
VMware vCloud
Arhitektura:
 VMware vSphere
• Virtualizirana platforma, ki ponuja abstrakcijo nivoja fizične
infrastrukture za vCloud.
vStorage APIs for Data Protection
56
28
Uvod v računalništvo v oblaku
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
29
Uvod v računalništvo v oblaku
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
30
Uvod v računalništvo v oblaku
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
31
Uvod v računalništvo v oblaku
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:
P
J
H
63
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
32
Uvod v računalništvo v oblaku
Microsoft Hyper-V Cloud
Arhitektura:
Samopostrežba in
oskrbovanje
System Center VMM
Self-Service Portal
Integrirano upravljanje
System Center
Platforma
Windows Server 2008
R2 Hyper-V
Identiteta
Windows Server 2008
Active Directory
65
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
33
Uvod v računalništvo v oblaku
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
34
Uvod v računalništvo v oblaku
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:
P
J
H
69
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
35
Uvod v računalništvo v oblaku
Apache VCL
Arhitektura:
Spletna komponenta
(VCL razporejevalnik)
•
•
•
•
rezervacije VCL kapacitet,
nadzor dostopa,
inventar strojev,
zgodovino logov.
Podatkovna
baza
Upravljavsko vozlišče
Repozitorij slik
Fizična
postavitev
Modul za
novo
postavitev
Virtualna
postavitev
•
•
Vozlišče
Vozlišče
Vozlišče
Bladi, VM-ji, stroji v LAB-ih…
80 – 120 blade-ov
71
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
36
Uvod v računalništvo v oblaku
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:
P
J
H
73
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
37
Uvod v računalništvo v oblaku
Nimbus
Arhitektura:
Razporejevalnik
Cumulus
Storage
Service
• Koordinacija
samodejnega
zagona VM-jev
Workspace
Pilot
(integracija)
Workspace
Service
(WSRF, EC2)
Context
Broker
Context
odjemalec
Workspace
resource
manager
Cloud
odjemalec
Ponudnik
oblaka
Workspace
odjemalec
Workspace
Control
• zagonu, zaustavitvi VM-jev.
• upravljanju slik VM-jev.
• varno povezovanju VM na omrežje.
75
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
38
Uvod v računalništvo v oblaku
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:
P
J
H
78
39
Uvod v računalništvo v oblaku
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:
Nadzorniški vmesniki
Dom0
XAPI
XAPI Lib
Ctrl IF
Omrežje
Shramba
Gonilniki
Operacijski
sistem
(Windows,
Linux)
Xen hipervizor
Bazen virov
Fizična strojna oprema
80
40
Uvod v računalništvo v oblaku
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:
P
J
H
82
41
Uvod v računalništvo v oblaku
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.
Xen
iSCSI-Target
Abstrakci
ja
hrambe
NetAPP
OpenQRM
strežnik
Abstrakci
ja virov
VMware ESX
KVM
NFS-balde
AoE-balde
OpenQRM vtičnik
oblaka
84
42
•
•
Dodelitev stežnikov,
Postavitev slik…
Uvod v računalništvo v oblaku
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:
P
J
H
85
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
43
Uvod v računalništvo v oblaku
RedHat CloudForms
Arhitektura:
Upravljanje izvajalnih virov
Sistemski pogon
• Izdelavo virov,
• upravlja politike
in delovne
tokove
• Vodi dostop in
dovoljenja do
teh virov.
Aplikacijski pogon
Upravljanje izvajalnih virov
Pogon oblaka
Infrastrukturne storitve
Storitve
oblaka
Storitve
oblaka
Storitve
oblaka
Storitve
oblaka
Spremljanje, upravljanje, sporočanje, replikacija, visoka razpoložljivost (HA)…
87
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
44
Uvod v računalništvo v oblaku
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:
P
J
H
89
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
45
Uvod v računalništvo v oblaku
IBM SmartCloud
Arhitektura:
Upravljanje infrastrukturne
storitve
Sistemi za operacijsko podporo
Optimizacijske storitve
Varnostna komponenta
91
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
46
Uvod v računalništvo v oblaku
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:
P
J
H
94
47
Uvod v računalništvo v oblaku
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:
Aplikacija 1
Aplikacija 2
Oracle Solaris
Aplikacija 3
Oracle Linux
Oracle Solaris vsebniki
Oracle VM za SPARC
Oracle VM za x86
Strežniki
Shramba
96
48
Fizično in
virtualno
upravljanje
sistema
(Oracle
Enterprise
Manager
Ops Center)
Uvod v računalništvo v oblaku
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:
P
J
H
98
49
Uvod v računalništvo v oblaku
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
50
Uvod v računalništvo v oblaku
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
51
Uvod v računalništvo v oblaku
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
52
Uvod v računalništvo v oblaku
Programski modeli
 Model računalništva v oblaku:
• Amazon AWS:
Odjemalec
Zunanji sistem
Vnaprej
nastavljen AMI
Aplikacija
AWS Elastic
Beanstalk
Amazon EC2
RDS
EC2+EBS
SimpleDB
SQS
S3
105
Programski modeli
 Model računalništva v oblaku:
• Google App Engine:
Odjemalec
Zunanji sistem
URLFetch
Service
Aplikacija
App Engine
izvajalno okolje
Blobstore
Datastore
Memcache
106
53
Uvod v računalništvo v oblaku
Programski modeli
 Model računalništva v oblaku:
• Windows Azure:
Odjemalec
Odjemalec
Zunanji sistem
AppFabric
Service Bus
Aplik
Aplikacija
Web role
Web
role
Worker
role
Azure
Storage
AppFabric
Caching
SQL Azure
107
Programski modeli
 Model računalništva v oblaku:
• Force.com:
Odjemalec
Worke
VM role
Zunanji sistem
Force.com
Web Services
Aplikacija
Apex izvajalno
okolje
Force.com Database
108
54
SQL
Azure
AppFa
Cach
Uvod v računalništvo v oblaku
Življenjski cikel razvoja aplikacij na PaaS
 SDLC na PaaS:
Lokalno
V oblaku
Razvoj aplikacije
Postavitev in izdaja
Gradnja in
testiranje
Postavi
- Orodja za razvoj
- Orodja za
Unit testiranje
- Spletni portal
- CLI orodja
- SDK-ji in vtičniki za
razvojna orodja
Sistemsko
testiranje
Izdaja verzije
Izdaja v
produkcijo
Integracijski
test
UAT
Smoke
test
Prenos v
produkcijo
Nastavitve
Upravljanje
Spremljanje
Odpravljanje hroščev
Upravljanje verzij in nadzor
kode
Upravljanje in spremljanje
storitev
109
Življenjski cikel razvoja aplikacij na PaaS
 Testiranje aplikacije v oblaku je smiselno opraviti v treh fazah:
• Lokalno testiranje
aplikacije znotraj
emulatorjev.
• Uporaba lokalne
podatkovne shrambe.
Lokalno
Hibridno
• Lokalno testiranje
aplikacije znotraj
emulatorjev.
• Uporaba podatkovne
shrambe v oblaku.
110
55
• Testiranje aplikacije v
oblaku.
• Uporaba podatkovne
shrambe v oblaku.
V oblaku
Uvod v računalništvo v oblaku
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
111
Java v oblaku
Aplikacija
UPRAVLJANO
OKOLJE
Aplikacija
Aplikacija
Aplikacija
PaaS
Java storitve
Trajnost podatkov
Storitveno vodilo, sporočilni sistem, …
IaaS
Virtualizacija
Upravljanje stanj, elastičnost, …
112
56
Uvod v računalništvo v oblaku
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
113
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
...
114
57
Uvod v računalništvo v oblaku
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
58
Uvod v računalništvo v oblaku
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
59
Uvod v računalništvo v oblaku
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
60
Uvod v računalništvo v oblaku
Podatkovna shramba v oblaku
NoSQL podatkovne baze:
A
Consistency, Availability:
•
•
Availability, Partition-tolerance:
•
•
•
RDBMS (MySQL, Postgres, DB2, …)
Vertica (stolpično usmerjena)
C
Consistency, Partition-tolerance:
•
•
•
MongoDB
Terrastore
Redis
•
•
•
BigTable
Hypertable
HBase
•
•
•
Scalaris
MemcacheDB
Berkeley DB
121
Podatkovna shramba v oblaku
NoSQL podatkovne baze:
• Primeri „Key-value“ baz:
–
–
–
–
–
–
–
–
–
–
–
Dynamo
Voldemort
Cassandra
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
61
P
•
•
•
SimpleDB
CouchDB
Riak
Uvod v računalništvo v oblaku
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
62
Uvod v računalništvo v oblaku
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
63
Uvod v računalništvo v oblaku
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
64
Uvod v računalništvo v oblaku
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:
http://moja-aplikacija.elasticbeanstalk.com/
Elastic Load Balancer
Okolje
Verzija
S3 vedro
Auto
Scaling
EC2 instance
EC2 instance
EC2 instance
Apache
Elastic Beanstalk Host
Manager
Elastic Beanstalk
aplikacija
Tomcat
Izvajana aplikacija
Amazon Linux AMI
130
65
Uvod v računalništvo v oblaku
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
66
Uvod v računalništvo v oblaku
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:
P
J
H
133
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
67
Uvod v računalništvo v oblaku
RedHat OpenShift
Arhitektura:
RedHat OpenShift
Express
Flex
Amazon EC2 infrastruktura
135
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
68
Uvod v računalništvo v oblaku
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:
P
J
H
137
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
69
Uvod v računalništvo v oblaku
Windows Azure platforma
Arhitektura:
Aplikacije in podatki
Windows Azure
AppFabric
SQL Azure
Windows Azure
Marketplace
Windows Azure
139
Windows Azure platforma
Arhitektura:
 Windows Azure:
• Okolja za izvajanje aplikacij in shrambo podatkov na strežnikih znotraj Microsoftovih 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
70
Uvod v računalništvo v oblaku
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:
P
J
H
142
71
Uvod v računalništvo v oblaku
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:
Datastore
Blobstore
Memcache
Aplikacijski
strežniki
zehteva
URL Fetch
Mail
Images
XMPP
Task
Queues
Accounts
„Frontend“
Datotečni
strežniki
144
72
Uvod v računalništvo v oblaku
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
73
Uvod v računalništvo v oblaku
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:
P
J
H
147
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
74
Uvod v računalništvo v oblaku
IBM PaaS
Arhitektura:
Aplikacijske storitve
Življenjski cikel aplikacij
Integracijske storitve
„Workload“ storitve
149
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
75
Uvod v računalništvo v oblaku
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:
P
J
H
152
76
Uvod v računalništvo v oblaku
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:
Aplikacija 1
Aplikacija 2
Aplikacija 3
Deljene storitve
Integracijska
komponenta
Komponenta
upravljanja s
procesi
Komponenta
uporabniške
interakcije
Varnostna
komponenta
Aplikacijska komponenta
Podatkovna komponenta
154
77
Upravljavska
komponenta
Uvod v računalništvo v oblaku
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
78
Uvod v računalništvo v oblaku
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:
P
J
H
157
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
79
Uvod v računalništvo v oblaku
VMware vFabric
Arhitektura:
Komponenta za razporejanje bremena (ERS)
Komponenta za
upravljanje in
spremljanje
(Hyperic)
Strežniška komponenta (tc Server)
Sporočilna komponenta
(RabbitMQ)
Podatkovna komponenta
(GemFire)
159
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
80
Uvod v računalništvo v oblaku
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
81
Uvod v računalništvo v oblaku
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:
P
J
H
163
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
82
Uvod v računalništvo v oblaku
WMware Cloud Foundry
Arhitektura:
Upravljavec zdravja
Razvijalec
Nadzornik
oblaka (CC)
DEA
DEA
…
DEA
Sporočilno vodilo
Storitve
Storitve
Storitve
Storitve
Usmerjevalniki
165
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
83
Uvod v računalništvo v oblaku
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:
P
J
H
168
84
Uvod v računalništvo v oblaku
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:
AppExchange
Razvojna orodja
Uporabniški vmesnik
Logika
Integracija
Podatkovna baza
Infrastruktura
170
85
Uvod v računalništvo v oblaku
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
86
Uvod v računalništvo v oblaku
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:
P
J
H
174
87
Uvod v računalništvo v oblaku
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:
DEV@cloud
RUN@cloud
Testiraj
Izgradi
Jenkins
strežnik
Testiraj
PaaS, ki temelji
na JVM
Kontinuirana postavitev
Shrani
Git
SVN
Storitve
MySQL
Maven
HA
CloudBees Ekosistem - razširitve
HTTP API-ji, CLI, grafični UI, vtičnik za Eclipse, Vtičnik za Maven, Ant
176
88
…
Uvod v računalništvo v oblaku
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
89
Uvod v računalništvo v oblaku
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:
P
J
H
179
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
90
Uvod v računalništvo v oblaku
CumuLogic
Arhitektura:
Katalog storitev v oblaku
Ogrodje vtičnik
Komponenta za
avtomatično skaliranje
Komponenta za
spremljanje
zmogljivosti in
analitiko
Komponenta za
upravljanje z viri
Komponenta za
upravljanje z
uporabniki
Strežnik podatkovne baze (SQL ali NoSQL)
Aplikacijski strežnik
Spletni strežnik
Izenačevalec obremenitev
RESTful API
Integracija
Sporočilne vrste
Ogrodje za avtomatizacijo storitev
Eclipse IDE, Dev
Tools vtičniki
CLI
Administrativna
konzola
API za integracijo z IaaS nivojem
181
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
91
Uvod v računalništvo v oblaku
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
92
Uvod v računalništvo v oblaku
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:
P
J
H
185
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
93
Uvod v računalništvo v oblaku
AppScale
Arhitektura:
Razvijalec GAE
aplikacij
(AppScale admin)
Uporabnik GAE
aplikacij
DBM
ALB
AS
AS
AS
DBS
DBS
DBS
AppScale orodja
AppController (AC)
HTTPS
187
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
94
Uvod v računalništvo v oblaku
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:
P
J
H
190
95
Uvod v računalništvo v oblaku
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
96
Uvod v računalništvo v oblaku
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
97
Uvod v računalništvo v oblaku
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
98
Uvod v računalništvo v oblaku
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
99
Uvod v računalništvo v oblaku
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
o
o
o
Znotraj podatkovnega centra organizacije.
Omejen na velikost in skalabilnost.
Visoki kapitalni ter operativni stroški.
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
100
Uvod v računalništvo v oblaku
Namestitveni modeli
 Pregled ponudnikov:
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
201
UPORABA JAVNIH
OBLAKOV
101
Uvod v računalništvo v oblaku
Javni oblak
 Zagotavljanje dinamičnih virov preko interneta na samopostrežen
način in plačevanje virov po porabi.
Hibridni
Privatni
Javni
203
Javni oblak - IaaS
 Javni ponudniki na nivoju IaaS
•
•
•
•
•
•
•
•
•
•
Amazon AWS (EC2, S3, SimpeDB, …)
Rakspace Cloud
IBM SmartCloud
Joyent
GoGrid
Terremark
FlexiScale
ElasticHosts
Enomaly
OpSource
204
102
Uvod v računalništvo v oblaku
Javni oblak - PaaS
 Javni ponudniki na nivoju PaaS
•
•
•
•
•
•
Google App Engine
Windows Azure
AWS Elastic Beanstalk
Oracle Public Cloud
Force.com
IBM SmartCloud
205
Dostopnost - Primer EC2
 AWS Upravljana konzola
 Elasticfox razširitev za Firefox
206
103
Uvod v računalništvo v oblaku
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
104
Uvod v računalništvo v oblaku
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
105
Uvod v računalništvo v oblaku
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
106
Uvod v računalništvo v oblaku
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
107
Uvod v računalništvo v oblaku
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
108
Uvod v računalništvo v oblaku
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:
1
Faza evalvacije:
• Finančna evalvacija
(kalkulacija TCO in ROI).
• Evalvacija varnosti in
predpisov.
• Tehnična evalvacija.
• Identifikacija ponovno
uporabljivih orodij.
• Migracija licenčnih produktov.
Faza evalvacije
• Ustvari drevo
odvisnosti
• Ocena stroškov
• Ocena arhitekture
• Ocena varnosti
218
109
Uvod v računalništvo v oblaku
Migracija obstoječih rešitev v oblak
 Amazon AWS predlaga šestfazni migracijski pristop:
2
Proof of Concept faza:
• Preučitev AWS tehnologije.
• Izdelava pilotne aplikacije in
validacija tehnologije.
• Testiranje obstoječe
programske opreme v oblaku.
Proof of Concept
faza
• Študija AWS
• Izdelava pilota
• Vzpostavitev
podpore znotraj
organizacije
219
Migracija obstoječih rešitev v oblak
 Amazon AWS predlaga šestfazni migracijski pristop:
3
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.
Faza migracije
podatkov
• Preizkus različnih
možnosti shrambe
• Migracija podatkov
220
110
Uvod v računalništvo v oblaku
Migracija obstoječih rešitev v oblak
 Amazon AWS predlaga šestfazni migracijski pristop:
4
Faza migracije aplikacije:
• Celostna migracijska
strategija.
• Hibridna migracijska
strategija.
• Izdelava AMI-jev za vsako
komponento.
Faza migracije
aplikacije
• Celostna migracija
• Hibridna migracija
221
Migracija obstoječih rešitev v oblak
 Amazon AWS predlaga šestfazni migracijski pristop:
5
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.
Faza uporabe
oblaka
• Avtomatično
skaliranje
• Avtomatizacija
• Elastičnost
• Visoka stopnja
dostopnosti
222
111
Uvod v računalništvo v oblaku
Migracija obstoječih rešitev v oblak
 Amazon AWS predlaga šestfazni migracijski pristop:
Faza optimizacije:
6
• Optimizacija uporabe na
zahtevo.
• Izboljšava učinkovitosti.
• Implementacija naprednega
spremljanja.
• Re-inženiring aplikacije.
Faza optimizacije
•
•
•
•
•
Utilizacija
Spremljanje
Učinkovitost
Zmogljivost
Ponovni inženiring
223
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.
Aplikacija
jclouds
OpenStack
EC2
…
224
112
Uvod v računalništvo v oblaku
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
Strategija
Načrtovanje
Izvedba
migracije
komponent
 Analiza:
• Analiziramo trenutno stanje svoje tehnološke infrastrukture in
aplikacij ter ocenimo na čem smo in hkrati, kje bi želeli biti v
prihodnje.
226
113
Uvod v računalništvo v oblaku
Migracija obstoječih rešitev na PaaS
 Primer migracije na Azure:
Analiza
Strategija
Načrtovanje
Izvedba
migracije
komponent
 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
Migracija obstoječih rešitev na PaaS
 Primer migracije na Azure:
Analiza
Strategija
Načrtovanje
Izvedba
migracije
komponent
 Načrtovanje:
• Ko so aplikacije enkrat identificirane kot del celotne strategije, je
potrebno začeti razmišljati o njihovi arhitekturi in načrtovanju.
228
114
Uvod v računalništvo v oblaku
Migracija obstoječih rešitev na PaaS
 Primer migracije na Azure:
Analiza
Strategija
Načrtovanje
Izvedba
migracije
komponent
 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
Portabilnost med PaaS platformami
 Migracija aplikacij iz Windows Azure na Microsoft Private Cloud:
Portabilnost aplikacije
Portabilnost aplikacije
Tradicionalni
podatkovni
center
Privatni
oblak
Javni oblak
• PaaS: Windows Azure Platform Appliance
• IaaS: Hyper-V Cloud
Identiteta
Windows Server Active Directory
Upravljanje
System Center
Razvoj
Visual Studio, .NET
230
115
• PaaS: Windows Azure Platform
Uvod v računalništvo v oblaku
Portabilnost med PaaS platformami
 Migracija Javanskih aplikacij na GAE.
URLFetch
Service
Aplikacija
App Engine
izvajalno okolje
Obstoječa javanska
aplikacija
?
Blobstore
Datastore
Memcache
231
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
116
Uvod v računalništvo v oblaku
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
117
Uvod v računalništvo v oblaku
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
e-naslov: http://www.cloud.si
e-naslov: http://www.soa.si
e-pošta: info@cloud.si
236
118