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 IaaS SaaS
Samopostrežba Javni
Avtomatizacija Privatni Hibridni
Tipi
…
Karakteristike Namestitveni
modeli
Znižanje stroškov Lokalno
Računalništvo
Večja agilnost Prednosti v oblaku Lokalnost Oddaljeno
…
Distribuirano
Sorodne tehnologije Deležniki
Storitveno usmerjena
arhitektura (SOA) Organizacije
Ponudniki
Mrežno
Odjemalci Razvijalci
računalništvo
Virtualizacija …
6
3
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 Vmesna programska Vmesna programska Vmesna programska
oprema oprema oprema 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
Primanjkljaj
kapacitet
Presežek Fiksna cena
KAPACITETA
kapacitet kapacitet
Cena na
enoto
kapacitete
Dejanska
obremenitev
ČAS
16
8
Uvod v računalništvo v oblaku
Elastičnost v oblaku
Predvidena
Alocirana obremenitev
Ni primanjkljaja kapaciteta
kapacitet
KAPACITETA
Ni presežka V primeru
kapacitet manjše
obremenitve se
kapacitete
Znižanje samodejno
začetne znižajo (in s
investicije 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 Storitvena
usmerjenost 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 OpenStack
Compute 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
Arhitektura:
Orodja
Razporejevalnik CLI Ostala orodja
Upravitelj zahtevkov (izpostavlja
SQL bazen
XML-RPC API)
Jedro
Upravitelj Upravitelj Upravitelj
VM-jev gostiteljev prenosov
Gonilniki
Gonilnik za Gonilnik
Gonilnik VM-jev
prenos 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 A Gruča B
Nadzornik gruče (CC) Nadzornik shrambe (SC) 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)
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 Keystone Interna Interna Amazon IAM
identitete
Komponenta Object Store (Swift) Interna Walrus Amazon S3
hrambe objektov
(Object Store)
Omrežna Nova-network Virtual Network Interna Interna
komponenta Manager
Izvajalna Nova-compute Oned Cloud Controller Amazon EC2
komponenta
(Compute)
Komponenta Nova-volume Interna Storage Controller Amazon EBS
nosilca (Volume)
Komponenta Nova-scheduler Razporejevalnik Cluster Controller ELB
razporejanja (Scheduler)
(Scheduler)
Nadzorna plošča OpenStack SunStone, ElasticFox, Admin AWS Management
(Dashboard) Dashboard, ElasticFox UI Console
Horizon
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
vCloud Director Operations
vShield vCenter vCloud
Manager Chargeback Connector Orchestrator
vSphere API RabbitMQ
vSphere
VADP VMware
Configuration
Manager
Fizična infrastruktura VMware
Service
Manager
Upravljanje in
Sklad oblaka Skupni vmesnik
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 System Center VMM
oskrbovanje Self-Service Portal
Integrirano upravljanje System Center
Windows Server 2008
Platforma
R2 Hyper-V
Windows Server 2008
Identiteta
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, Podatkovna
• zgodovino logov. baza
Upravljavsko vozlišče
Repozitorij slik Modul za
Fizična Virtualna
novo
postavitev postavitev
postavitev
Vozlišče • Bladi, VM-ji, stroji v LAB-ih…
Vozlišče
Vozlišče • 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 Workspace
Service resource
• Koordinacija
samodejnega manager
zagona VM-jev
Workspace Workspace
Context Workspace Pilot Control
Broker Service (integracija)
(WSRF, EC2)
• zagonu, zaustavitvi VM-jev.
Ponudnik • upravljanju slik VM-jev.
oblaka • varno povezovanju VM na omrežje.
Context Cloud Workspace
odjemalec odjemalec odjemalec
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 Operacijski
XAPI
Omrežje sistem
XAPI Lib Shramba (Windows,
Gonilniki Linux)
Ctrl IF
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
OpenQRM Abstrakci
ja VMware ESX
strežnik ja virov
hrambe
NetAPP
KVM
NFS-balde
AoE-balde
OpenQRM vtičnik • Dodelitev stežnikov,
oblaka • Postavitev slik…
84
42
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 Aplikacijski pogon
• Izdelavo virov,
• upravlja politike Upravljanje izvajalnih virov
in delovne
tokove
Pogon oblaka
• Vodi dostop in
dovoljenja do
teh virov.
Infrastrukturne storitve
Storitve Storitve Storitve Storitve
oblaka oblaka oblaka 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 Aplikacija 3
Oracle Solaris Oracle Linux
Fizično in
Oracle Solaris vsebniki virtualno
Oracle VM za x86 upravljanje
Oracle VM za SPARC
sistema
(Oracle
Strežniki Enterprise
Manager
Ops Center)
Shramba
96
48
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
Amazon EC2
Beanstalk
RDS EC2+EBS SQS
SimpleDB 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 Worke
Web Worker
VM role
role role
SQL
Azure
Azure
SQL Azure AppFa
Storage Cach
AppFabric
Caching
107
Programski modeli
Model računalništva v oblaku:
• Force.com:
Odjemalec Zunanji sistem
Force.com
Web Services
Aplikacija
Apex izvajalno
okolje
Force.com Database
108
54
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 Postavi Sistemsko Izdaja v
testiranje testiranje produkcijo
- Orodja za razvoj - Spletni portal
- Orodja za - CLI orodja Integra-
cijski UAT
Unit testiranje - SDK-ji in vtičniki za test Nasta- Upra-
razvojna orodja vitve vljanje
Prenos v
Smoke
produ- Spre-
Izdaja verzije test
kcijo mljanje
Odpravljanje hroščev
Upravljanje verzij in nadzor Upravljanje in spremljanje
kode storitev
109
Življenjski cikel razvoja aplikacij na PaaS
Testiranje aplikacije v oblaku je smiselno opraviti v treh fazah:
• Lokalno testiranje
Hibridno • Testiranje aplikacije v
aplikacije znotraj oblaku.
emulatorjev. • Lokalno testiranje
• Uporaba podatkovne
aplikacije znotraj
• Uporaba lokalne shrambe v oblaku.
emulatorjev.
podatkovne shrambe.
• Uporaba podatkovne
shrambe v oblaku.
Lokalno V oblaku
110
55
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 UPRAVLJANO
OKOLJE
Aplikacija 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:
Consistency, Availability:
A Availability, Partition-tolerance:
• RDBMS (MySQL, Postgres, DB2, …) • Dynamo • SimpleDB
• Vertica (stolpično usmerjena) • Voldemort • CouchDB
• Cassandra • Riak
C Consistency, Partition-tolerance:
P
• MongoDB • BigTable • Scalaris
• Terrastore • Hypertable • MemcacheDB
• Redis • HBase • Berkeley DB
121
Podatkovna shramba v oblaku
NoSQL podatkovne baze:
• Primeri „Key-value“ baz:
– Windows Azure Table Storage
– Oracle NoSQL Database
– Voldemort (temelji na Dynamo)
– Amazon Dynamo
– Riak (temelji na Dynamo)
– Membase
– Redis
– Berkeley DB
– MemcacheDB
– Scalaris
– Tokyo Cabinet / Tyrant
122
61
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/
Okolje Elastic Load Balancer
Auto
Scaling EC2 instance EC2 instance EC2 instance
Elastic Beanstalk
aplikacija
Apache
Elastic Beanstalk Host
Verzija
Manager
Tomcat
Izvajana aplikacija
S3 vedro 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
SQL Azure
AppFabric
Windows Azure
Marketplace
Windows Azure
139
Windows Azure platforma
Arhitektura:
Windows Azure:
• Okolja za izvajanje aplikacij in shrambo podatkov na strežnikih znotraj Microsoft-
ovih podatkovnih centrih. Storitev je sestavljena iz petih komponent:
– Compute – skrbi za izvajanje aplikacij na Windows Server strežnikih.
– Storage – omogoča shrambo treh tipov podatkov (blob-ov, tabel in vrst).
– Fabric controller – programska oprema, ki upravlja in spremlja izvajane aplikacije ter
računalniške vire.
– Content Delivery Network (CDN) – predpomnjenje najpogosteje uporabljenih podatkov
blizu končnega uporabnika.
– Connect – omogoča obravnavo aplikacij, kot da bi bile znotraj požarnega zidu
organizacij, ki do njih dostopajo.
SQL Azure:
• Omogoča delo z relacijsko podatkovno bazo v oblaku. Storitev sestavljajo tri
komponente:
– SQL Azure Database – predstavlja sistem za upravljanje s podatkovno bazo (SUPB) v
oblaku.
– SQL Azure Reporting – omogoča izdelavo standardnih SSRS poročil.
– SQL Azure Data Sync – omogoča sinhronizacijo podatkov med SQL Azure podatkovnimi
bazami in lokalnimi SQL Server bazami.
140
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
„Frontend“
Images XMPP
Datotečni
strežniki
Task
Accounts
Queues
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
Komponenta Komponenta
Integracijska Varnostna
upravljanja s uporabniške
komponenta komponenta
procesi interakcije Upravljavska
komponenta
Aplikacijska komponenta
Podatkovna komponenta
154
77
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 Strežniška komponenta (tc Server)
(Hyperic)
Sporočilna komponenta Podatkovna komponenta
(RabbitMQ) (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
Nadzornik
Razvijalec DEA DEA DEA
oblaka (CC) …
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
Uporabniški vmesnik
Razvojna orodja
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 Testiraj
PaaS, ki temelji
Izgradi Jenkins Kontinuirana postavitev na JVM
strežnik
Shrani Storitve
Git SVN Maven MySQL 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
Komponenta za
Komponenta za spremljanje Komponenta za Eclipse IDE, Dev
upravljanje z
avtomatično skaliranje zmogljivosti in upravljanje z viri
analitiko
uporabniki Tools vtičniki
Strežnik podatkovne baze (SQL ali NoSQL)
CLI
RESTful API
RESTful API
Sporočilne vrste Integracija
Aplikacijski strežnik
Spletni strežnik Izenačevalec obremenitev
Administrativna
Ogrodje za avtomatizacijo storitev 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 ALB DBM
(AppScale admin)
DBS
AS DBS
AS DBS
Uporabnik GAE AS
aplikacij
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 Znotraj podatkovnega centra organizacije.
o Omejen na velikost in skalabilnost.
o Visoki kapitalni ter operativni stroški.
o Primerni za aplikacije, ki zahtevajo popolni nadzor nad nastavitvijo
infrastrukture ter varnostjo.
– Zunanji privatni oblak
o Postavljen zunaj organizacije, pri enem izmed ponudnikov računalništva v
oblaku.
o Ponudnik mora zagotoviti popolno zaupnost.
o Primerna za organizacije, ki ne želijo uporabljati javnega oblaka zaradi
deljenja fizičnih resursov.
• Primer: OpenStack, Eucalyptus, Microsoft Hyper-V Cloud…
199
Namestitveni modeli
Hibridni oblak:
• Kompozicija dveh ali več oblakov (privatnega ali javnega), ki
ohranjajo unikatne entitete. Vežejo jih standardizirane tehnologije,
ki omogočajo portabilnost podatkov in aplikacij (npr. cloudbursting
za izenačevanje obremenitev med oblaki).
• Običajno gre za razširitev privatnega oblaka z viri, ki jih ponuja javni
oblak (v primeru da pride do nepričakovanega povečanja bremena).
200
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:
Faza evalvacije:
1
• Finančna evalvacija
(kalkulacija TCO in ROI).
Faza evalvacije • Evalvacija varnosti in
predpisov.
• Tehnična evalvacija.
• Ustvari drevo • Identifikacija ponovno
odvisnosti uporabljivih orodij.
• Ocena stroškov • Migracija licenčnih produktov.
• 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:
Proof of Concept faza:
2
• Preučitev AWS tehnologije.
• Izdelava pilotne aplikacije in
Proof of Concept validacija tehnologije.
faza • Testiranje obstoječe
programske opreme v oblaku.
• Študija AWS
• Izdelava pilota
• Vzpostavitev
podpore znotraj
organizacije
219
Migracija obstoječih rešitev v oblak
Amazon AWS predlaga šestfazni migracijski pristop:
Faza migracije podatkov:
3
• Razumevanje različnih
možnosti shrambe podatkov.
Faza migracije • Migracija datotečnih
podatkov strežnikov na Amazon S3.
• Migracija komercialnih SUPB
• Preizkus različnih
na EC2 + EBS.
možnosti shrambe • Migracija MySQL na Amazon
• Migracija podatkov RDS.
220
110
Uvod v računalništvo v oblaku
Migracija obstoječih rešitev v oblak
Amazon AWS predlaga šestfazni migracijski pristop:
Faza migracije aplikacije:
4
• Celostna migracijska
strategija.
Faza migracije • Hibridna migracijska
aplikacije strategija.
• Izdelava AMI-jev za vsako
• Celostna migracija komponento.
• Hibridna migracija
221
Migracija obstoječih rešitev v oblak
Amazon AWS predlaga šestfazni migracijski pristop:
Faza uporabe oblaka:
5
• Preizkus ostalih AWS storitev.
• Avtomatizirana elastičnost in
Faza uporabe SDLC.
oblaka • Izboljšana varnost.
• Izdelava nadzorne plošče za
• Avtomatično
skaliranje
upravljanje virov AWS.
• Avtomatizacija • Uporaba več dostopnih
• Elastičnost območij.
• 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.
Faza optimizacije • Izboljšava učinkovitosti.
• Implementacija naprednega
spremljanja.
• Utilizacija • Re-inženiring aplikacije.
• 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:
Izvedba
Analiza Strategija Načrtovanje 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:
Izvedba
Analiza Strategija Načrtovanje 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:
Izvedba
Analiza Strategija Načrtovanje 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:
Izvedba
Analiza Strategija Načrtovanje 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
Privatni
podatkovni Javni oblak
oblak
center
• PaaS: Windows Azure Platform Appliance • PaaS: Windows Azure Platform
• IaaS: Hyper-V Cloud
Identiteta Windows Server Active Directory
Upravljanje System Center
Razvoj Visual Studio, .NET
230
115
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