SlideShare une entreprise Scribd logo
1  sur  98
Télécharger pour lire hors ligne
Gradivo za pristop k izpitu za pridobitev certifikata
»Certified Cloud Computing Engineer«
Ver. 1.11

Zbrali in uredili: Miha Grohar, Mojca Ciglarič, Matjaž Pančur, Matjaž Horvat
Avtorji:
- CHS d.o.o.
- Fakulteta za računalništvo in informatiko, Univerza v Ljubljani
V sodelovanju z:
- NIL d.o.o.
- Smart Com d.o.o.
- Xlab d.o.o.
- JOC d.o.o.
- Infotehna d.o.o.
- Fakulteta za elektrotehniko, računalništvo in informatiko, Univerza v Mariboru
- Institut Jožef Štefan
- Inštitut Andrej Marušič, Univerza na Primorskem

Ljubljana, maj 2013
Certified Cloud Computing Engineer

Povzetek
V dokumentu je učni načrt za program certificiranja inženirjev, ki vsebuje ključna področja,
cilje in gradiva, ki so potrebna za študij pred pristopom k izpitu za certifikat »Certified Cloud
Computing Engineer«.
Certificiranje je namenjeno posameznikom, ki se poklicno ukvarjajo z IT infrastrukturo na
naslednjih področjih dela:
 načrtovanje infrastrukture oblaka (z uporabo obstoječe opreme),
 vzdrževanje infrastrukture oblaka,
 administracija infrastrukture oblaka.
Sam program certificiranja je razdeljen na splošni in praktični del (administracija v
storitvenem modelu IaaS). V prvem delu razvija znanja o splošnih konceptih delovanja
tehnologij računalništva v oblaku, v drugem pa obdela tudi konkretne produkte in rešitve.
Posameznik bo torej poleg splošnega znanja pridobil tudi praktično, vezano na točno
določeno opremo.
Na koncu vsakega pomembnejšega poglavja so za preverjanje naučenega in lažjo pripravo na
izpit primeri vprašanj.

Abstract
This document represents the syllabus for computer engineers. It contains essential fields,
goals and teaching materials to study before approaching to a certification exam named
»Certified Cloud Computing Engineer«.
Certificiation programme is intended to ICT professionals in the following working areas:
 cloud infrastructure planning (with existing hardware and software),
 cloud infrastructure maintaining,
 cloud infrastructure administration.
Certification programme consists of two parts, general and practical one (administration in
IaaS service model).
In the first part general concepts of cloud computing technology are intruduced while in the
second one specific products and solutions are presented.
Participants will gain general knowledge of cloud computing technology as well practical
knowledge related to a specific cloud infrastructure.
There are also test questions for an easier exam preparation at the end of all important
chapters.
Certified Cloud Computing Engineer

Kazalo
1 Namen učnega načrta .......................................................................................................... 1
2 Splošni del............................................................................................................................. 1
2.1 Namen ............................................................................................................................ 1
2.2 Pregled področja ............................................................................................................. 1
2.2.1 Ključne teme............................................................................................................ 1
2.2.2 Učni cilji .................................................................................................................. 2
2.2.3 Učna gradiva in dodatni viri .................................................................................... 2
2.2.3.1
Definicija računalništva v oblaku ................................................................. 2
2.2.3.2
Lastnosti IaaS ................................................................................................ 3
2.2.3.2.1
2.2.3.2.2
2.2.3.2.3
2.2.3.2.4
2.2.3.2.5
2.2.3.2.6
2.2.3.2.7
2.2.3.2.8
2.2.3.2.9
2.2.3.2.10
2.2.3.2.11

2.2.3.3
2.2.3.3.1
2.2.3.3.2
2.2.3.3.3
2.2.3.3.4
2.2.3.3.5

2.2.3.4
2.2.3.4.1
2.2.3.4.2
2.2.3.4.3
2.2.3.4.4
2.2.3.4.5
2.2.3.4.6
2.2.3.4.7

2.2.3.5
2.2.3.5.1
2.2.3.5.2
2.2.3.5.3
2.2.3.5.4

2.2.3.6
2.2.3.6.1

2.2.3.7
2.2.3.7.1
2.2.3.7.2

2.2.3.8

Virtualizacija ......................................................................................................... 3
Avtomatizacija in orkestracija ............................................................................... 3
Cloudbursting ........................................................................................................ 4
Federacija .............................................................................................................. 4
Elastičnost in skalabilnost ..................................................................................... 5
Samopostrežba ...................................................................................................... 5
Večnajemniški model ............................................................................................ 5
Merjenje storitev ................................................................................................... 6
Konsolidacija in centralizacija .............................................................................. 6
Migracija virtualcev ............................................................................................ 6
Replikacija podatkov ........................................................................................... 6

Prednosti IaaS ............................................................................................... 7
Nižji stroški (Poslovni vidik) ................................................................................ 7
Poslovna agilnost (Poslovni vidik) ........................................................................ 7
Hitro razširjanje zmogljivosti, elastičnost, skalabilnost (Tehnološki vidik) ......... 7
Konsolidacija in centralizacija IT sistemov (Tehnološki vidik) ............................ 7
Primeri uporabe ..................................................................................................... 8

Virtualizacija ................................................................................................. 8
Uvod ...................................................................................................................... 8
Strežniška virtualizacija ........................................................................................ 9
Virtualizacija podatkovne shrambe ..................................................................... 13
Virtualizacija omrežij .......................................................................................... 14
Virtualizacija aplikacij ........................................................................................ 15
V/I Virtualizacija ................................................................................................. 15
Virtualizacija in infrastruktura kot storitev ......................................................... 16

Arhitektura .................................................................................................. 17
Osnovni gradniki ................................................................................................. 17
Mrežno računalništvo in računalništvo v oblaku................................................. 18
Elastičnost in skalabilnost ................................................................................... 19
Večnajemniški model .......................................................................................... 21

Visoko zmogljivo računanje v oblaku ........................................................ 23
Klasifikacija HPC ................................................................................................ 23

Federacija in interoperabilnost v okolju oblakov........................................ 24
Interoperabilnost.................................................................................................. 24
Federacija identitete ............................................................................................ 25

Upravljanje infrastrukture kot storitve ........................................................ 26
Certified Cloud Computing Engineer

2.2.4 Študije primerov .................................................................................................... 27
2.2.5 Primeri vprašanj .................................................................................................... 27
2.3 Varnostni postopki v oblaku ........................................................................................ 29
2.3.1 Ključne teme.......................................................................................................... 29
2.3.2 Učni cilji ................................................................................................................ 29
2.3.3 Učna gradiva in dodatni viri .................................................................................. 30
2.3.3.1
Predlog varnostnih postopkov..................................................................... 30
2.3.3.2
Osnovni kriteriji za varnostno vrednotenje platforme oblaka ..................... 30
2.3.3.3
Navodila za uporabo osnovnih kriterijev .................................................... 31
2.3.3.3.1
2.3.3.3.2
2.3.3.3.3
2.3.3.3.4
2.3.3.3.5
2.3.3.3.6
2.3.3.3.7
2.3.3.3.8
2.3.3.3.9
2.3.3.3.10
2.3.3.3.11
2.3.3.3.12
2.3.3.3.13
2.3.3.3.14
2.3.3.3.15
2.3.3.3.16
2.3.3.3.17
2.3.3.3.18
2.3.3.3.19
2.3.3.3.20
2.3.3.3.21
2.3.3.3.22
2.3.3.3.23

Skladnost s standardi in regulativo ter podpora revizijam (angl. audit) .............. 31
Upravljanje s podatki........................................................................................... 32
Fizična varnost računskega centra ....................................................................... 32
Upravljanje s človeškimi viri .............................................................................. 32
Varnostna politika ter politika glede uporabe enkripcije in upravljanja s ključi . 33
Uporabniški dostop ............................................................................................. 33
Izvajanje varnostnih preizkusov (angl. benchmarking) ....................................... 34
Upravljanje s popravki, protivirusna oprema ...................................................... 34
Upravljanje z incidenti ........................................................................................ 34
Uporaba mobilnih naprav .................................................................................. 34
Zaščita aplikacij in njihove izvorne kode .......................................................... 35
Pravni vidiki ...................................................................................................... 35
Upravljanje procesov (operations management) ............................................... 35
Upravljanje s tveganji........................................................................................ 35
Upravljanje z različicami................................................................................... 35
Zagotavljanje odpornosti sistema (angl. resiliency) .......................................... 36
Varnostna arhitektura ........................................................................................ 36
Politika dela z gesli ........................................................................................... 36
Večfaktorska avtentikacija ................................................................................ 37
Upoštevanje varnostnih standardov................................................................... 38
Omrežna varnost ............................................................................................... 38
Sistemski dnevnik ............................................................................................. 38
Prenosna koda ................................................................................................... 38

2.3.4 Študije primerov .................................................................................................... 38
2.3.5 Primeri vprašanj .................................................................................................... 39
2.4 Avtentikacija, avtorizacija, sledenje ............................................................................. 40
2.4.1 Ključne teme.......................................................................................................... 40
2.4.2 Učni cilji ................................................................................................................ 40
2.4.3 Učna gradiva in dodatni viri .................................................................................. 40
2.4.3.1
Funkcionalnost avtorizacije, avtentikacije in sledenja ................................ 40
2.4.3.1.1
2.4.3.1.2
2.4.3.1.3
2.4.3.1.4
2.4.3.1.5
2.4.3.1.6

2.4.3.2
2.4.3.2.1

Storitev za registracijo uporabnikov.................................................................... 40
Storitve za izdajo uporabniških certifikatov ........................................................ 44
Storitve za avtentikacijo ...................................................................................... 45
Storitve za avtorizacijo ........................................................................................ 45
Storitve za sledenje in beleženje dostopa ............................................................ 46
Storitve za zaračunavanje uporabe storitev ......................................................... 47

Mehanizmi za zanesljivost in razpoložljivost AAA storitev ...................... 47
Analiza večjih tveganj glede zanesljivosti .......................................................... 47

2.4.4 Študije primerov .................................................................................................... 50
Certified Cloud Computing Engineer

2.4.5 Primeri vprašanj .................................................................................................... 50
2.5 PaaS .............................................................................................................................. 52
2.5.1 Ključne teme.......................................................................................................... 52
2.5.2 Učni cilji ................................................................................................................ 52
2.5.3 Učna gradiva in dodatni viri .................................................................................. 52
2.5.3.1
PaaS............................................................................................................. 52
2.5.3.1.1
2.5.3.1.2

2.5.3.2
2.5.3.3

PaaS v javnem oblaku ......................................................................................... 52
PaaS v privatnem oblaku ..................................................................................... 53

PaaS v hibridnem oblaku ............................................................................ 54
Lastnosti PaaS ............................................................................................. 54

2.5.3.3.1
2.5.3.3.2
2.5.3.3.3
2.5.3.3.4
2.5.3.3.5
2.5.3.3.6
2.5.3.3.7
2.5.3.3.8
2.5.3.3.9
2.5.3.3.10
2.5.3.3.11
2.5.3.3.12
2.5.3.3.13
2.5.3.3.14

2.5.3.4
2.5.3.5
2.5.3.5.1
2.5.3.5.2

Samopostrežnost.................................................................................................. 55
Avtomatizirano upravljanje ................................................................................. 55
Skalabilnost ......................................................................................................... 56
Večnajemniški model .......................................................................................... 57
Ponovna uporaba virov........................................................................................ 58
Centraliziran nadzor ............................................................................................ 58
Varovana platforma ............................................................................................. 59
Granularen nadzor nad varnostjo dostopa ........................................................... 59
Merjenje in zaračunavanje porabe ....................................................................... 59
Visoka razpoložljivost ....................................................................................... 60
Fleksibilen storitven integracijski model .......................................................... 60
Integriran nabor vsebine .................................................................................... 61
Prilagojen podatkovni nivo ............................................................................... 62
Uporabniški vmesnik po meri ........................................................................... 63

Tipi .............................................................................................................. 63
Poslovni vidik PaaS .................................................................................... 64
Poslovne prednosti PaaS ..................................................................................... 64
Poslovna tveganja PaaS ....................................................................................... 67

2.5.4 Študije primerov .................................................................................................... 68
2.5.5 Primeri vprašanj .................................................................................................... 68
3 Administracija v storitvenem modelu IaaS ..................................................................... 70
3.1 Namen .......................................................................................................................... 70
3.2 IaaS ............................................................................................................................... 70
3.2.1 Ključne teme.......................................................................................................... 70
3.2.2 Učni cilji ................................................................................................................ 70
3.2.3 Učna gradiva in dodatni viri .................................................................................. 70
3.2.3.1
OpenStack ................................................................................................... 70
3.2.3.1.1
3.2.3.1.2

3.2.3.2
3.2.3.2.1

3.2.3.3
3.2.3.3.1
3.2.3.3.2

3.2.3.4
3.2.3.4.1
3.2.3.4.2
3.2.3.4.3

Kratek opis platforme .......................................................................................... 70
Namestitev........................................................................................................... 72

VMware vCloud Director ........................................................................... 73
Kratek opis platforme .......................................................................................... 73

Microsoft Private Cloud .............................................................................. 79
Kratek opis platforme .......................................................................................... 79
Predpogoji za namestitev..................................................................................... 81

Ostale programske rešitve: .......................................................................... 81
OpenNebula ......................................................................................................... 81
Eucalyptus ........................................................................................................... 82
Apache VCL ........................................................................................................ 84
Certified Cloud Computing Engineer

3.2.3.4.4

Nimbus ................................................................................................................ 85

3.2.4 Študije primerov .................................................................................................... 85
3.2.5 Primeri vprašanj .................................................................................................... 86
4 Bibliografija ....................................................................................................................... 90
Certified Cloud Computing Engineer

Kazalo slik
SLIKA 1: HIPERVIZOR............................................................................................................................................. 10
SLIKA 2: SHEMA RAČUNALNIŠTVA V OBLAKU........................................................................................................ 18
SLIKA 3: SKALABILNOST........................................................................................................................................ 20
SLIKA 4: RAZLIČNI NIVOJI INFRASTRUKTURE......................................................................................................... 22
SLIKA 5: REGISTRACIJA ODJEMALCA KOT JO DEFINIRAN STANDARD PKI. ............................................................. 45
SLIKA 6: ARHITEKTURA REŠITVE VMWARE VCLOUD. ........................................................................................... 73
SLIKA 7: DELOVANJE REŠITVE VMWARE VCLOUD DIRECTOR. .............................................................................. 75
SLIKA 8: GLAVNE KOMPONENTE MICROSOFT HYPER-V CLOUD. ........................................................................... 79
Certified Cloud Computing Engineer

Namen učnega načrta

1

Namen učnega načrta je jasno predstaviti nabor znanja in veščin, ki ji mora obvladati
certificirani inženir oblaka (angl. »Certified Cloud Computing Engineer«). Namenjen je
potencialnim inženirjem, ki se želijo pripraviti za certificiranje, prav tako pa tudi ustvarjalcem
učnih gradiv. Načrt vsebuje podrobne sezname ključnih področij, ki jih je potrebno
obravnavati, učne cilje, ki jih želimo doseči, primere učnih gradiv in reference na dodatne
vire, predlog študij primerov ter vprašanja za preverjanje naučenega. Razdeljen je na dva dela:
 splošni, ki pokriva osnovne koncepte oblaka,
 administracija v storitvenem modelu IaaS, ki zajema konkretne tehnologije in
najbolj pogosta opravila, ki jih izvaja administrator oblaka.

2 Splošni del
2.1 Namen
V tem delu pokrijemo osnovne koncepte oblaka, ki jih mora osvojiti certificirani inženir
oblaka, ne glede na konkretno tehnologijo ali tip oblaka oziroma ponudnika izbrane
programske opreme za oblak. Šele z dobrim razumevanjem obravnavanih konceptov lahko
potencialni inženir sprejema dobre odločitve pri upravljanju, načrtovanju in migraciji oblaka.
Vsebina obsega osnovne definicije, pregled področja in opis glavnih tehnologij nad katerimi
je zgrajen oblak. Poudarek je predvsem na IaaS modelu oblaka, predstavljeni pa so tudi
osnovni koncepti PaaS in SaaS.

2.2 Pregled področja
2.2.1 Ključne teme









definicija računalništva v oblaku, modeli oblakov, značilnosti oblakov;
lastnosti IaaS:
 virtualizacija,
 avtomatizacija in orkestracija,
 cloud bursting, izkoriščanje zunanjih oblakov za pokrivanje konic uporabe,
 federacija,
 elastičnost in skalabilnost,
 samopostrežba,
 večnajemniški model;
merjenje storitev;
konsolidacija in centralizacija;
migracija virtualnih strojev;
replikacija podatkov;
prednosti IaaS:
 poslovni vidik nižjih stroškov,
1
Certified Cloud Computing Engineer








 poslovna agilnost,
 hitro razširjanje zmogljivosti, elastičnost, skalabilnost,
 kosolidacija in centralizacija IT sistemov;
virtualizacija:
 strežniška virtualizacija, hipervizorji,
 virtualizacija podatkovne shrambe,
 virtualizacija omrežij,
 virtualizacija aplikacij,
 V/I virtualizacija;
arhitektura oblakov:
 osnovni gradniki,
 elastičnost in skalabilnost,
 večnajemniški model, varna souporaba računalniških virov;
visoko zmogljivo računalništvo;
federacija in interoperabilnost v okolju oblakov.

2.2.2 Učni cilji





Inženir podrobno razume koncept virtualizacije.
Inženir zna pojasniti večnajemniški model in razume tveganja, ki se pojavijo pri tem
modelu.
Inženir zna predvidevati konice uporabe zasebnega oblaka in jih pokrivati
s ”cloudburstingom”.
Inženir pozna osnovne značilnosti, ki oblak definirajo.

2.2.3 Učna gradiva in dodatni viri
2.2.3.1 Definicija računalništva v oblaku
Iskanje enovite definicije računalništva v oblaku je precej težavno. Če samo v Googlov
iskalnik vnesemo besedo »cloud computing«, lahko najdemo vsaj trideset različnih definicij o
tej veji računalništva. Najbolj pogosto uporabljene in citirane definicije v strokovni literaturi
bomo obravnavali v nadaljevanju.
Wikipedia definira računalništvo v oblaku kot »računalništvo, pri katerem so dinamično
razširljiva in pogosto virtualizirana računalniška sredstva na voljo kot storitev preko
interneta« [25].
Gartner Group, kot ena vodilnih analitskih in svetovalnih hiš iz področja informacijske
tehnologije, definira računalništvo v oblaku kot »slog računalništva, kjer so masivno
skalabilne IT zmogljivosti dostavljene zunanjim odjemalcem kot storitev, z uporabo
internetnih tehnologij« [26].
Podjetji Forrester in Burton sta v svetu IT analitike in svetovanja prav tako zelo pomembna
igralca. Slednji trdi, da je računalništvo v oblaku »nabor disciplin, tehnologij in poslovnih
modelov za prikaz IT virov kot storitev na zahtevo« [27]. Forrester pa definira računalništvo v
oblaku kot »množico skalabilnih računalniških virov za gostovanje, ki omogočajo
zaračunavanje glede na dejansko porabo« [28].
2
Certified Cloud Computing Engineer

Ena pogosteje uporabljenih definicij računalništva v oblaku je definicija Nacionalnega
inštituta standardov in tehnologije – NIST (National Institute of Standards and Technology).
NIST predstavlja agencijo, ki deluje znotraj gospodarske zbornice Združenih držav Amerike.
Razlog za široko uporabnost te definicije tiči v velikem vplivu ameriške administracije na
računalništvo v oblaku ter dejstvu, da imajo dodeljenega 70 milijard dolarjev letnega
proračuna in tako predstavljajo največjega uporabnika IT storitev na svetu. NIST
računalništvo v oblaku definira kot »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
oskrbovani (angl. Provisioned) in izdani (angl. Released) z minimalnim trudom vodstva
oziroma z interakcijo ponudnika storitve« [29].
Ob podrobni analizi zgoraj navedenih definicij računalništva v oblaku lahko hitro ugotovimo,
da sta poudarka zmeraj dva. Prvi je na elastičnosti in skalabilnosti IT virov, drugi pa je na
dostopnosti v obliki storitev.
Računalništvo v oblaku se poleg klasične virtualizacije sestoji še iz avtomatizacije in
orkestracije storitev ter »multitenancy« zmožnosti. Ta je podprta z enotnimi, skalabilnimi
bazeni strojne opreme, programsko opremo ter omrežnimi kapacitetami, da bi omogočili
dinamično dostavo IT in aplikacijskih funkcionalnostih na zahtevo. Poslovni model
računalništva v oblaku na drugi strani ponuja končnim uporabnikom različne stopnje
fleksibilnosti v smislu uporabe storitev, zaračunavanja (angl. Billing) in samopostrežnega
upravljanja ter oskrbovanja (angl. Provisioning).
Model storitev v oblaku je lahko apliciran v treh sledečih domenah:
 strežniki, shramba, omrežje ali infrastruktura kot storitev (IaaS),


funkcionalnosti poslovnih aplikacij ali programska oprema kot storitev (SaaS),



okolje za razvoj aplikacij ali platforma kot storitev (PaaS) [23].

2.2.3.2 Lastnosti IaaS
Infrastruktura kot storitev je fundamentalna komponenta storitvenega modela računalništva v
oblaku. Njene bistvene lastnosti so sledeče:

2.2.3.2.1 Virtualizacija
Strežniška virtualizacija – zmožnost izvajanja več slik OS/aplikacij (angl. Stack Images) na
eni sami fizični strojni opremi – predstavlja resnično vrednost IaaS nivoja. Hipervizorji (angl.
Hypervisor) izvajajo funkcijo deljenja (angl. Dividing) računalniških virov fizičnega strežnika
na logične vire ali »virtualne stroje«, ki delujejo kot izolirana računalniška okolja in jih lahko
po potrebi premikamo in kopirano med različnimi fizičnimi strežniki. Strežniška virtualizacija
nam pomaga pri omejevanju povečevanja strojne opreme s konsolidacijo aplikacij na manj
fizičnih naprav. S tem izboljša utilizacijo strežniških virov, sprosti prostor v podatkovnem
centru in zniža ceno operacij in energije.

2.2.3.2.2 Avtomatizacija in orkestracija
Tehnologija orkestracije in avtomatizacije je postavljena nad infrastrukturo virtualizacije in
ponuja mehanizem za hitro oskrbo in skaliranje IT okolja ter vzdrževanju jedra (angl. Core)
3
Certified Cloud Computing Engineer

infrastrukture oblaka. Sloj za orkestracijo kombinira uporabnikove zahtevke z informacijami
logičnega nivoja z namenom realizacije uporabnikovih zahtev. Sloj za orkestracijo se na
primer odloči o lokaciji začetne postavitve in sprejema odločitve za premikanje zahtevanih
virov. Te sprejema med drugim na osnovi pričakovane obremenitve in količine virov, ki so še
na voljo v podatkovnem centru.

2.2.3.2.3 Cloudbursting
Računalništvo v oblaku in cloudbursting sta novi, obetavni paradigmi IT področja. Zmožnost
uporabe strojne opreme in storitev na zahtevo ter plačila glede na porabo ustvarja velike
potenciale. Cloudbursting rešuje problem obremenitvenih konic sistema in predstavlja enega
izmed bistvenih karakteristik računalništva v oblaku. Opisuje proceduro v kateri so nove
kapacitete zasedene glede na potrebe in sproščene, ko več niso potrebne. V kontekstu
računalništva v oblaku, cloudbursting pomeni, da če je sistem preobremenjen iz kakšnega koli
razloga, izenačevalec obremenitev (angl. Load Balancer) avtomatično integrira nova vozlišča
(angl. Nodes) v oblaku. Velika prednost cloudburstinga je ta, da je visoko-skalabilen sistem
dostopen brez interakcije s človekom. Aplikacija lahko skalira odvisno od obremenitev in
tako bistveno zmanjša stroške. Problem v splošnem predstavlja to, da breme aplikacije po
navadi ni enakomerno porazdeljeno preko daljšega časovnega obdobja. Med božičnim časom
so na primer zahteve po Amazonovi spletni trgovini veliko večje kot običajno. V takšnih
primerih je potrebna dinamična skalabilnost oziroma cloudbursting. Aplikacija se mora
prilagoditi obremenitvam tako, da se v primeru preobremenjenosti vozlišča dodajo oziroma v
nasprotnem primeru avtomatično odstranijo.

2.2.3.2.4 Federacija
Federacija v splošnem pomeni zbirko neodvisnih entitet, ki se obnašajo kot ena sama entiteta
in pri tem ohranjajo individualno avtonomnost. Federacija v kontekstu računalništva v oblaku
pomeni federacijo med več ponudniki storitev računalništva v oblaku znotraj ene upravljavske
platforme.
Za polno izpolnitev obljub računalništva v oblaku morajo obstajati tehnološke zmogljivosti za
federacijo različnih podatkovnih centrov, tudi tistih v lasti drugih organizacij. Samo s
pomočjo federacije in interoperabilnosti lahko ponudniki infrastrukture izkoristijo agregirano
zmogljivost, da bi zagotovili iluzijo neskončnosti virov. Infrastrukturi, ki je skladna s to
paradigmo, pravimo federiran oblak. Poleg tega federacija iz ekonomskega vidika pozitivno
vpliva na konkurenčnost in inovativnost, saj tudi manjšim in srednje velikim podjetjem
omogoča, da lahko lažje vstopijo na trg ponudnikov infrastrukture.
Eden izmed vmesnikov, ki omogoča federacijo je CDMI1 (Cloud Data Management
Interface). Standard CDMI je bil v zadnjih letih razvit s strani vodilnih ponudnikov shrambe,
uporabnikov in raziskovalcev tehnologij oblaka. Cilji tega standarda so ponuditi standardni
vmesnik, preko katerega bodo lahko odjemalci komunicirali; ponuditi standardni pristop za
dodajanje specifičnih funkcionalnostih ponudnika, ne da bi pri tem onemogočali
kompatibilnost ter omogočiti standardizirane primere uporabe federacije med različnimi
1

CDMI – vmesnik za upravljanje podatkov v oblaku.
4
Certified Cloud Computing Engineer

oblaki. Ti primeri uporabe predstavljajo možnost skaliranja preko omejitev enojnega
podatkovnega sistema, delegirano shrambo, distribucijo shranjenih podatkov (CDN) in
večnajemniški model (angl. Multitenancy).

2.2.3.2.5 Elastičnost in skalabilnost
Zmožnosti oblaka so lahko rapidno in elastično oskrbovane, v nekaterih primerih lahko
skalirajo tudi avtomatično. Zmožnosti, ki so na voljo za oskrbovanje, dajejo iluzijo
neskončnosti virov in so na voljo uporabnikom kadarkoli jih ti potrebujejo v poljubni količini.
Elastičnost je zmožnost postavitve dodatnih virov v oblak, kot narekujejo potrebe. To je ena
izmed ključnih karakteristik pri odločanju za ponudnika. Precej klasičnih ponudnikov
gostovanja in upravljanih storitev so klasične postavitve strežnikov preprosto preimenovali v
IaaS. V resnici ponujajo namenske farme strežnikov in grafične nadzorne plošče, da bi
pridobili čim več strank. Isti strežnik, ki bi sicer stal več sto dolarjev na mesec preimenujejo v
oblak in postavijo višjo ceno.

2.2.3.2.6 Samopostrežba
IaaS pristop v IT-ju predstavlja evolucijo kolokacije gostovanja (angl. Hosting) in
podatkovnih centrov, ki omogočajo dostop do strojne ali programske opreme, omrežne
tehnologije ter podpore do oddaljenih, dislociranih storitev. Inovacija oz. dodana vrednost
IaaS nivoja je ravno zmožnost, da stranka upravlja, konfigurira in skalira infrastrukturo na
samopostrežni način. Samopostrežba na zahtevo omogoča oskrbovanje, postavitev in dostop
do storitev preko samopostrežnega modela. Vmesnik samopostrežbe za oskrbovanje
strežnikov, izenačevanje obremenitve (angl. Load Balancing), podporo podatkov in
programsko opremo predstavlja osnovni nabor poslovnih zahtev. Vmesnik ali nadzorna
plošča uspešnega IaaS ponudnika mora biti dostopna kadarkoli pri čemer mora zagotavljati
visoko zanesljivost računalniških virov in samega sistema. Integrirano poročanje (pogled
storitev v uporabi ali izvajanju) predstavlja lastnost, ki je potrebna pri vsakodnevnem
upravljanju nameščenih storitev. Pri večini današnjih ponudnikov je težava v zmedi IaaS
uporabnikov, ki samopostrežbe ne vidijo kot storitev. Kritična infrastruktura, nad katero
delujejo poslovne aplikacije, v resnici zahteva visoko stopnjo storitev in podpore s strani IaaS
ponudnika.

2.2.3.2.7 Večnajemniški model
Da bi ponudniki lahko stregli več strankam z uporabo večnajemniškega modela, se morajo
računalniški viri nahajati v bazenih. Pri tem so različni fizični in virtualni viri dinamično
dodeljeni in odvzeti glede na potrebe uporabnika. Prisoten je občutek lokacijske neodvisnosti,
pri čemer stranka nima nadzora oziroma vednosti o točni lokaciji ponujenih virov, vendar ima
možnost specificirati lokacijo na višjem nivoju abstrakcije (npr. država, podatkovni center).
Primeri virov vključujejo shrambo, procesno moč, pomnilnik, pasovno širino in virtualne
stroje. Vse oblike IaaS nivoja so predstavljene kot rešitve, ki podpirajo »multitenancy« oz.
deljeno/skupno infrastrukturo. V primeru privatnih oblakov, ki so namenjeni izključno eni
stranki oz. organizaciji, je fizična infrastruktura deljena med več različnimi internimi

5
Certified Cloud Computing Engineer

poslovnimi enotami. Javni oblaki uporabljajo agregirane platforme, ki si jih delijo stranke,
katere med seboj nimajo nujno poslovne povezave.

2.2.3.2.8 Merjenje storitev
Sistemi v oblaku samodejno nadzirajo in optimizirajo porabo virov s pomočjo merjenja
porabe na določenem nivoju abstrakcije, ki je primeren za posamezen tip storitve (shramba,
procesiranje, pasovna širina ali aktivni uporabniški računi). Uporabo virov je mogoče
spremljati (angl. Monitor), nadzirati (angl. Control) in poročati (angl. Report) na način, ki je
transparenten tako za ponudnika, kot tudi za uporabnika storitve. Organizacije plačujejo zgolj
za tiste vire, ki jih dejansko porabijo. Večina organizacij in ponudnikov najema programsko
opremo pri zunanjih izvajalcih z razlogom izvedbe zaračunavanja ter utililizacije virov.

2.2.3.2.9 Konsolidacija in centralizacija
S ponujanjem skupne, adaptivne platforme lahko IaaS zamenja obstoječe heterogene, pogosto
neizkoriščene strežnike in shrambo s standardizirano infrastrukturo za izvajanje in skaliranje
internih B2B ter B2C aplikacij. Ko so ti enotni IaaS viri povezani v poslovno omrežje z VPN2
ali katero drugo tehnologijo, lahko podjetja koristijo zmožnosti oblaka kot razširitev internih
IT virov ali kot rešitev za kontinuirano okrevanje po incidentu [23].

2.2.3.2.10

Migracija virtualcev

Migracija virtualnih strojev je dobro vpeljan pristop premikanja računalniških virov v LAN
okolju, ker omogoča migracijo virtualnih strojev brez bistvenega vpliva na aplikacijski nivo.
Mehanizmi povezljivosti pri LAN omrežjih omogočajo razširjanje uporabe ter mehanizmov
na WAN okolja. Zaradi vpliva odzivnosti oziroma latence v WAN okolju, moramo biti
previdni pri zagotavljanju učinkovitosti in zmogljivosti mehanizma migracije virtualnih
strojev.

2.2.3.2.11

Replikacija podatkov

Shramba je pomembna komponenta računalniških virov, ki jih uporabljamo v oblaku.
Kadarkoli uporabljamo vire v oblaku je pomembno, da celovito preučimo porabo tako
računske moči kot tudi shrambe. Za aplikacije je pomembno, da so računalniški viri in
podatki na skupni lokaciji zaradi učinkovitosti, latence in pasovne širine. Premikanje
podatkov znotraj ali med podatkovnimi centri lahko zahteva precejšnjo količino časa. Ta čas
pogosto odraža celotno trajanje migracije in je običajno daljši od same migracije virtualnega
stroja. Pri premikanju podatkov je pomembno, da potrebo po migraciji predvidimo, saj se
podatki replicirajo medtem, ko se aplikacija še vedno izvaja.
Replikacijo podatkov lahko v osnovi razdelimo na sinhrono in asinhrono. Pri sinhroni
replikaciji se vsak blok podatkov, ki ga shranimo na lokalni sistem, hkrati shrani še na
oddaljeno lokacijo in šele nato se shranjevanje na lokalnem sistemu zaključi. Pri asinhroni
replikaciji podatkov na lokalni sistem in oddaljeno lokacijo ne shranjujemo hkrati.
Shranjevanje se v tem primeru zaključi že ob uspešnem shranjevanju na lokalni sistem, kar
2

VPN – navidezno omrežje.
6
Certified Cloud Computing Engineer

lahko pripelje do nekonsistence med lokalnimi in oddaljenimi podatki. Zaradi dostopnega
časa in drugih omejitev sinhrone replikacije se pogosto uporablja kombinacija asinhrone in
sinhrone replikacije [24].
2.2.3.3 Prednosti IaaS

2.2.3.3.1 Nižji stroški (Poslovni vidik)
S poslovnega vidika so nižji stroški ena glavnih prednosti uporabe storitev oblaka. V primeru
javnih oblakov lahko organizacije po potrebi na enostaven način zakupijo dostop do
informacijske tehnologije, ki jo za organizacijo upravlja nekdo drug. Pri tem so investicijski
stroški eliminirani in se preslikajo v operativne stroške. Uporabnikom se zaračuna zgolj
toliko, kot dejansko uporabijo in za storitve plačujejo mesečno. Kot posledica pa se bistveno
zmanjša tudi vrednost celotnih stroškov lastništva (TCO).

2.2.3.3.2 Poslovna agilnost (Poslovni vidik)
Poslovni procesi, kot so prodaja, podpora uporabnikom, razvoj produktov in interna
komunikacija ali kolaboracija so vedno bolj odvisni od informacijske tehnologije in omrežij.
Organizacije potrebujejo več dinamične IT infrastrukture, da se lahko odzivajo na nove
poslovne priložnosti. IaaS med drugim omogoča tudi zagotavljanje konsistentne IT
implementacije med različnimi lokacijami in zagotavlja neprekinjenost operacij. IaaS med
drugim tudi pohitri čas na tržišče (angl. Time to Market) in čas do ustvarjanja prihodkov
(angl. Time to Revenue). Interno IT osebje lahko tako daje prednost ključnim poslovnim
dejavnostim in posveti manj časa vzpostavitvi infrastrukture.

2.2.3.3.3 Hitro razširjanje zmogljivosti, elastičnost, skalabilnost (Tehnološki vidik)
IaaS omogoči IT osebju, da se osredotoči na ključne poslovne projekte namesto na
zagotavljanje enotne strojne opreme. Odstranitev časovno potratnega cikla za nabavo in
implementacijo ter zmožnost dostopa do IT virov po potrebi pomeni, da lahko čas, ki je
potreben za razvoj in postavitev aplikacij v organizaciji merimo v dnevih in tednih namesto
mesecih. Poleg tega IaaS rešitve IT uporabnikom omogočajo še prilagoditev virov
specifičnemu računalniškemu opravilu, pri čemer lahko viri po potrebi tudi skalirajo. Poleg
tega se omejena ali manjkajoča infrastruktura IT oddelkov ne omejuje več in so tako lahko
bolj inovativni na področju IT projektov s katerimi znižujejo stroške in posledično ustvarjajo
večje prihodke.

2.2.3.3.4 Konsolidacija in centralizacija IT sistemov (Tehnološki vidik)
IaaS lahko s ponujanjem skupne in prilagodljive platforme zamenja obstoječe heterogene in
pogosto neizkoriščene strežnike ter podatkovna skladišča s standardizirano infrastrukturo za
poganjanje in razširjanje aplikacij. Ti enotni IaaS viri lahko služijo kot razširitev internih IT
virov ali pa kot oddaljena rešitev za okrevanje po incidentu oziroma rešitev za neprekinjeno
poslovanje [23].

7
Certified Cloud Computing Engineer

2.2.3.3.5 Primeri uporabe
Sezonske potrebe in potrebe za kratek čas
IaaS odstranjuje potrebo po investiciji v računalniške vire, ki so kasneje pogosto
neizkoriščeni, saj virov ni potrebno načrtovati za obremenitvene konice.
Nepredvidljive obremenitvene konice
IaaS omogoča dinamično razširjanje kapacitet v primeru, ko se poveča delovno breme
aplikacije. Primer takšnih aplikacij so spletne strani, kjer povečan promet sprožijo zunanji
nepredvidljivi dogodki.
Testiranje novih aplikacij
IaaS ponuja platformo, kjer lahko z malo tveganja in brez visokih začetnih stroškov
preverimo nov koncept, razvijamo in testiramo.
Zahteve po rapidnem razširjanju shrambe
Medijske spletne strani, internetni video, avdio in številni poslovni podatki zahtevajo
shrambo, ki ni samo skalabilna temveč tudi dostopna kadarkoli.
Ovire kapacitet podatkovnih centrov
Z upoštevanjem konsolidacije podatkovnega centra bo določena delovna bremena (še posebej
nekritična opravila) potrebno migrirati navzven (angl. Offsite).
Poslovna kontinuiteta/okrevanje po incidentu
IaaS je lahko uporabljen za oskrbo (angl. Provisioning) cenejših visoko-dostopnih
aplikacijskih okolij z lažjim upravljanjem [23].
2.2.3.4 Virtualizacija

2.2.3.4.1 Uvod
Ideja o virtualizaciji je stara že vsaj tri desetletja in je bila v 70ih dobro uveljavljena in
sprejeta s strani uporabnikov. V 80ih in 90ih je izgubila na popularnosti zaradi prihoda poceni
osebnih in mikroračunalnikov, zaradi česar se je centralizirana infrastruktura vedno bolj
smatrala kot predraga za nakup in vzdrževanje. Posledično bili smo od 90ih dalje priča
decentralizaciji podatkovnih centrov. Velikost infrastrukture je tako s potrebami po več
aplikacijah in aplikacijskih okoljih skalirala eksponentno. Takšna infrastruktura je prinesla
nove omejitve. Pogosto je bila slabo izkoriščena, zaradi zagotavljanja podpore fizični
infrastrukturi so se povišali operativni stroški, višji so bili stroški upravljanja z infrastrukturo,
zagotavljanje delovanja ob izpadu in zaščite pred nesrečami pa je bilo težavno.
Virtualizacijo lahko razumemo tudi kot kombinacijo obeh omenjenih paradigem, in sicer
centralizacije in decentralizacije. Namesto da za vsako aplikacijo kupimo in vzdržujemo
celoten fizični strežnik, lahko vsaki aplikaciji zagotovimo lastno izvajalno okolje s pomočjo
virtualizacije. Vsaka aplikacija ima tako na voljo okolje z vhodno/izhodnimi možnostmi,
procesno močjo in pomnilnikom, pri čemer souporabljajo fizično strojno opremo. S tem
zagotovimo prednosti decentralizacije, na primer večjo varnost kot tudi prednosti
centralizacije, na primer boljši izkoristek in večjo donosnost investicij v tehnologijo.
Eden glavnih ciljev virtualizacije je konsolidacija storitev in shrambe, s čimer dosežemo višjo
stopnjo utilizacije. Pogosto lahko zasledimo mnenje, da naj strežniki ne delujejo blizu polne
obremenitve, vendar je pravilo ravno nasprotno. Strežniki morajo biti obremenjeni, da bi
8
Certified Cloud Computing Engineer

lahko zmanjšali količino fizičnih strojnih platform in povečali donosnost investicije. Poleg
višje utilizacije z virtualizacijo dosežemo še podporo zastareli programski opremi in
zmožnost izvajanja več različnih operacijskih sistemov na isti fizični platformi hkrati.
Virtualizacija prinaša še prednosti na področju zanesljivosti in varnosti. Zagotovljen je visok
nivo izolacije, zaradi česar napaka enega virtualnega stroja ne vpliva na drugega. Z
virtualizacijo si lahko pomagamo tudi pri zagotavljanju delovanja ob izpadu. Virtualni
strežniki so lahko v pripravljenosti in jih aktiviramo po potrebi, takrat ko jih potrebujemo.
Tudi v primeru aktivne/pasivne gruče (angl. Cluster) lahko z virtualizacijo zmanjšamo
količino potrebnih fizičnih strojnih platform za vozlišča namenjena delovanju v primeru
izpada. Z vidika varnosti lahko izolacija, ki zagotavlja, da napake v delovanju ne vplivajo na
druge virtualne strežnike, izolira tudi varnostne napake. Varnostna ogroženost določenega
virtualnega stroja tako ne vpliva na druge virtualne stroje. Možna je tudi implementacija
rešitev, ki takšnemu virtualnemu stroju omeji porabo računalniških virov ali pa ga celo
zaustavi. Z varnostnega vidika virtualizacije so pomembne tudi varnostne nastavitve, ki jih
lahko prilagodimo vsakemu virtualnemu stroju. Če aplikacije izvajamo v operacijskem
sistemu, ki deluje neposredno nad fizično strojno opremo, tega ne moremo storiti. Tako so vse
nastavitve, kot je na primer administratorski dostop, skupne [9].
Virtualizacijo pogosto razumemo samo kot dekompozicijo virov na več manjših entitet in jo
običajno omenjamo samo v povezavi z virtualnimi stroji ali strežniško virtualizacijo. Pojem
virtualizacije lahko namreč predstavlja tudi agregacijo več manjših virov v eno entiteto, z
namenom, da skrijemo ali zamaskiramo konkretne računalniške vire, ki delo izvajajo v
ozadju.

2.2.3.4.2 Strežniška virtualizacija
Strežniška virtualizacija je najpogostejša oblika virtualizacije, ki jo uporabljamo dandanes.
Implementacijo strežniške virtualizacije lahko zasledimo za vse arhitekture in platforme
procesorjev, med katerimi je najpopularnejša IA-32 ali x86.
2.2.3.4.2.1 Virtualni stroj

Virtualni stroji so strogo izolirani programski vsebniki, v katerih se lahko izvaja lasten
operacijski sistem in aplikacije na enak način, kot bi se izvajale na fizični strojni opremi.
Virtualni stroj se obnaša enako kot fizični računalnik in vsebuje lastne virtualne vire, kot so
CPE, pomnilnik, shramba in omrežni vmesnik. Operacijski sistem in aplikacije, ki se izvajajo
v takšnem virtualnem stroju niso zmožne razlikovati med virtualnim in fizičnim strojem. Ker
virtualni stroji v celoti temeljijo na programski opremi, imajo več prednosti napram fizični
strojni opremi:
 Kompatibilnost – Virtualni stroji se podobno kot fizični računalniki sestojijo iz
nabora strojne opreme, kot so na primer matična plošča, grafična kartica, mrežna
kartica ipd. Posledično so virtualni stroji kompatibilni z vsemi standardnimi x86
operacijskimi sistemi, aplikacijami in gonilniki. V virtualnih strojih lahko zato
izvajamo programsko opremo, ki bi jo sicer izvajali na fizičnem x86 računalniku.
 Izolacija – Kljub temu, da virtualni stroji uporabljajo iste strojne vire enega
računalnika ostajajo popolnoma izoliranimi, kot da bi bili ločeni fizični stroji. V
9
Certified Cloud Computing Engineer





primeru, da eden izmed virtualnih strojev preneha delovati, bodo preostali virtualni
stroji, ki se izvajajo na istem fizičnem stroju še vedno delovali. Izolacija v virtualnem
okolju je pomembna lastnost, ki omogoča višjo razpoložljivost in varnost aplikacij,
napram klasičnim sistemom, ki niso virtualizirani.
Ograjevanje – Virtualni stroj je programski vsebnik, ki ograjuje popoln nabor
virtualne strojne opreme, operacijskega sistema in aplikacij v en sam programski
paket. Zaradi tega je virtualne stroje enostavno upravljati in prenašati. Virtualne stroje
lahko enako kot druge programske datoteke enostavno prenesemo na novo lokacijo
tudi preko omrežij.
Neodvisnost od strojne opreme – Virtualni stroji so popolnoma neodvisni od fizične
strojne opreme. Virtualne stroje lahko kreiramo z virtualnimi komponentami, ki so
drugačne od komponent fizične strojne opreme. Skupaj z lastnostjo ograjevanja nam
neodvisnost od strojne opreme zagotavlja popolno svobodo, da prenašamo virtualne
stroje iz enega x86 računalnika na drugega, brez da bi spreminjali gonilnike naprav,
operacijski sistem ali aplikacije. Neodvisnost od strojne opreme zagotavlja tudi, da
lahko na enem fizičnem računalniku izvajamo več različnih operacijskih sistemov
hkrati [14].

2.2.3.4.2.2 Hipervizor

Pri x86 arhitekturi je za podporo strežniški virtualizaciji med strojno in programsko opremo
dodan dodaten virtualizacijski sloj imenovan tudi nadzornik virtualnega stroja (angl. Virtual
Machine Monitor - VMM) ali hipervizor. Ta omogoča hkratno izvajanje več instanc
operacijskih sistemov znotraj virtualnih strojev na enem samem fizičnem računalniku, kar
prikazuje slika 1. Fizični viri, kot je na primer CPE, delovni spomin, shramba in V/I naprave
pa se dinamično delijo med virtualne stroje [15].

Slika 1: Hipervizor.

Za virtualizacijo na x86 sistemih obstajata dva različna pristopa:
 Pristop s hipervizorjem tipa 2, kjer se sloj za virtualizacijo namesti kot aplikacija na
že nameščen operacijski sistem in posledično podpira širok nabor strojne opreme.
 Pristop s hipervizorjem tipa 1, kjer se sloj za virtualizacijo namesti neposredno na
ciljno strojno opremo. Takšen pristop je učinkovitejši, saj ima neposreden dostop do
fizičnih virov, pri čemer mu za dostop do strojne opreme ni potrebno uporabljati

10
Certified Cloud Computing Engineer

operacijskega sistema, kot je to potrebno pri hipervizorju tipa 2. Takšen pristop poleg
višje učinkovitosti omogoča še večjo skalabilnost, robustnost in zmogljivost.
Funkcionalnosti hipervizorjev se med seboj precej razlikujejo v implementaciji in arhitekturi,
kateri so namenjeni. Za uspešno virtualizacijo morajo biti sposobni deliti CPE, delovni
spomin in V/I naprave za uspešno virtualizacijo sistema [9].
2.2.3.4.2.2.1 Virtualizacija CPE
Operacijski sistemi x86 so zasnovani za izvajanje neposredno na strojni opremi. Arhitektura
x86 ponuja operacijskim sistemom in aplikacijam za nadzor dostopa do strojne opreme štiri
nivoje privilegijev imenovane ring 0, ring 1, ring 2 in ring 3. Uporabniške aplikacije se
tipično izvajajo na nivoju ring 3, medtem ko mora imeti operacijski sistem neposreden dostop
do pomnilnika in strojne opreme, zaradi česar mora izvesti privilegirane ukaze na nivoju ring
0 [15].
Virtualizacija ponuja ring 0 na višjih nivojih (ringih) na način, da hipervizorja postavlja v
enega izmed nivojev z manj privilegiji, hipervizor pa ponuja ring 0 implementacijo za
gostujoče virtualne stroje [9]. Dodatno omogočanje virtualizacije otežijo še določene
občutljive inštrukcije, ki jih zaradi drugačne semantike pri izvajanju na dejanskem ring 0
nivoju ni mogoče učinkovito virtualizirati.
Obstajajo tri različne tehnike obravnave občutljivih in privilegiranih inštrukcij za
virtualizacijo CPE na x86 arhitekturi:
Polna virtualizacija
z uporabo binarnega prevajanja (angl. Binary Translation), ki kombinira tehnike
neposrednega izvajanja in binarnega prevajanja. Inštrukcije, ki jih ni mogoče virtualizirati se
v času izvajanja nadomestijo z zaporedjem inštrukcij, ki imajo na virtualizirano strojno
opremo enak učinek. Preostale inštrukcije pa se izvedejo neposredno na procesorju [15].
Na takšen način pridobimo sistem, ki omogoča izvajanje vsake nespremenjene programske
opreme, ki bi jo sicer lahko izvajali na fizični strojni opremi.
Takšen način virtualizacije posledično nudi podporo največ različnim gostujočim
operacijskim sistemom, ki jih lahko namestimo, brez da jih spremenimo. Zmogljivost
virtualnih strojev je podobna, kot če bi se izvajali nativno.
Polna virtualizacija za uspešno delovanje zahteva ustrezno kombinacijo strojne in programske
opreme. Eden izmed izzivov polne virtualizacije je prestrezanje in simulacija privilegiranih
klicev. Takšni klici so na primer V/I inštrukcije, ki jih v osnovni obliki x86 arhitekture ni
mogoče prestrezati. Prestrezanje in emulacija teh izrazov ima lahko negativen vpliv na
zmogljivost sistema [9].
S podporo operacijskega sistema ali paravirtualizacija.
Ta s hiperklici (angl. Hypercall) nadomešča inštrukcije, ki jih ni mogoče virtualizirati, za kar
potrebuje operacijski sistem s spremenjenim kernelom. Zaradi načina komunikacije z
virtualizacijskim slojem v obliki hiperklicev se zmogljivost in učinkovitost virtualnih strojev
močno izboljša [15].
Ključni del paravirtualizacije je virtualizacija naslovnega prostora, ki vsakemu virtualnemu
stroju zagotavlja unikaten naslovni prostor.

11
Certified Cloud Computing Engineer

Paravirtualizacija je v primerjavi s polno virtualizacijo enostavnejša za implementacijo, saj
hipervisorju ni potrebno prestrezati in preoblikovati nizkonivojskih inštrukcij.
Slabost paravirtualizacije je, da moramo operacijski sistem precej prilagoditi, da bi ga lahko
izvajali v paravirtualiziranih virtualnih strojih. Poleg tega so takšni virtualni stroji slabo
prenosljivi in obratno združljivi (angl. Backward Compatible) [9].
Strojno podprta virtualizacija
Z dodatnim načinom izvajanja, ki omogoči, da se hipervizor izvaja z najvišjimi privilegijem
na nivoju nižje od ring 0. Na ta način hipervizor avtomatsko prestreže privilegirane klice
gostujočega operacijskega sistema zaradi česar ni potrebe po paravirtualizaciji ali binarnemu
prevajanju [15].
Ta način virtualizacije izkorišča novejše tehnologije za strojno podprto virtualizacijo na x86
arhitekturi, kot sta na primer tehnologiji Intelova VT in AMD-V. Podobno kot pri polni
virtualizaciji, lahko tudi tukaj namestimo nespremenjen operacijski sistem.
Prednosti tega tipa virtualizacije so:
 inštrukcije ki jih ne moremo virtualizirati lahko prestreže in emulira že strojna
oprema,
 podprta je virtualizacija 64-bitnih operacijskih sistemov,
 omogoča najboljšo procesorsko, pomnilniško in V/I zmogljivost med vsemi tipi x86
virtualnih strojev.
Slabost te tehnologije je, da zahteva arhitekturo procesorja, ki podpira strojno podprto
virtualizacijo [9].
2.2.3.4.2.2.2 Virtualizacija sistemskega pomnilnika
Virtualizacija sistemskega pomnilnika pomeni skupno rabo fizičnega sistemskega pomnilnika
sistema, ki ga dinamično dodeljuje virtualnim strojem. Virtualizacija sistemskega pomnilnika
za virtualne stroje je zelo podobna podpori za navidezni pomnilnik, ki ga ponuja večina
modernih operacijskih sistemov. Aplikacije v tem primeru vidijo zaporedje pomnilniških
naslovov, ki niso nujno povezani s fizičnim sistemskim pomnilnikom.
Hipervizor je odgovoren, da zagotovi preslikavo med sistemskim pomnilnikom gostujočega
operacijskega sistema in fizičnim sistemskim pomnilnikom pri čemer izkorišča zakrite tabele
strani (angl. Shadow Page Tables) za pohitritev preslikave. Poleg tega hipervizor izkorišča v
CPE vgrajen predpomnilnik za tabele deskriptorjev strani (TLB) s katerim omogoči
neposredno preslikavo navideznega pomnilnika virtualnega stroja v pomnilnik fizičnega
računalnika. Kadar gostujoči operacijski sistem preklopi iz preslikave navideznega
virtualnega pomnilnika na glavni pomnilnik hipervizorja, ustrezno posodobi zakrite tabele
strani [15].
2.2.3.4.2.2.3 V/I virtualizacija in virtualizacija naprav
Programska V/I virtualizacija omogoča širok nabor lastnosti in poenostavlja upravljanje.
Primer naprav za V/I virtualizacijo so virtualni NIC in omrežna stikala, ki omogočijo
izgradnjo virtualnega omrežja med virtualnimi stroji, brez da bi takšno omrežje zasedalo
pasovno širino fizičnega omrežja. V/I virtualizacija lahko s prednostmi, ki jih prinaša, samo
minimalno poviša utilizacijo CPE.
12
Certified Cloud Computing Engineer

Hipervisor virtualizira fizično strojno opremo in virtualnim strojem zagotovi množico
standardiziranih virtualnih naprav, kot so na primer: mrežna, zvočna in grafična kartica; V/I
vmesniki, miška, tipkovnica in optični pogon. Te virtualne naprave učinkovito emulirajo
običajno uporabljeno fizično strojno opremo in prevajajo zahtevke virtualnih strojev na
sistemsko strojno opremo. Standardizacija naprav pripomore tudi k prenosljivosti med
platformami, saj virtualni stroji uporabljajo enako virtualno strojno opremo, ne glede na
fizično strojno opremo sistema [15].
2.2.3.4.2.3 Virtualizacija operacijskih sistemov

Koncept virtualizacije operacijskih sistemov temelji na eni sami instanci operacijskega
sistema, kjer eno samo jedro operacijskega sistema zagotovi več izoliranih uporabniških
instanc, ki se na videz obnašajo kot ločeni strežniki.
Takšen tip virtualizacije je zelo učinkovit, hitrost izvajanja pa je enaka nativni. Ob enem
nimamo težav pri nadgradnjah in upravljanju, saj gre za eno samo namestitev operacijskega
sistema, instance pa lahko izkoriščajo vse lastnosti strojne opreme in operacijskega sistema, ki
so na gostitelju ustrezno nastavljene.
Slabost takšne virtualizacije je, da ne podpira gostovanja različnih družin operacijskih
sistemov. Poleg tega instance niso tako izolirane kot pri drugih tipih virtualizacije, težavno je
identificirati vir visokih obremenitev in določati omejitve za porabo virov v instancah.

2.2.3.4.3 Virtualizacija podatkovne shrambe
Cena strojne opreme za shranjevanje podatkov je v zadnjih letih neprestano upadala, pri
čemer so ponudniki virov dramatično povečali kapacitete podatkovnih shramb. Hkrati se je
režija (angl. Overhead) upravljanja neproporcionalno povišala v primerjavi s povečanjem
kapacitet. Z virtualizacijo podatkovne shrambe lahko zmanjšamo kompleksnost upravljanja in
znižamo s tem povezane stroške.
Virtualizacija podatkovne shrambe v najbolj osnovni obliki obstaja kot združitev več fizičnih
trdih diskov, ki se strežniku in operacijskem sistemu predstavlja kot ena sama entiteta, kar
lahko dosežemo na primer z RAID poljem. To lahko smatramo kot virtualizacijo, ker vse
fizične diskovne pogone uporabljamo kot en sam logični diskovni pogon, kljub temu, da ga v
ozadju sestavlja več pogonov.
V splošnem virtualizacija shrambe ustvarja sloj abstrakcije med gostiteljem in fizično
shrambo ter hkrati skrije podrobnosti posamezne fizične naprave za shrambo. Združuje lahko
več fizičnih shramb iz različnih heterogenih omrežnih shramb.
Poleg logičnega združevanja fizičnih diskov iz več diskovnih polj nam virtualizacija shrambe
ponuja še vrsto storitev. Nekatere izmed teh storitev so: osnovno upravljanje z nosilci,
vključno z LUN (angl. Logical Unit Number) maskiranjem; združevanje, grupiranje in
avtomatsko povečevanje nosilcev; avtomatska migracija podatkov za zaščito podatkov in
okrevanje po incidentu; kreiranje posnetkov in zrcaljenje.
Virtualizacija shrambe, ki jo poznamo tudi pod imenom virtualizacija na nivoju blokov
omogoča, da z grupami nosilcev upravljamo neodvisno od fizične ureditve shrambe. Zaradi
takšne neodvisnosti lahko administratorji izvajajo vzdrževalna opravila, brez prekinitev

13
Certified Cloud Computing Engineer

delovanja aplikacij. Virtualizacija shrambe lahko pripomore tudi k boljši utilizaciji shrambe in
hitrejši oskrbi.
Glede na tok podatkov in kontrolnih informacij ločimo tri glavne pristope zagotavljanja
storitev za virtualizacijo shrambe, in sicer:
 V prenosnem kanalu (angl. In-Band) naprave, ki za prenos in procesiranje
tako konkretnih podatkov, kot tudi meta in kontrolnih podatkov uporablja isti
prenosni kanal in isto napravo. Primer produkta, ki uporablja omenjen pristop
je IBM SAN Volume Controller.
 Izven prenosnega kanala (angl. Out-of-Band) naprave, ki za prenos
kontrolnih in metapodatkov ne uporablja enakega kanala. Prednost takšnega
pristopa so večja skalabilnost sistema, in polna pasovna širina za V/I zahtevke
s strani uporabnikov. Takšni sistemi so praviloma dražji, kompleksnejši in med
drugim zahtevajo namestitev posebne programske opreme na gostitelja.
 Z ločeno potjo (angl. Split-Path), kjer gre za hibrid prejšnjih dveh omenjenih
pristopov in je trenutno najaktualnejši pristop. Za razliko od pristopa izven
prenosnega kanala uporablja pristop z ločeno potjo inteligentna stikala, ki v
tem primeru namesto gostitelja opravljajo ločevanje kontrolnih in
metapodatkov od konkretnih podatkov. Posledično tudi ne potrebujemo
posebne programske opreme na gostitelju.
Poleg bločne lahko na nivoju shrambe zasledimo še datotečno virtualizacijo. Datotečna
virtualizacija omogoča abstrakcijo podrobnosti fizičnih datotečnih strežnikov in NAS3 naprav
ter ustvari enoten imenski prostor na omenjenih fizičnih napravah.
Standardni datotečni sistemi, kot je na primer NTFS so pogosto uporabljeni v povezavi z
enim samim strežnikom. Če povežemo več datotečnih sistemov in naprav pod en sam imenski
prostor lahko z datotečno virtualizacijo omogočimo en pogled na imenike in datoteke,
administratorji pa lahko na enem samem mestu upravljajo s podatki.
Datotečna virtualizacija podobno kot bločna omogoča premikanje in migracijo podatkov brez
prekinitev, administratorji pa lahko izvajajo vzdrževalna opravila brez prekinitev v izvajanju
aplikacij [11].

2.2.3.4.4 Virtualizacija omrežij
Virtualizacija na področju omrežij je v uporabi že precej časa, čeprav pogosto ni identificirana
kot virtualizacija. Virtualizacijo omrežij lahko v osnovi na sloju omrežne plasti
kategoriziramo kot interno ali eksterno [10].
Eksterna virtualizacija povezuje ločena omrežja v eno samo navidezno enoto. Eden najbolj
poznanih tipov virtualizacije so navidezna privatna omrežja (VPN). To je privatno
komunikacijsko omrežje, ki omogoča zaupno komunikacijo z uporabo javnega omrežja. Za
prenos podatkov uporablja nezaščitene omrežne medije, kot je na primer internet, zaradi česar
zagotovi vzpostavitev varnega kanala za prenos občutljivih in zasebnih informacij. Vsako
ločeno omrežje, ki ga želimo povezati z VPN, mora imeti vozlišče z nameščenim omrežnim
prehodom, ki omogoča tuneliranje med vozlišči v ločenih omrežjih. Uporabnik v VPN vidi
takšna ločena omrežja kot eno veliko povezano celoto.
3

NAS – omrežno priklopljeni pomnilnik.
14
Certified Cloud Computing Engineer

Pod eksterno virtualizacijo štejemo tudi navidezno lokalno omrežje (VLAN), ki se pogosto
uporablja v komercialnih in akademskih podatkovnih centrih. VLAN omogoča ustvarjanje
neodvisnih logičnih omrežij znotraj skupnega fizičnega omrežja. To pomeni, da lahko
naprave združene v VLAN, kljub temu da so povezane v različne fizične segmente lokalnega
omrežja (LAN), med sabo komunicirajo, kot da bi se nahajale na istem LAN segmentu [9].
Poleg eksternih virtualnih omrežij smo omenjali še interna. Interna virtualizacija virtualnim
strojem in drugim vsebnikom programske opreme omogoča omrežjem podobne
funkcionalnosti. Pogosto se uporablja v kombinaciji s strežniško virtualizacijo [10].

2.2.3.4.5 Virtualizacija aplikacij
Virtualizacija aplikacij je nov pristop k upravljanju in zagotavljanju kompatibilnosti aplikacij,
ki prekinja močno vez med aplikacijo, operacijskim sistemom in strojno opremo, na kateri se
izvaja operacijski sistem. Takšne aplikacije so dostavljene kot storitve s centralizirane
lokacije preko omrežja, brez potrebe po klasični namestitvi aplikacije na vsak računalnik.
Izvajajo se v virtualiziranem okolju, ki zagotavlja izolacijo od operacijskega sistema.
Aplikacije, ki se izvajajo na takšen način, se ne zavedajo, da se v resnici izvajajo v
virtualiziranem okolju, ki služi kot namestnik pri uporabi funkcionalnosti operacijskega
sistema in njegovih virov [9].
Obstajajo še rešitve, ki poleg prenosa aplikacije na ciljno napravo omogočajo še prenos na
nek tretji strežnik, kjer se bo aplikacija izvajala, uporabnik pa do nje dostopa preko oddaljene
seje. Ena izmed rešitev, ki omogoča takšen način delovanja je Citrix XenApp. Ob zahtevi
uporabnika po določeni aplikaciji XenApp preveri, ali naprava zadošča minimalnim pogojem
za dostavo aplikacije. Če naprava zadosti minimalnim pogojem, XenApp dostavi aplikacijo v
izolirano okolje uporabnika, v nasprotnem primeru pa jo dostavi na strežnik v podatkovnem
centru in uporabniku zagotovi oddaljen dostop do nje [12].
Virtualizacija aplikacij ima več prednosti med katerimi so najpomembnejše:
 Omogočanje izvajanja aplikacij v različnih okoljih ali operacijskih sistemih.
 Enostavno vzdrževanje standardne konfiguracije aplikacije znotraj organizacije.
 Poenostavljena dostava aplikacij preko omrežij.
 Hkratno izvajanje med seboj nekompatibilnih aplikacij, brez da bi prišlo do
konfliktov [9].

2.2.3.4.6 V/I Virtualizacija
Tipični strežniki so navzven povezani z več V/I karticami, med katerimi so običajno vmesniki
NIC (angl. Network Interface Cards) za dostop do omrežja in adapterji HBA (angl. Host Bus
Adapter) za dostop do shrambe.
V/I virtualizacija drastično spreminja takšno razporeditev, saj iz strežnika odstranjuje vse V/I
vire na ločeno mesto. Odstranjene razdružene vire nato združuje oziroma konsolidira v eno
samo ločeno napravo, ki je skupna več strežnikom. Strežniki odstranjene fizične V/I vire
dobijo v obliki virtualnih virov, ki emulirajo prvotne V/I funkcije fizičnih komponent.
Skupna raba V/I komponent s strani več strežnikov izboljšuje utilizacijo V/I komponent.
Število komponent je veliko nižje v primerjavi s sistemom brez virtualizacije. Posledično je

15
Certified Cloud Computing Engineer

takšen sistem cenovno ugodnejši, prostorsko in energijsko učinkovitejši in enostavnejši za
upravljanje [13].

2.2.3.4.7 Virtualizacija in infrastruktura kot storitev
Zagotavljanje visoko razpoložljivih in fleksibilnih storitev, zrelost tehnologije virtualizacije
ter virtualnih strojev, so uporabljeni kot standard postavitve storitev v oblaku. Virtualni stroji
ločujejo infrastrukturo za izvajanje aplikacij od fizične infrastrukture. Poleg tega virtualni
stroji omogočajo prilagoditev platforme, ki najbolj ustreza končnemu uporabniku. Uporabniki
lahko izbirajo med vnaprej pripravljenimi slikami različnih operacijskih sistemov, ki jih lahko
za postavitev aplikacije v virtualni stroj tudi prilagodijo. Virtualni stroji omogočajo tudi
postavitev instanc na zahtevo [16].
Ključne funkcionalnosti, ki jih mora zagotavljati sloj virtualizacije, na kateri temelji
infrastruktura kot storitev:
2.2.3.4.7.1 Razvrščanje virtualnih strojev

V tipičnem virtualiziranem okolju se več virtualnih strojev izvaja na enem samem procesorju.
Zaradi tega mora hipervizor znati odločati o dostopu do ciklov procesorja. Kolikor operacijski
sistem nadzoruje alokacijo procesorskega časa procesom v izvajanju, toliko hipervizor
nadzoruje alokacijo procesorskega časa virtualnim strojem v izvajanju. Kadarkoli odmerjen
čas poteče, se zgodi V/I operacija ali pa se izvajanje virtualnega stroja zaključi, se izvrši
hipervizorjeva rutina, ki odloči, kateri virtualni stroj se bo naslednji izvajal.
2.2.3.4.7.2 Upravljanje s pomnilnikom

Hipervizor poskrbi za upravljanje s pomnilnikom, ki je na voljo v sistemu. Pomnilnik je
omejen vir, katerega mora hipervizor znati razporejati med gostujočimi virtualnimi stroji.
Hipervizor mora vsakemu virtualnemu stroju zagotoviti pomnilnik, katerega virtualni stroj
uporablja, kot bi bil fizični pomnilnik. Hipervizor lahko med drugim izboljša utilizacijo
pomnilnika med virtualnimi stroji na način, da uporabi ostranjevanje pomnilnika in tako
alocira fizični pomnilnik drugemu virtualnemu stroju. Hipervizor za tem poveže fizični
pomnilnik virtualnega stroja s fizičnim pomnilnikom gostitelja. Z načinom ponovnega
povezovanja pomnilnika lahko hipervizor doseže izolacijo med gostujočimi virtualnimi stroji.
Virtualni stroji zaradi tega ne morejo dostopati do pomnilnika drugih virtualnih strojev.
2.2.3.4.7.3 Emulacija V/I naprav in urejanje dostopa do njih

Dostop do fizičnih naprav je ključnega pomena, saj so V/I zmožnosti način na katerega
program komunicira z zunanjim svetom. Naj gre za pošiljanje paketov na oddaljen računalnik
ali pisanje v shrambo, v obeh primerih programi uporabljajo V/I zmožnosti. Ker je gostitelj v
skupni rabi, mora sloj virtualizacije odločati o dostopu do vsake naprave. Poleg tega lahko
sloj virtualizacije zagotovi generičen pogled na fizične naprave namesto pogleda na dejansko
napravo. S tem lahko zagotovi, da se virtualni stroji izvajajo na strežnikih z različnimi
konfiguracijami, ki imajo ekvivalentno funkcionalnost.

16
Certified Cloud Computing Engineer

2.2.3.4.7.4 Procesiranje omrežnih paketov (stikala, NAT, nadzor dostopa)

Komunikacija med virtualnimi stroji je ključnega pomena za omogočanje komunikacije med
storitvami, ki se izvajajo v virtualnih strojih. Virtualni stroji se lahko izvajajo na istem
strežniku, zato v tem primeru ni potrebno, da komunikacija med dvema virtualnima
omrežjema poteka po omrežju ponudnika storitev v oblaku. Zaradi tega moderna
virtualizacijska tehnologija tipično izvaja še programsko Ethernet stikalo s podobnimi
funkcionalnostmi, kot bi jih imelo fizično stikalo.
2.2.3.4.7.5 Ustvarjanje, zagon, zaustavitev in migracija virtualnih strojev

Hipervizor emulira strojno opremo in zagotavlja, da vsak virtualni stroj deluje, kot da bi imel
lastno strojno opremo. Upravljavska programska oprema komunicira s hipervizorjem s
katerim lahko ustvarimo nove virtualne stroje, jih poženemo ali pa zaustavimo. Omenjena
upravljavska programska oprema ponuja vmesnik centralnemu upravljavcu oblaka, ki
nadzoruje kreiranje in postavitev virtualnih strojev na osnovi zahtevkov strank, kar tipično
poteka preko spletnega vmesnika. Upravljavska programska oprema je lahko vključena tudi v
procesu migracije v času izvajanja (angl. Live Migration). Ta omogoča, da premaknemo
virtualni stroj, ki se izvaja, iz enega fizičnega strežnika na drugega, pri čemer je virtualni stroj
neprestano na voljo vsem, ki z njim komunicirajo [17].
2.2.3.5 Arhitektura

2.2.3.5.1 Osnovni gradniki
2.2.3.5.1.1 Virtualizirani viri

Omrežne, procesne ter shrambene kapacitete predstavljajo osnovne gradnike namestitve
oblaka (angl. Cloud Deployment). Virtualizirani viri so deljeni/skupni več uporabnikom in
aplikacijam in zagotavljajo učinkovitost in alokacijo računalniških virov (slika 2).
2.2.3.5.1.2 Storitvena orkestracija

Programska oprema zadolžena za orkestracijo, avtomatizira in orkestrira rutinska opravila in
funkcije, ki jih izvajajo operatorji. Le-ta koordinira rešitve avtomatizacije konfiguracije med
več strežniki, odjemalci in omrežnimi napravami, kar rezultira v hitrejše oskrbovanje virov.
Orkestracija storitev prav tako avtomatizira procese med več aplikacijami in orodji, kot tudi
med več IT skupinami, kot so podpora in operacije, kar omogoča lažjo, hitrejšo in
zanesljivejšo “cross-silo” integracijo. Orkestracija je za definicijo infrastrukturnega nivoja
računalništva v oblaku kritičnega pomena, saj omogoča skalabilnost IT virov v
večnajemniškem okolju, ki so dostopni na zahtevo.
2.2.3.5.1.3 Portal storitev in vmesnikov (API) storitev

Za transformacijo storitev oblaka v storitveno računalništvo moramo odjemalcem, ki
uporabljajo vire oblaka, definirati in ponuditi katalog storitev v obliki portala kot množico
vmesnikov (API). Z uporabo kataloga si odjemalci na podlagi zahtev izberejo vire in sprožijo
shranjevanje zapisov za sledenje stroškom in povračilom za izbrane vire.

17
Certified Cloud Computing Engineer

2.2.3.5.1.4 Operacije in upravljanje

Gradnik vključuje sisteme za zaračunavanje, upravljanje konfiguracije in sredstev, upravljanje
z licencami, upravljanje sprememb in izdaje, storitveni center in upravljanje na nivoju storitev
[30].

Slika 2: Shema računalništva v oblaku.

2.2.3.5.2 Mrežno računalništvo in računalništvo v oblaku
Mrežno računalništvo je zadnja računalniška paradigma pred računalništvom v oblaku, pri
čemer sta si v določenih aspektih med sabo podobna.
Zgodovinsko gledano se je mrežno računalništvo pojavilo v devetdesetih letih prejšnjega
stoletja s ciljem, da omogoči utilizacijo neizkoriščene računalniške moči na daljavo med
različnimi procesnimi centri. S tem je mogoče tudi pojasniti, zakaj mrežno računalništvo sledi
pristopu z osredotočenostjo na vire. Eden pomembnejših mejnikov v razvoju mrežnega
računalništva je bila konvergenca mrežne in storitveno orientirane arhitekture (SOA). Kot
rezultat sta nastali tehnologiji OGSA (Open Grid Services Arhitecture) in kasneje še WSRF
(Web Service Resource Framework), ki sta razkrili poln potencial mrežnega računalništva.
Računalništvo v oblaku zaradi izkušenj iz preteklosti v nasprotju z mrežnim računalništvom
sledi pristopu z osredotočenostjo na uporabnika in opravila, kot poslovni model plačevanja po
porabi.
Iz tehničnega vidika je cilj mrežnega računalništva integracija virov različnih organizacij, da
se formira enoten bazen virov, ki omogoča večje možnosti, kot bi jih sicer omogočala ena
sama organizacija. Eden izmed izzivov mrežnega računalništva je zagotavljanje varne
distribucije heterogenih virov. Pri računalništvu v oblaku je cilj, da se viri razdelijo na manjše
dele, ki so nato po potrebi na voljo uporabniku. Za razliko od mrežnega računalništva pa v
računalništvu v oblaku heterogenost in distribucija virov ni več ključen problem, temveč to
predstavljajo izboljšanje skalabilnosti, razpoložljivosti in zanesljivosti.
Za izvedbo opravila s pomočjo mrežnega računalništva morajo končni uporabniki določiti tip
virov, ki jih potrebujejo, količino zahtevanih virov, podrobnejše informacije za avtentikacijo,
18
Certified Cloud Computing Engineer

program, ki se bo izvajal, argumente programa, opis opravila itd. Zaradi te dolgotrajne
procedure uporabniki večkrat enostavno odnehajo. Tudi če uporabniki vse pravilno nastavijo,
še vedno obstajajo ovire, ki jim preprečijo, da bi opravili svoje delo. Ena takšnih ovir je
vmesna programska oprema (angl. Middleware), ki je močno povezana s specifičnim
operacijskim sistemom, programskimi knjižnicami ali aplikacijami. Še eden izmed problemov
mrežnega računalništva je, da različni sistemi za mrežno računalništvo uporabljajo različne
načine, s katerimi uporabniki izrazijo svoje potrebe. Zaradi tega opis opravila, ki je
pripravljen za določeno mrežo, ne moremo uporabiti v drugi mreži.
Za razliko od mrežnega računalništva je izvajanje opravil v oblaku enostavnejše, pri tem pa se
soočamo z manj omejitvami. Edino kar moramo storiti je da rezerviramo želen vir, ga
nastavimo za opravilo, ki ga bomo izvajali. Rezervacijo vira lahko opravimo z nekaj kliki, za
nastavitve pa porabimo enako dolgo, kot bi porabili za nastavitve lokalnega stroja.
Mrežno računalništvo in računalništvo v oblaku se razlikujeta tudi pri zahtevah za razvijalce
aplikacij. V splošnem je razvoj aplikacij za mreže kompleksno opravilo. Razvijalec mora
poznati podrobnosti mrežnega okolja in vložiti veliko časa v spoznavanje vmesnika za
programiranje (API). Poleg tega je mreža zelo dinamično okolje, zaradi česar morajo
razvijalci posvetiti več pozornosti obravnavi izjem, odpornosti na napake in merjenju
obnašanja aplikacije. Če ga primerjamo z oblakom, je programiranje za računalništvo v
oblaku veliko enostavnejše. V primeru IaaS je mogoče okolje nastaviti in prilagoditi
potrebam, zato lahko za razvoj uporabimo običajna razvojna orodja [18].

2.2.3.5.3 Elastičnost in skalabilnost
Skalabilnost lahko v osnovi definiramo kot zmožnost določenega sistema, da se prilagodi
problemu, ko se obseg le tega poveča. Kot primer navedimo povečanje prepustnosti sistema z
dodajanjem več programskih ali strojnih virov, da bi se lahko uspešno kosali s povečanjem
bremena. Zmožnost sklaliranja sistema je tipično odvisna od njegove zasnove, tipov
podatkovnih struktur, algoritmov ali mehanizmov za komuniciranje.
Doseganje skalabilnosti v oblaku temelji na naslednjih treh osnovnih gradnikih:
 Virtualizaciji, katera zmanjšuje kompleksnost sistema, standardizira strojno
platformo in zniža stroške upravljanja z viri.
 Skupni rabi računalniških virov med različnimi aplikacijami in/ali
organizacijami omogoči optimizacijo uporabe virov. Virtualizacija v tem
kontekstu pripomore h konsolidaciji strežnikov na en sam fizični strežnik.
 Dinamični oskrbi, ki mora zagotavljati oskrbo z viri na zahtevo in jih
avtomatično nastaviti v času delovanja. Dinamična oskrba obsega potrebo po
nadzoru zmogljivosti storitev in avtomatizacijo odločitev in akcij, s čimer se
odzove na povečanje ali zmanjšanje delovnega bremena.
Paradigma računalništva v oblaku premika lokacijo računalniških virov v omrežje z namenom
zmanjšanja stroškov povezanih z vzdrževanjem strojne in programske opreme. Oskrba z viri
na zahtevo in skalabilnost so nekatere ključne karakteristike računalništva v oblaku. IaaS za
potrebe aplikacije ponuja več tipičnih točk za skaliranje, med katerimi so strežniki, shramba
in omrežja.

19
Certified Cloud Computing Engineer

Model dobave na zahtevo in plačila po dejanski porabi pomenita, da z rastjo zahtev aplikacije
rastejo tudi viri s katerimi strežemo zahtevam. V tej situaciji sistem slej ali prej doseže
ravnotežje, pri čemer so alocirane kapacitete enake zahtevam, če smo le pravilno zasnovali
aplikacijo, ki podpira skalabilnost. Idealno mora aplikacija v IaaS oblaku delovati v smislu
višje-nivojskih ciljev in ne sme izpostavljati detajlov implementacije administratorjem.
Obstoječe strategije zahtevajo od razvijalcev, da ponovno implementirajo aplikacijo za
izkoriščanje virov na zahtevo, pri čemer aplikacije postanejo omejene na specifično
infrastrukturo oblaka. Uporabljeni so lahko tudi profili, ki povzemajo znanje ekspertov o
skaliranju različnih tipov aplikacij. Pristop s profilom avtomatizira postavitev in skaliranje
aplikacije v oblaku, ne da bi bili odvisni od specifične infrastrukture oblaka. Uporabljene so
podobne metode, ki analizirajo komunikacijske vzorce med storitvenimi operacijami in
dodeljevanje teh storitev razpoložljivim strežnikom. S tem lahko optimiziramo strategijo
alokacije, da bi izboljšali skalabilnost sestavljenih (kompozitnih) storitev.
Potreba po ponovni implementaciji in zgoraj omenjenih strategijah jasno prikazuje težavnost
skaliranja aplikacij v oblaku. Čeprav obstajajo nekateri poskusi implementacije zmožnosti
avtomatske skalabilnosti, so pogosto preveč specifični za aplikacije in jih je težavno
posplošiti kot splošno namensko storitev. Zaradi tega se trenutni komercialni mrežni sistemi
in oblaki zanašajo na uporabnikovo znanje o maksimalni potrebni kapaciteti in vzpostavijo
zahtevane kapacitete. Posledično je takšen sistem vedno v enem izmed dveh stanj. V stanju
preveč ali v stanju premalo zakupljenih virov. Za razliko od mrežnega računalništva in drugih
metod dobave IT sistemov, lahko ponudniki storitev dodajajo nove kapacitete po potrebi, kar
je mogoče storiti v relativno kratkem času. Takšno, bolj dinamično obliko skalabilnosti v
oblaku v primerjavi s klasično obliko, prikazuje slika 3.

Slika 3: Skalabilnost.

Kljub dinamični oskrbi in modelom zaračunavanja se bo stopnja avtomatizacije in integracije
s sistemi nadzora, ki jo omogoča večinasistemov v oblaku, še naprej razvijala. Ključ do
učinkovite skalabilnosti na zahtevo je v metrikah utilizacije. Kot primer lahko navedemo
Amazonovi storitvi Cloud Watch in Auto-scale. Ti storitvi ponujata nekaj integracije s
sistemom nadzora ter storitev, ki ponuja metrike infrastrukture, kot je na primer uporaba CPE.
Uporabnikom ponujata še storitev za reagiranje glede na pogoje, ki jih določijo sami.
Naslednji primer je RightScale. Ta omogoča avtomatizacijo določenih akcij glede na
infrastrukturne metrike ali skripte, ki jih uporabnik definira in postavi na strežnike. Pri tem je
zaradi stopnje prilagodljivosti s strani uporabnika težavno vključiti metrike iz nivoja aplikacij.
Rezultat tega je nizka avtomatizacija za visokonivojska pravila ali metrike, kot je na primer
število zahtev po storitvi skozi določeno časovno obdobje.

20
Certified Cloud Computing Engineer

Poleg dodajanja več virtualnih strojev na zahtevo, virtualizacijski sloj, na katerem temelji
oblak omogoča še vertikalno skaliranje. To pomeni, da lahko v času izvajanja virtualnemu
stroju dodamo več virov [19]. Nekateri operacijski sistemi Windows podpirajo takšen
dinamičen način dodajanja pomnilnika, nekateri med njimi pa še dodajanje procesorjev.
Nobeden izmed operacijskih sistemov Windows pa trenutno ne podpira dinamičnega
odvzemanja pomnilnika ali procesorjev [20]. Operacijski sistem Linux po drugi strani že ima
vgrajeno podporo tako za odvzemanje in dodajanje tako pomnilnika, kot tudi procesorjev
[21,22].
Če povzamemo, so IaaS oblaki napram mrežnem računalništvu prinesli višjo stopnjo
skalabilnosti. Še vedno ni podprta avtomatična skalabilnost, ki bi temeljila na poljubnih
metrikah storitev. Poleg tega nobena platforma oblakov ne podpira določenih poslovnih
pravil, kot je na primer določitev najvišjih stroškov, katere je ponudnik storitev še pripravljen
poravnati, da bi se zaščitil pred bankrotom. Eden izmed napadov, ki izkorišča to
pomanjkljivost je na primer napad EDoS (Economic Denial Of Sustainability), kjer se
avtomatsko generira veliko število zahtev po storitvi in so na videz legitimni [19].

2.2.3.5.4 Večnajemniški model
Pojem večnajemniškega modela ni popolnoma nov, saj je že veliko let uporabljen za
opisovanje arhitekture aplikacije, ki je bila načrtovana za podporo več uporabnikom ali
strankam. V kontekstu računalništva v oblaku je bila ta terminologija preprosto razširjena do
te mere, da lahko vključuje posamezno arhitekturo računalništva v oblaku. Vključuje lahko
tudi infrastrukturne elemente znotraj takšne arhitekture (aplikacija, strežnik, omrežje,
podatkovna shramba), ki podpira večnajemniški model. Uporabniki so v tem primeru lahko
različna podjetja, oddelki znotraj podjetja ali preprosto, posamezne aplikacije.
Da bi ponudili varen večnajemniški model in naslovili skrbi, ki jih prinaša računalništvo v
oblaku, je potrebno vzpostaviti mehanizem, ki uveljavlja ločevanje na enem ali več nivojih
znotraj infrastrukture (Slika 4):
 Aplikacijski nivo (angl. Application Layer) – prilagojena, večnajemniška aplikacija
oziroma več ločenih instanc iste aplikacije lahko na tem nivoju ponudi večnajemniški
model.
 Strežniški nivo (angl. Server Layer) – Strežniška utilizacija in operacijski sistemi
omogočajo ločevanje uporabnikov in instanc aplikacije na strežnikih in nadzirajo
izkoriščenost ter dostopnost računalniških virov.
 Omrežni nivo (angl. Network Layer) – Različni mehanizmi, vključno z VLAN
tehnologijo in distribucijo virov med različnimi območji (angl. Zoning), so uporabljeni
za zagotovitev omrežnega ločevanja. IPsec4 za dodatno varnost ravno tako ponuja
enkripcijo omrežnih podatkov na IP nivoju (aplikacijsko neodvisen). IPsec ali SSL
omogočata oddaljen dostop posameznim uporabnikom oz. uporabnikom storitev.
Namenske varnostne naprave (fizične ali virtualne) lahko povečajo nivo varnosti oz.
jakost varnostnih mehanizmov med posameznimi območji (npr. generične ali
protokolne požarne pregrade). Del omrežnih storitev lahko uporablja tudi strežniški
nivo (npr. virtualna stikala, virtualne požarne pregrade).
4

IPsec – medmrežni varnostni protokol.
21
Certified Cloud Computing Engineer



Nivo podatkovne shrambe (angl. Storage Layer) – mehanizma kot sta maskiranje
številke logične enote (angl. LUN Masking) in distribucija SAN5 med različnimi
območji (angl. SAN Zoning), sta lahko uporabljena za nadzor dostopa do podatkovne
shrambe. Podatkovna shramba lahko izkorišča tudi mrežni nivo, kjer se lahko lokalna
in oddaljena komunikacija uporablja za razne mehanizme shranjevalnih sistemov (npr.
uporaba Ethernet in IP povezav za povezovanje shranjevalnih sistemov s strežniki in
drugimi shranjevalnimi sistemi).
Če želimo doseči varen večnajemniški model, je zahtevana uporaba enega ali več
mehanizmov na vsakem infrastrukturnem nivoju [4].

Slika 4: Različni nivoji infrastrukture.

Z večanjem kompleksnosti in raznolikosti storitev so IT organizacije v klasičnem primeru
postavile svoje aplikacije in podatke v infrastrukturne silose. Silosi morajo biti zgrajeni okoli
specifičnih aplikacij, okolij strank, poslovnih organizacij, operacijskih zahtev, skladnosti s
predpisi in morajo zagotoviti zaupnost podatkov svojih strank. Na primer:
 Velike organizacije morajo izolirati HR6 zapise, finance, podrobnosti kreditnih kartic
itn.


Viri, ki so navzven izpostavljeni za zunanje izvajanje (angl. Outsourcing) projektov,
zahtevajo ločevanje od notranjih okolij organizacije.



Zdravstvene organizacije morajo zagotoviti zaupnost kartotek svojih pacientov.



Univerze morajo ločiti storitve študentov pred poslovnimi operacijami,
administrativnimi sistemi ter komercialnimi in občutljivimi raziskovalnimi projekti.



Telekomunikacijska podjetja in ostali ponudniki storitev morajo ločiti zaračunavanje
(angl. Billing), sisteme za upravljanje odnosov s strankami (CRM), plačilne sisteme in
druga gostovana okolja.



Vladne agencije morajo ločiti zapise o dohodkih, sodnih podatkih, socialnih storitvah,
operativnih sistemih itn.

Migracija takšnih okolij na arhitekturo oblaka zahteva zagotovitev varne izolacije in hkrati
prinaša prednosti vodenja (angl. Management) in fleksibilnosti skupnega okolja (angl. Shared
Environment). Tako privatni kot javni ponudniki storitev oblaka morajo omogočati varno
ločevanje, zaščito in izolacijo podatkov, komunikacije ter aplikacijskega okolja pred drugimi
5
6

SAN – omrežje pomnilniških naprav.
HR – človeški viri.
22
Certified Cloud Computing Engineer

uporabniki. Ločevanje mora biti izvedeno na tak način, da se uporabniki ne zavedajo drug
drugega. Ponudniki privatnega oblaka morajo dostaviti varno ločevanje, ki je zahtevano s
strani organizacijske strukture in je v skladu s predpisi. Pomanjkanje zaupanja pred takšno
obliko izolacije danes predstavlja veliko oviro pri vpeljavi storitev oblaka v podjetjih in
organizacijah.
Ena največjih razlik med tradicionalnim deljenim gostovanjem (angl. Shared Hosting) in
tipično IaaS storitvijo v oblaku je v stopnji nadzora, ki je na voljo uporabnikom.
Tradicionalno gostovanje ponuja uporabniku nadzor nad administracijo aplikacij in platformo,
na kateri se te izvajajo, medtem ko IaaS namestitveni model uporabniku ponuja bistveno širši
nadzor nad računalniškimi viri. Varna arhitektura oblaka razširja uporabniški nadzor preko
celotnega okolja: izvajalna platforma, omrežna povezljivost, viri podatkovne shrambe in
upravljanje podatkov. Takšna arhitektura omogoča varno ponujanje nadzora uporabnikom nad
njihovim aplikacijskim okoljem. Unikatne izolacijske tehnologije, ki so povezane z
upravljavsko fleksibilnostjo, IT ponudnikom dostavljajo vse prednosti računalništva v oblaku.
Te prednosti dostavljajo zato, da bi ponudili storitve za večnajemiškega uporabnika ter
konsolidirano aplikacijsko okolje z visoko stopnjo varnosti [3].
2.2.3.6 Visoko zmogljivo računanje v oblaku
Projekti visoko zmogljivega računanja (HPC) obsegajo širok spekter, od super-računalnikov
peta-flop razreda zmogljivosti, ki uporabljajo različne operacijske sisteme in poganjajo
različne računske aplikacije, do računalniških gruč srednjega in nižjega zmogljivostnega
razreda, namenjenih razvoju HPC aplikacij, pilotnim poganjanjem aplikacij in prototipnim
računalniškim gručam. Njihova skupna točka je, da so samostojni sistemi, ne pa skalabilni in
uporabniško nastavljivi viri. Prihod računalništva v oblaku je vplival na tradicionalne
implementacije HPC računalnikov. Poleg tega integracija HPC storitev v oblak zmanjša ceno
vzpostavitve storitev oblaka.

2.2.3.6.1 Klasifikacija HPC
Za lažje obravnavanje HPC v oblaku bomo paralelno procesiranje razdelili na računsko
intenzivno in na podatkovno intenzivno.
Računsko intenzivne so tiste aplikacije, ki jih omejuje hitrost ali dostopnost računskih enot.
Take aplikacije porabijo večino časa za računanje in malo za vhodne/izhodne (V/I) operacije
in uporabljajo majhne količine podatkov. Paralelno procesiranje računsko intenzivnih
aplikacij zahteva paralelizacijo posameznih algoritmov v aplikaciji in razdelitev aplikacije v
več opravil, ki se jih nato lahko izvede vzporedno na primerni vzporedni platformi ter tako
doseže pohitritev delovanja aplikacije. Več opravil računsko intenzivne aplikacije se izvede
hkrati, s tem da vsako opravilo obravnava drug del problema, ki ga aplikacija rešuje. Zato
temu rečemo tudi funkcijski ali kontrolni paralelizem.
Podatkovno intenzivno procesiranje opisuje aplikacije, ki so omejene s hitrostjo ali
dostopnostjo V/I enot ali pa zahtevajo procesiranje velike količine podatkov. Take aplikacije
porabijo večino časa za V/I operacije in premikanje podatkov. Paralelno procesiranje
podatkovno intenzivnih aplikacij tipično zahteva razdelitev podatkov v več delov, ki jih je
mogoče procesirati neodvisno. Posamezne dele lahko primerna vzporedna platforma procesira
23
Certified Cloud Computing Engineer

hkrati, nato pa delne rezultate združi v skupne izhodne podatke. Bolj kot je mogoče podatke
porazdeliti, bolj uspešna je vzporedno obdelava. Gorton et al. [31] pišejo, da se zahteve za
paralelno procesiranje povečujejo linearno z velikostjo podatkov pri podatkovno intenzivnem
problemu in jih je mogoče zadovoljiti z enostavnim paralelizmom, kar je primerna lastnost za
uporabo v oblaku.
2.2.3.7 Federacija in interoperabilnost v okolju oblakov

2.2.3.7.1 Interoperabilnost
Interoperabilnost pomeni preprosto migracijo in integracijo aplikacij ter podatkov med
različnimi ponudniki računalništva v oblaku. Zaradi različnih hipervizorjev (KVM, Hyper-V,
ESX, ESXi), tehnologij virtualnih strojev, podatkovnih shramb, operacijskih sistemov,
varnostnih standardov in upravljavskih vmesnikov, danes veliko ponudnikov oblakov ne
podpira interoperabilnosti. Po drugi strani, si veliko organizacij želi interoperabilno podporo
med njihovo lokalno infrastrukturo in oblakom. Interoperabilnost mora omogočati
prenosljivost podatkov in aplikacij med različnimi oblaki ali uporabo različnih infrastruktur
oblakov, preden so kritične poslovne aplikacije dostavljene s strani oblaka. Večina
ponudnikov računalništva v oblaku je danes do svojih uporabnikov popolnoma netransparentnih [7].
Razvoj standardov in interoperabilnosti med različnimi nivoji oblaka je za uspeh
računalništva v oblaku kritičnega pomena. Ravno tako je tesno vezan s potrebo po vpeljavi
računalništva v oblaku s strani organizacij. Brez jasno definiranih standardov, dobrih praks in
odprte interoperabilnosti, bo nadaljnji razvoj računalništva v oblaku potekal bistveno
počasneje. Dinamične kapacitete, ki so na voljo na zahtevo, so poleg virtualizacije ena izmed
ključnih funkcionalnosti, ki oblak ločuje od mrežnega računalništva. SLA-ji so še eden izmed
velikih izzivov interoperabilnosti, saj »start-up« in SME7 podjetja, ki so danes največji
uporabniki računalniških storitev, želijo svobodo izbire. Amazon EC2 je trenutno vodilni
ponudnik in predstavlja »de facto« standard za računalništvo v oblaku. Če organizacije želijo
zamenjati ponudnika, problem ne predstavlja samo migracija virtualnih strojev, temveč tudi
druge storitve, kot so na primer nezdružljive podatkovne baze. Nekateri drugi izzivi
predstavljajo migracijo obstoječe programske opreme iz internih podatkovnih centrov v javni
oblak. Pri tem se je potrebno zavedati, da večina takšnih aplikacij ne podpira skalabilnosti in
utilizacije pasovne širine. Prenosljivost aplikacij v oblaku je mogoča le z zagotovljenimi
standardi in interoperabilnostjo ter konsolidacijo največjih ponudnikov storitev v oblaku [7].
Integracijo oblakov in interoperabilnost lahko dosežemo z različnimi metodami, med katerimi
bomo poskusili izpostaviti nekaj ključnih. Ena izmed ključnih metod za doseganje integracije
je semantika. Trenutno gre vsak ponudnik storitev v oblaku svojo pot pri definiranju
abstrakcije virov. Amazon na primer uporablja XML za opis slik virtualnih strojev, ki jih
imenuje Amazon Machine Image (AMI). Z upoštevanje določene semantike bi bilo mogoče
izgraditi imeniško storitev, ki bi vsebovala seznam slik virtualnih strojev (VMI) in opise slik.
Gre za slike različnih neodvisnih ponudnikov programske opreme (ISV) iz različnih domen.
7

SME – majhna in srednje velika podjetja.
24
Certified Cloud Computing Engineer

To bi pripomoglo k omogočanju avtomatskega odkrivanja (angl. Discovery) in postavitve
med različnimi ponudniki. Ta ideja je podobna kot kombinacija WSDL-a z storitvenim
registrom v SOA spletnih storitvah [19].

2.2.3.7.2 Federacija identitete
Eden izmed izzivov ustvarjanja in upravljanja globalnega decentraliziranega okolja za
računalništvo v oblaku je vzdrževanje konsistentne povezljivosti med ne-overjenimi
komponentami, ki so odporne na napake. Ključna priložnost za industrijo računalništva v
oblaku je definiranje federativnega ekosistema oblakov, ki bi z uporabo skupnega standarda
povezoval različne ponudnike računalništva v oblaku.
Večina konkurenčnih podjetij uporablja celovita orodja, ki so predstavljena v obliki aplikacij
znotraj podjetij ali v obliki storitev v oblaku. Hkrati morajo organizacije vzdrževati brezhibne
poslovne operacije s pomočjo aplikacijskih portalov, ki zaposlenim omogočajo izvajanje
operacij na fleksibilen, varen in kolaborativen način. Federacija identitete (angl. Identity
Federation) predstavlja ključ pri doseganju harmonije med poslovnimi kompetencami in
tehnološko učinkovitostjo. Ta koncept smatramo kot prvi korak pri vpeljavi računalništva v
oblaku v podjetjih in organizacijah.
Federacija identitete vzpostavi zaupanje med aplikacijami, ki odražajo poslovno sorodnost na
način, da zaposlenim omogoča oddaljeno dostopanje do aplikacij z enotnim uporabniškim
računom (angl. Single Sign-On - SSO). Pri tem ni pomembno ali je aplikacija postavljena
lokalno ali na oddaljeni lokaciji. Poleg tega federacija identitete ščiti uporabnikove privatne
informacije. Iz tega razloga je potrebno upoštevati naslednje komponente:
 Uporaba odprte standardne rešitve, kot je Security Assertion Markup Language
(SAML), da bi zagotovili interoperabilnost v hibridnem okolju oblakov.


Namestitev SSL VPN8 naprav za hitro omogočanje, zaščito in integracijo storitev
računalništva v oblaku.

Federacija identitete ima dva pomena. Prvi pomen je navidezna združitev (angl. Virtual
Reunion) ali združena identiteta (angl. Assembled Identiy) uporabnikovih zasebnih podatkov,
ki so shranjeni na več različnih sistemih za upravljanje z identiteto (angl. Identity
Management System). Drugi pomen predstavlja uporabnikov avtentikacijski proces, ki je
integriran med več IT sistemov ali organizacij. Na primer, uporabnik je lahko letalski potnik
in hkrati gost v hotelu. Če letalska družba in hotel uporabljajo upravljavski sistem za
federativno identiteto, to pomeni da imata skupno pogodbeno zaupanje v avtentikacijo drug
drugega. Potnik se v tem primeru lahko sam identificira kot stranka, ki je rezervirala letalski
let in šele nato se ista identiteta prenese na rezervacijo hotela. Primarni cilj federacije
identitete je, da uporabniku ene domene omogoči varno dostopanje do podatkov ali sistemov
druge domene. Pri tem pa ne zahteva redundance administracije uporabnika. Za izpolnitev
cilja morajo vsi udeleženi sistemi uporabljati isti protokol, da bi zagotovili interoperabilnost.
Ponudniki javnega oblaka kot so Google, Amazon in Salesforce.com ponujajo svoj lasten
IAM9 vmesnik, ki privzeto nima podpore za SSO. Ponudniki privatnih oblakov lahko
8
9

SSL VPN – omogoča oddaljen dostop do poslovnih omrežij preko SSL protokola.
IAM – upravljanje identitete in dostopa.
25
Certified Cloud Computing Engineer

predlagajo različne IAM prakse od ponudnikov javnih storitev v oblaku. Da bi s SSO
zagotovili integracijo oblačne storitve v oddaljen portal organizacije, je s strani večine
ponudnikov storitev v oblaku predlagan odprt standard za federacijo identitete – SAML. Ta
protokol ločuje ponudnika SAML identitete in ponudnika SAML storitev.
To organizacijam omogoča, da imajo centraliziranega ponudnika identitete, ki lahko podpira
veliko število drugih storitvenih ponudnikov na distribuiran način. Ponudnik SAML identitete
se osredotoča na upravljanje identitet, upravljanje dostopne politike (angl. Access Policy
Management) in generiranje varnostnih žetonov (angl. Security Tokens), medtem ko
ponudniki SAML storitev prejemajo oddaljen varnostni žeton, pridobivajo poverilne podatke
(angl. Credential Data) in lokalno okrepijo dostopno politiko. Uporaba SAML protokola
omogoča organizacijam ponujanje svojih storitev drugim organizacijam. Federacija identitete
podpira večdomenski SSO (angl. Cross Domain SSO) in izmenjuje informacije o nadzoru
dostopa z velikim številom partnerjev, kar odraža poslovno zaupanje.
SAML protokol je interoperabilen. Ker ponudniki storitev v oblaku implementirajo različne
protokole za federacijo identitete ali različne verzije istega protokola, mora oblak vsake
organizacije koristiti Security Token Service (STS) za zagotovitev delovanja med različnimi
SSO praksami. SAML žeton lahko na primer pretvorimo med SAML 1.1 in SAML 2.0.
Ravno tako lahko SAML protokol deluje skupaj z drugimi protokoli za federacijo identitete,
kot so WS-* protokoli. Iz tega razloga je potrebno zagotoviti standardizacijo oddaljenega
dostopa s federacijo identitete, kot del varnostne strategije vsakega podjetja in vpeljati
federacijo identitete v obliki odprtega standarda, kot je na primer SAML [8].
2.2.3.8 Upravljanje infrastrukture kot storitve
Pri današnjem poslovanju postajajo IT okolja vedno kompleksnejša pri čemer se od oseb, ki
jih upravljajo pogosto zahteva, da morajo izboljšati operativno učinkovitost ter znižati
stroške. Kot posledica vedno večjih zahtev po reševanju poslovnih izzivov s strani IT-ja,
lahko podatkovni centri hitro zapolnijo svoje načrtovane kapacitete. Zaradi tega se pojavi
potreba po nabavi novih strežnikov. Posledično se povečajo tako kapitalni, kot tudi operativni
stroški in s tem povezani stroški električne energije ter hlajenja. Poleg tega je prisotna zelo
slaba izkoriščenost računalniških virov, kjer je v povprečju dejansko uporabljenih zgolj 5%
strežniških kapacitet.
Oskrba nove fizične infrastrukture zna predstavljati zelo dolg proces, merjen v mesecih, kar
IT organizacijam otežuje odzivnost na spremembe v poslovanju in v splošnem omejuje
poslovno rast. Upravljanje strežnikov lahko predstavlja zelo izčrpno opravilo, kjer lahko
potreba po oskrbi testnih in razvojnih okolij potroši dragocene računalniške vire in čas.
Z vpeljavo virtualizacije v podatkovnih centrih, se pojavi potreba po integriranih in
centraliziranih upravljalnih orodjih. Govorimo predvsem o orodjih za obvladovanje procesa
migracije iz fizične infrastrukture na virtualno ter nato upravljanje te virtualne infrastrukture.
Upravljalnik virtualnih strojev je tisto orodje, ki ponuja IT strokovnjakom preprosto rešitev
strežniškega upravljanja tako za fizične, kot tudi za virtualne stroje.
Upravljanje s strežniško infrastrukturo znotraj virtualiziranih podatkovnih centrov je smiselno
obravnavati iz vidika vsaj petih ključnih komponent, ki skupaj predstavljajo celovito rešitev
za administracijo in upravljanje IaaS infrastrukture.
26
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test

Contenu connexe

Similaire à Test

LJILJANA_BABIC-Razvoj_interaktivnega_graficnega_urejevalnika_za_oznaevanje_po...
LJILJANA_BABIC-Razvoj_interaktivnega_graficnega_urejevalnika_za_oznaevanje_po...LJILJANA_BABIC-Razvoj_interaktivnega_graficnega_urejevalnika_za_oznaevanje_po...
LJILJANA_BABIC-Razvoj_interaktivnega_graficnega_urejevalnika_za_oznaevanje_po...Ljiljana Babič
 
Profili ključnih kadrov: TEHNIKA, PROIZVODNJA, STROJNIŠTVO
Profili ključnih kadrov: TEHNIKA, PROIZVODNJA, STROJNIŠTVOProfili ključnih kadrov: TEHNIKA, PROIZVODNJA, STROJNIŠTVO
Profili ključnih kadrov: TEHNIKA, PROIZVODNJA, STROJNIŠTVORadovan Kragelj
 
Developing a Web App from UX to Finish
Developing a Web App from UX to FinishDeveloping a Web App from UX to Finish
Developing a Web App from UX to FinishStudio Pešec
 
Profili ključnih kadrov: INFORMATIKA
Profili ključnih kadrov: INFORMATIKAProfili ključnih kadrov: INFORMATIKA
Profili ključnih kadrov: INFORMATIKARadovan Kragelj
 
Zunanje izvajanje – kako ga predstaviti nadrejenim in kako motivirati podreje...
Zunanje izvajanje – kako ga predstaviti nadrejenim in kako motivirati podreje...Zunanje izvajanje – kako ga predstaviti nadrejenim in kako motivirati podreje...
Zunanje izvajanje – kako ga predstaviti nadrejenim in kako motivirati podreje...S&T GROUP
 
BICERO - STORITVE - LETAK (SLO)
BICERO - STORITVE - LETAK (SLO)BICERO - STORITVE - LETAK (SLO)
BICERO - STORITVE - LETAK (SLO)Tomislav Rozman
 
Kontrola kvalitete
Kontrola kvaliteteKontrola kvalitete
Kontrola kvaliteteNenad Drvar
 
Poslovni Procesi Mihelic Skafar
Poslovni Procesi Mihelic SkafarPoslovni Procesi Mihelic Skafar
Poslovni Procesi Mihelic Skafarguest7534eed
 
Predstavitev CNAP
Predstavitev CNAPPredstavitev CNAP
Predstavitev CNAPcocentaina
 
Dejstva o outsourcingu in S&T-jev odgovor nanje Borut Kolmanič, S&T Slovenija
Dejstva o outsourcingu in S&T-jev odgovor nanje Borut Kolmanič, S&T Slovenija Dejstva o outsourcingu in S&T-jev odgovor nanje Borut Kolmanič, S&T Slovenija
Dejstva o outsourcingu in S&T-jev odgovor nanje Borut Kolmanič, S&T Slovenija S&T GROUP
 
Slovenian unspsc product_service_classification_process_samples
Slovenian unspsc product_service_classification_process_samplesSlovenian unspsc product_service_classification_process_samples
Slovenian unspsc product_service_classification_process_samplesIndra kumar
 
Virtualization and cloud computing (in Slovene)
Virtualization and cloud computing (in Slovene)Virtualization and cloud computing (in Slovene)
Virtualization and cloud computing (in Slovene)Tomislav Rozman
 
Dušan Rot, Mitja Šturm - Interoperabilnost na osnovi SOA
Dušan Rot, Mitja Šturm - Interoperabilnost na osnovi SOADušan Rot, Mitja Šturm - Interoperabilnost na osnovi SOA
Dušan Rot, Mitja Šturm - Interoperabilnost na osnovi SOAGenis d.o.o.
 
NETFORK - Akademija za poslovni Internet 2014
NETFORK - Akademija za poslovni Internet 2014NETFORK - Akademija za poslovni Internet 2014
NETFORK - Akademija za poslovni Internet 2014Luka Kogovsek
 
Poslovna informatika 1: Uvod
Poslovna informatika 1: UvodPoslovna informatika 1: Uvod
Poslovna informatika 1: UvodTomislav Rozman
 
Niko Kušar, Telekom Slovenije (Kako slediti merilom uspešnosti digitalnih pro...
Niko Kušar, Telekom Slovenije (Kako slediti merilom uspešnosti digitalnih pro...Niko Kušar, Telekom Slovenije (Kako slediti merilom uspešnosti digitalnih pro...
Niko Kušar, Telekom Slovenije (Kako slediti merilom uspešnosti digitalnih pro...WEBSI Spletni prvaki
 
Točke povezljivosti pmi, iiba, skram
Točke povezljivosti pmi, iiba, skramTočke povezljivosti pmi, iiba, skram
Točke povezljivosti pmi, iiba, skramAleš Štempihar
 

Similaire à Test (20)

LJILJANA_BABIC-Razvoj_interaktivnega_graficnega_urejevalnika_za_oznaevanje_po...
LJILJANA_BABIC-Razvoj_interaktivnega_graficnega_urejevalnika_za_oznaevanje_po...LJILJANA_BABIC-Razvoj_interaktivnega_graficnega_urejevalnika_za_oznaevanje_po...
LJILJANA_BABIC-Razvoj_interaktivnega_graficnega_urejevalnika_za_oznaevanje_po...
 
Profili ključnih kadrov: TEHNIKA, PROIZVODNJA, STROJNIŠTVO
Profili ključnih kadrov: TEHNIKA, PROIZVODNJA, STROJNIŠTVOProfili ključnih kadrov: TEHNIKA, PROIZVODNJA, STROJNIŠTVO
Profili ključnih kadrov: TEHNIKA, PROIZVODNJA, STROJNIŠTVO
 
Developing a Web App from UX to Finish
Developing a Web App from UX to FinishDeveloping a Web App from UX to Finish
Developing a Web App from UX to Finish
 
Profili ključnih kadrov: INFORMATIKA
Profili ključnih kadrov: INFORMATIKAProfili ključnih kadrov: INFORMATIKA
Profili ključnih kadrov: INFORMATIKA
 
Oprema in informacijska tehnologija
Oprema in informacijska tehnologijaOprema in informacijska tehnologija
Oprema in informacijska tehnologija
 
Zunanje izvajanje – kako ga predstaviti nadrejenim in kako motivirati podreje...
Zunanje izvajanje – kako ga predstaviti nadrejenim in kako motivirati podreje...Zunanje izvajanje – kako ga predstaviti nadrejenim in kako motivirati podreje...
Zunanje izvajanje – kako ga predstaviti nadrejenim in kako motivirati podreje...
 
BICERO - STORITVE - LETAK (SLO)
BICERO - STORITVE - LETAK (SLO)BICERO - STORITVE - LETAK (SLO)
BICERO - STORITVE - LETAK (SLO)
 
Master_thesis
Master_thesisMaster_thesis
Master_thesis
 
Kontrola kvalitete
Kontrola kvaliteteKontrola kvalitete
Kontrola kvalitete
 
Poslovni Procesi Mihelic Skafar
Poslovni Procesi Mihelic SkafarPoslovni Procesi Mihelic Skafar
Poslovni Procesi Mihelic Skafar
 
Predstavitev CNAP
Predstavitev CNAPPredstavitev CNAP
Predstavitev CNAP
 
Dejstva o outsourcingu in S&T-jev odgovor nanje Borut Kolmanič, S&T Slovenija
Dejstva o outsourcingu in S&T-jev odgovor nanje Borut Kolmanič, S&T Slovenija Dejstva o outsourcingu in S&T-jev odgovor nanje Borut Kolmanič, S&T Slovenija
Dejstva o outsourcingu in S&T-jev odgovor nanje Borut Kolmanič, S&T Slovenija
 
Slovenian unspsc product_service_classification_process_samples
Slovenian unspsc product_service_classification_process_samplesSlovenian unspsc product_service_classification_process_samples
Slovenian unspsc product_service_classification_process_samples
 
Virtualization and cloud computing (in Slovene)
Virtualization and cloud computing (in Slovene)Virtualization and cloud computing (in Slovene)
Virtualization and cloud computing (in Slovene)
 
Dušan Rot, Mitja Šturm - Interoperabilnost na osnovi SOA
Dušan Rot, Mitja Šturm - Interoperabilnost na osnovi SOADušan Rot, Mitja Šturm - Interoperabilnost na osnovi SOA
Dušan Rot, Mitja Šturm - Interoperabilnost na osnovi SOA
 
NETFORK - Akademija za poslovni Internet 2014
NETFORK - Akademija za poslovni Internet 2014NETFORK - Akademija za poslovni Internet 2014
NETFORK - Akademija za poslovni Internet 2014
 
Poslovna informatika 1: Uvod
Poslovna informatika 1: UvodPoslovna informatika 1: Uvod
Poslovna informatika 1: Uvod
 
Niko Kušar, Telekom Slovenije (Kako slediti merilom uspešnosti digitalnih pro...
Niko Kušar, Telekom Slovenije (Kako slediti merilom uspešnosti digitalnih pro...Niko Kušar, Telekom Slovenije (Kako slediti merilom uspešnosti digitalnih pro...
Niko Kušar, Telekom Slovenije (Kako slediti merilom uspešnosti digitalnih pro...
 
Procesni vidik informatike
Procesni vidik informatikeProcesni vidik informatike
Procesni vidik informatike
 
Točke povezljivosti pmi, iiba, skram
Točke povezljivosti pmi, iiba, skramTočke povezljivosti pmi, iiba, skram
Točke povezljivosti pmi, iiba, skram
 

Test

  • 1. Gradivo za pristop k izpitu za pridobitev certifikata »Certified Cloud Computing Engineer« Ver. 1.11 Zbrali in uredili: Miha Grohar, Mojca Ciglarič, Matjaž Pančur, Matjaž Horvat Avtorji: - CHS d.o.o. - Fakulteta za računalništvo in informatiko, Univerza v Ljubljani V sodelovanju z: - NIL d.o.o. - Smart Com d.o.o. - Xlab d.o.o. - JOC d.o.o. - Infotehna d.o.o. - Fakulteta za elektrotehniko, računalništvo in informatiko, Univerza v Mariboru - Institut Jožef Štefan - Inštitut Andrej Marušič, Univerza na Primorskem Ljubljana, maj 2013
  • 2. Certified Cloud Computing Engineer Povzetek V dokumentu je učni načrt za program certificiranja inženirjev, ki vsebuje ključna področja, cilje in gradiva, ki so potrebna za študij pred pristopom k izpitu za certifikat »Certified Cloud Computing Engineer«. Certificiranje je namenjeno posameznikom, ki se poklicno ukvarjajo z IT infrastrukturo na naslednjih področjih dela:  načrtovanje infrastrukture oblaka (z uporabo obstoječe opreme),  vzdrževanje infrastrukture oblaka,  administracija infrastrukture oblaka. Sam program certificiranja je razdeljen na splošni in praktični del (administracija v storitvenem modelu IaaS). V prvem delu razvija znanja o splošnih konceptih delovanja tehnologij računalništva v oblaku, v drugem pa obdela tudi konkretne produkte in rešitve. Posameznik bo torej poleg splošnega znanja pridobil tudi praktično, vezano na točno določeno opremo. Na koncu vsakega pomembnejšega poglavja so za preverjanje naučenega in lažjo pripravo na izpit primeri vprašanj. Abstract This document represents the syllabus for computer engineers. It contains essential fields, goals and teaching materials to study before approaching to a certification exam named »Certified Cloud Computing Engineer«. Certificiation programme is intended to ICT professionals in the following working areas:  cloud infrastructure planning (with existing hardware and software),  cloud infrastructure maintaining,  cloud infrastructure administration. Certification programme consists of two parts, general and practical one (administration in IaaS service model). In the first part general concepts of cloud computing technology are intruduced while in the second one specific products and solutions are presented. Participants will gain general knowledge of cloud computing technology as well practical knowledge related to a specific cloud infrastructure. There are also test questions for an easier exam preparation at the end of all important chapters.
  • 3. Certified Cloud Computing Engineer Kazalo 1 Namen učnega načrta .......................................................................................................... 1 2 Splošni del............................................................................................................................. 1 2.1 Namen ............................................................................................................................ 1 2.2 Pregled področja ............................................................................................................. 1 2.2.1 Ključne teme............................................................................................................ 1 2.2.2 Učni cilji .................................................................................................................. 2 2.2.3 Učna gradiva in dodatni viri .................................................................................... 2 2.2.3.1 Definicija računalništva v oblaku ................................................................. 2 2.2.3.2 Lastnosti IaaS ................................................................................................ 3 2.2.3.2.1 2.2.3.2.2 2.2.3.2.3 2.2.3.2.4 2.2.3.2.5 2.2.3.2.6 2.2.3.2.7 2.2.3.2.8 2.2.3.2.9 2.2.3.2.10 2.2.3.2.11 2.2.3.3 2.2.3.3.1 2.2.3.3.2 2.2.3.3.3 2.2.3.3.4 2.2.3.3.5 2.2.3.4 2.2.3.4.1 2.2.3.4.2 2.2.3.4.3 2.2.3.4.4 2.2.3.4.5 2.2.3.4.6 2.2.3.4.7 2.2.3.5 2.2.3.5.1 2.2.3.5.2 2.2.3.5.3 2.2.3.5.4 2.2.3.6 2.2.3.6.1 2.2.3.7 2.2.3.7.1 2.2.3.7.2 2.2.3.8 Virtualizacija ......................................................................................................... 3 Avtomatizacija in orkestracija ............................................................................... 3 Cloudbursting ........................................................................................................ 4 Federacija .............................................................................................................. 4 Elastičnost in skalabilnost ..................................................................................... 5 Samopostrežba ...................................................................................................... 5 Večnajemniški model ............................................................................................ 5 Merjenje storitev ................................................................................................... 6 Konsolidacija in centralizacija .............................................................................. 6 Migracija virtualcev ............................................................................................ 6 Replikacija podatkov ........................................................................................... 6 Prednosti IaaS ............................................................................................... 7 Nižji stroški (Poslovni vidik) ................................................................................ 7 Poslovna agilnost (Poslovni vidik) ........................................................................ 7 Hitro razširjanje zmogljivosti, elastičnost, skalabilnost (Tehnološki vidik) ......... 7 Konsolidacija in centralizacija IT sistemov (Tehnološki vidik) ............................ 7 Primeri uporabe ..................................................................................................... 8 Virtualizacija ................................................................................................. 8 Uvod ...................................................................................................................... 8 Strežniška virtualizacija ........................................................................................ 9 Virtualizacija podatkovne shrambe ..................................................................... 13 Virtualizacija omrežij .......................................................................................... 14 Virtualizacija aplikacij ........................................................................................ 15 V/I Virtualizacija ................................................................................................. 15 Virtualizacija in infrastruktura kot storitev ......................................................... 16 Arhitektura .................................................................................................. 17 Osnovni gradniki ................................................................................................. 17 Mrežno računalništvo in računalništvo v oblaku................................................. 18 Elastičnost in skalabilnost ................................................................................... 19 Večnajemniški model .......................................................................................... 21 Visoko zmogljivo računanje v oblaku ........................................................ 23 Klasifikacija HPC ................................................................................................ 23 Federacija in interoperabilnost v okolju oblakov........................................ 24 Interoperabilnost.................................................................................................. 24 Federacija identitete ............................................................................................ 25 Upravljanje infrastrukture kot storitve ........................................................ 26
  • 4. Certified Cloud Computing Engineer 2.2.4 Študije primerov .................................................................................................... 27 2.2.5 Primeri vprašanj .................................................................................................... 27 2.3 Varnostni postopki v oblaku ........................................................................................ 29 2.3.1 Ključne teme.......................................................................................................... 29 2.3.2 Učni cilji ................................................................................................................ 29 2.3.3 Učna gradiva in dodatni viri .................................................................................. 30 2.3.3.1 Predlog varnostnih postopkov..................................................................... 30 2.3.3.2 Osnovni kriteriji za varnostno vrednotenje platforme oblaka ..................... 30 2.3.3.3 Navodila za uporabo osnovnih kriterijev .................................................... 31 2.3.3.3.1 2.3.3.3.2 2.3.3.3.3 2.3.3.3.4 2.3.3.3.5 2.3.3.3.6 2.3.3.3.7 2.3.3.3.8 2.3.3.3.9 2.3.3.3.10 2.3.3.3.11 2.3.3.3.12 2.3.3.3.13 2.3.3.3.14 2.3.3.3.15 2.3.3.3.16 2.3.3.3.17 2.3.3.3.18 2.3.3.3.19 2.3.3.3.20 2.3.3.3.21 2.3.3.3.22 2.3.3.3.23 Skladnost s standardi in regulativo ter podpora revizijam (angl. audit) .............. 31 Upravljanje s podatki........................................................................................... 32 Fizična varnost računskega centra ....................................................................... 32 Upravljanje s človeškimi viri .............................................................................. 32 Varnostna politika ter politika glede uporabe enkripcije in upravljanja s ključi . 33 Uporabniški dostop ............................................................................................. 33 Izvajanje varnostnih preizkusov (angl. benchmarking) ....................................... 34 Upravljanje s popravki, protivirusna oprema ...................................................... 34 Upravljanje z incidenti ........................................................................................ 34 Uporaba mobilnih naprav .................................................................................. 34 Zaščita aplikacij in njihove izvorne kode .......................................................... 35 Pravni vidiki ...................................................................................................... 35 Upravljanje procesov (operations management) ............................................... 35 Upravljanje s tveganji........................................................................................ 35 Upravljanje z različicami................................................................................... 35 Zagotavljanje odpornosti sistema (angl. resiliency) .......................................... 36 Varnostna arhitektura ........................................................................................ 36 Politika dela z gesli ........................................................................................... 36 Večfaktorska avtentikacija ................................................................................ 37 Upoštevanje varnostnih standardov................................................................... 38 Omrežna varnost ............................................................................................... 38 Sistemski dnevnik ............................................................................................. 38 Prenosna koda ................................................................................................... 38 2.3.4 Študije primerov .................................................................................................... 38 2.3.5 Primeri vprašanj .................................................................................................... 39 2.4 Avtentikacija, avtorizacija, sledenje ............................................................................. 40 2.4.1 Ključne teme.......................................................................................................... 40 2.4.2 Učni cilji ................................................................................................................ 40 2.4.3 Učna gradiva in dodatni viri .................................................................................. 40 2.4.3.1 Funkcionalnost avtorizacije, avtentikacije in sledenja ................................ 40 2.4.3.1.1 2.4.3.1.2 2.4.3.1.3 2.4.3.1.4 2.4.3.1.5 2.4.3.1.6 2.4.3.2 2.4.3.2.1 Storitev za registracijo uporabnikov.................................................................... 40 Storitve za izdajo uporabniških certifikatov ........................................................ 44 Storitve za avtentikacijo ...................................................................................... 45 Storitve za avtorizacijo ........................................................................................ 45 Storitve za sledenje in beleženje dostopa ............................................................ 46 Storitve za zaračunavanje uporabe storitev ......................................................... 47 Mehanizmi za zanesljivost in razpoložljivost AAA storitev ...................... 47 Analiza večjih tveganj glede zanesljivosti .......................................................... 47 2.4.4 Študije primerov .................................................................................................... 50
  • 5. Certified Cloud Computing Engineer 2.4.5 Primeri vprašanj .................................................................................................... 50 2.5 PaaS .............................................................................................................................. 52 2.5.1 Ključne teme.......................................................................................................... 52 2.5.2 Učni cilji ................................................................................................................ 52 2.5.3 Učna gradiva in dodatni viri .................................................................................. 52 2.5.3.1 PaaS............................................................................................................. 52 2.5.3.1.1 2.5.3.1.2 2.5.3.2 2.5.3.3 PaaS v javnem oblaku ......................................................................................... 52 PaaS v privatnem oblaku ..................................................................................... 53 PaaS v hibridnem oblaku ............................................................................ 54 Lastnosti PaaS ............................................................................................. 54 2.5.3.3.1 2.5.3.3.2 2.5.3.3.3 2.5.3.3.4 2.5.3.3.5 2.5.3.3.6 2.5.3.3.7 2.5.3.3.8 2.5.3.3.9 2.5.3.3.10 2.5.3.3.11 2.5.3.3.12 2.5.3.3.13 2.5.3.3.14 2.5.3.4 2.5.3.5 2.5.3.5.1 2.5.3.5.2 Samopostrežnost.................................................................................................. 55 Avtomatizirano upravljanje ................................................................................. 55 Skalabilnost ......................................................................................................... 56 Večnajemniški model .......................................................................................... 57 Ponovna uporaba virov........................................................................................ 58 Centraliziran nadzor ............................................................................................ 58 Varovana platforma ............................................................................................. 59 Granularen nadzor nad varnostjo dostopa ........................................................... 59 Merjenje in zaračunavanje porabe ....................................................................... 59 Visoka razpoložljivost ....................................................................................... 60 Fleksibilen storitven integracijski model .......................................................... 60 Integriran nabor vsebine .................................................................................... 61 Prilagojen podatkovni nivo ............................................................................... 62 Uporabniški vmesnik po meri ........................................................................... 63 Tipi .............................................................................................................. 63 Poslovni vidik PaaS .................................................................................... 64 Poslovne prednosti PaaS ..................................................................................... 64 Poslovna tveganja PaaS ....................................................................................... 67 2.5.4 Študije primerov .................................................................................................... 68 2.5.5 Primeri vprašanj .................................................................................................... 68 3 Administracija v storitvenem modelu IaaS ..................................................................... 70 3.1 Namen .......................................................................................................................... 70 3.2 IaaS ............................................................................................................................... 70 3.2.1 Ključne teme.......................................................................................................... 70 3.2.2 Učni cilji ................................................................................................................ 70 3.2.3 Učna gradiva in dodatni viri .................................................................................. 70 3.2.3.1 OpenStack ................................................................................................... 70 3.2.3.1.1 3.2.3.1.2 3.2.3.2 3.2.3.2.1 3.2.3.3 3.2.3.3.1 3.2.3.3.2 3.2.3.4 3.2.3.4.1 3.2.3.4.2 3.2.3.4.3 Kratek opis platforme .......................................................................................... 70 Namestitev........................................................................................................... 72 VMware vCloud Director ........................................................................... 73 Kratek opis platforme .......................................................................................... 73 Microsoft Private Cloud .............................................................................. 79 Kratek opis platforme .......................................................................................... 79 Predpogoji za namestitev..................................................................................... 81 Ostale programske rešitve: .......................................................................... 81 OpenNebula ......................................................................................................... 81 Eucalyptus ........................................................................................................... 82 Apache VCL ........................................................................................................ 84
  • 6. Certified Cloud Computing Engineer 3.2.3.4.4 Nimbus ................................................................................................................ 85 3.2.4 Študije primerov .................................................................................................... 85 3.2.5 Primeri vprašanj .................................................................................................... 86 4 Bibliografija ....................................................................................................................... 90
  • 7. Certified Cloud Computing Engineer Kazalo slik SLIKA 1: HIPERVIZOR............................................................................................................................................. 10 SLIKA 2: SHEMA RAČUNALNIŠTVA V OBLAKU........................................................................................................ 18 SLIKA 3: SKALABILNOST........................................................................................................................................ 20 SLIKA 4: RAZLIČNI NIVOJI INFRASTRUKTURE......................................................................................................... 22 SLIKA 5: REGISTRACIJA ODJEMALCA KOT JO DEFINIRAN STANDARD PKI. ............................................................. 45 SLIKA 6: ARHITEKTURA REŠITVE VMWARE VCLOUD. ........................................................................................... 73 SLIKA 7: DELOVANJE REŠITVE VMWARE VCLOUD DIRECTOR. .............................................................................. 75 SLIKA 8: GLAVNE KOMPONENTE MICROSOFT HYPER-V CLOUD. ........................................................................... 79
  • 8. Certified Cloud Computing Engineer Namen učnega načrta 1 Namen učnega načrta je jasno predstaviti nabor znanja in veščin, ki ji mora obvladati certificirani inženir oblaka (angl. »Certified Cloud Computing Engineer«). Namenjen je potencialnim inženirjem, ki se želijo pripraviti za certificiranje, prav tako pa tudi ustvarjalcem učnih gradiv. Načrt vsebuje podrobne sezname ključnih področij, ki jih je potrebno obravnavati, učne cilje, ki jih želimo doseči, primere učnih gradiv in reference na dodatne vire, predlog študij primerov ter vprašanja za preverjanje naučenega. Razdeljen je na dva dela:  splošni, ki pokriva osnovne koncepte oblaka,  administracija v storitvenem modelu IaaS, ki zajema konkretne tehnologije in najbolj pogosta opravila, ki jih izvaja administrator oblaka. 2 Splošni del 2.1 Namen V tem delu pokrijemo osnovne koncepte oblaka, ki jih mora osvojiti certificirani inženir oblaka, ne glede na konkretno tehnologijo ali tip oblaka oziroma ponudnika izbrane programske opreme za oblak. Šele z dobrim razumevanjem obravnavanih konceptov lahko potencialni inženir sprejema dobre odločitve pri upravljanju, načrtovanju in migraciji oblaka. Vsebina obsega osnovne definicije, pregled področja in opis glavnih tehnologij nad katerimi je zgrajen oblak. Poudarek je predvsem na IaaS modelu oblaka, predstavljeni pa so tudi osnovni koncepti PaaS in SaaS. 2.2 Pregled področja 2.2.1 Ključne teme        definicija računalništva v oblaku, modeli oblakov, značilnosti oblakov; lastnosti IaaS:  virtualizacija,  avtomatizacija in orkestracija,  cloud bursting, izkoriščanje zunanjih oblakov za pokrivanje konic uporabe,  federacija,  elastičnost in skalabilnost,  samopostrežba,  večnajemniški model; merjenje storitev; konsolidacija in centralizacija; migracija virtualnih strojev; replikacija podatkov; prednosti IaaS:  poslovni vidik nižjih stroškov, 1
  • 9. Certified Cloud Computing Engineer      poslovna agilnost,  hitro razširjanje zmogljivosti, elastičnost, skalabilnost,  kosolidacija in centralizacija IT sistemov; virtualizacija:  strežniška virtualizacija, hipervizorji,  virtualizacija podatkovne shrambe,  virtualizacija omrežij,  virtualizacija aplikacij,  V/I virtualizacija; arhitektura oblakov:  osnovni gradniki,  elastičnost in skalabilnost,  večnajemniški model, varna souporaba računalniških virov; visoko zmogljivo računalništvo; federacija in interoperabilnost v okolju oblakov. 2.2.2 Učni cilji     Inženir podrobno razume koncept virtualizacije. Inženir zna pojasniti večnajemniški model in razume tveganja, ki se pojavijo pri tem modelu. Inženir zna predvidevati konice uporabe zasebnega oblaka in jih pokrivati s ”cloudburstingom”. Inženir pozna osnovne značilnosti, ki oblak definirajo. 2.2.3 Učna gradiva in dodatni viri 2.2.3.1 Definicija računalništva v oblaku Iskanje enovite definicije računalništva v oblaku je precej težavno. Če samo v Googlov iskalnik vnesemo besedo »cloud computing«, lahko najdemo vsaj trideset različnih definicij o tej veji računalništva. Najbolj pogosto uporabljene in citirane definicije v strokovni literaturi bomo obravnavali v nadaljevanju. Wikipedia definira računalništvo v oblaku kot »računalništvo, pri katerem so dinamično razširljiva in pogosto virtualizirana računalniška sredstva na voljo kot storitev preko interneta« [25]. Gartner Group, kot ena vodilnih analitskih in svetovalnih hiš iz področja informacijske tehnologije, definira računalništvo v oblaku kot »slog računalništva, kjer so masivno skalabilne IT zmogljivosti dostavljene zunanjim odjemalcem kot storitev, z uporabo internetnih tehnologij« [26]. Podjetji Forrester in Burton sta v svetu IT analitike in svetovanja prav tako zelo pomembna igralca. Slednji trdi, da je računalništvo v oblaku »nabor disciplin, tehnologij in poslovnih modelov za prikaz IT virov kot storitev na zahtevo« [27]. Forrester pa definira računalništvo v oblaku kot »množico skalabilnih računalniških virov za gostovanje, ki omogočajo zaračunavanje glede na dejansko porabo« [28]. 2
  • 10. Certified Cloud Computing Engineer Ena pogosteje uporabljenih definicij računalništva v oblaku je definicija Nacionalnega inštituta standardov in tehnologije – NIST (National Institute of Standards and Technology). NIST predstavlja agencijo, ki deluje znotraj gospodarske zbornice Združenih držav Amerike. Razlog za široko uporabnost te definicije tiči v velikem vplivu ameriške administracije na računalništvo v oblaku ter dejstvu, da imajo dodeljenega 70 milijard dolarjev letnega proračuna in tako predstavljajo največjega uporabnika IT storitev na svetu. NIST računalništvo v oblaku definira kot »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 oskrbovani (angl. Provisioned) in izdani (angl. Released) z minimalnim trudom vodstva oziroma z interakcijo ponudnika storitve« [29]. Ob podrobni analizi zgoraj navedenih definicij računalništva v oblaku lahko hitro ugotovimo, da sta poudarka zmeraj dva. Prvi je na elastičnosti in skalabilnosti IT virov, drugi pa je na dostopnosti v obliki storitev. Računalništvo v oblaku se poleg klasične virtualizacije sestoji še iz avtomatizacije in orkestracije storitev ter »multitenancy« zmožnosti. Ta je podprta z enotnimi, skalabilnimi bazeni strojne opreme, programsko opremo ter omrežnimi kapacitetami, da bi omogočili dinamično dostavo IT in aplikacijskih funkcionalnostih na zahtevo. Poslovni model računalništva v oblaku na drugi strani ponuja končnim uporabnikom različne stopnje fleksibilnosti v smislu uporabe storitev, zaračunavanja (angl. Billing) in samopostrežnega upravljanja ter oskrbovanja (angl. Provisioning). Model storitev v oblaku je lahko apliciran v treh sledečih domenah:  strežniki, shramba, omrežje ali infrastruktura kot storitev (IaaS),  funkcionalnosti poslovnih aplikacij ali programska oprema kot storitev (SaaS),  okolje za razvoj aplikacij ali platforma kot storitev (PaaS) [23]. 2.2.3.2 Lastnosti IaaS Infrastruktura kot storitev je fundamentalna komponenta storitvenega modela računalništva v oblaku. Njene bistvene lastnosti so sledeče: 2.2.3.2.1 Virtualizacija Strežniška virtualizacija – zmožnost izvajanja več slik OS/aplikacij (angl. Stack Images) na eni sami fizični strojni opremi – predstavlja resnično vrednost IaaS nivoja. Hipervizorji (angl. Hypervisor) izvajajo funkcijo deljenja (angl. Dividing) računalniških virov fizičnega strežnika na logične vire ali »virtualne stroje«, ki delujejo kot izolirana računalniška okolja in jih lahko po potrebi premikamo in kopirano med različnimi fizičnimi strežniki. Strežniška virtualizacija nam pomaga pri omejevanju povečevanja strojne opreme s konsolidacijo aplikacij na manj fizičnih naprav. S tem izboljša utilizacijo strežniških virov, sprosti prostor v podatkovnem centru in zniža ceno operacij in energije. 2.2.3.2.2 Avtomatizacija in orkestracija Tehnologija orkestracije in avtomatizacije je postavljena nad infrastrukturo virtualizacije in ponuja mehanizem za hitro oskrbo in skaliranje IT okolja ter vzdrževanju jedra (angl. Core) 3
  • 11. Certified Cloud Computing Engineer infrastrukture oblaka. Sloj za orkestracijo kombinira uporabnikove zahtevke z informacijami logičnega nivoja z namenom realizacije uporabnikovih zahtev. Sloj za orkestracijo se na primer odloči o lokaciji začetne postavitve in sprejema odločitve za premikanje zahtevanih virov. Te sprejema med drugim na osnovi pričakovane obremenitve in količine virov, ki so še na voljo v podatkovnem centru. 2.2.3.2.3 Cloudbursting Računalništvo v oblaku in cloudbursting sta novi, obetavni paradigmi IT področja. Zmožnost uporabe strojne opreme in storitev na zahtevo ter plačila glede na porabo ustvarja velike potenciale. Cloudbursting rešuje problem obremenitvenih konic sistema in predstavlja enega izmed bistvenih karakteristik računalništva v oblaku. Opisuje proceduro v kateri so nove kapacitete zasedene glede na potrebe in sproščene, ko več niso potrebne. V kontekstu računalništva v oblaku, cloudbursting pomeni, da če je sistem preobremenjen iz kakšnega koli razloga, izenačevalec obremenitev (angl. Load Balancer) avtomatično integrira nova vozlišča (angl. Nodes) v oblaku. Velika prednost cloudburstinga je ta, da je visoko-skalabilen sistem dostopen brez interakcije s človekom. Aplikacija lahko skalira odvisno od obremenitev in tako bistveno zmanjša stroške. Problem v splošnem predstavlja to, da breme aplikacije po navadi ni enakomerno porazdeljeno preko daljšega časovnega obdobja. Med božičnim časom so na primer zahteve po Amazonovi spletni trgovini veliko večje kot običajno. V takšnih primerih je potrebna dinamična skalabilnost oziroma cloudbursting. Aplikacija se mora prilagoditi obremenitvam tako, da se v primeru preobremenjenosti vozlišča dodajo oziroma v nasprotnem primeru avtomatično odstranijo. 2.2.3.2.4 Federacija Federacija v splošnem pomeni zbirko neodvisnih entitet, ki se obnašajo kot ena sama entiteta in pri tem ohranjajo individualno avtonomnost. Federacija v kontekstu računalništva v oblaku pomeni federacijo med več ponudniki storitev računalništva v oblaku znotraj ene upravljavske platforme. Za polno izpolnitev obljub računalništva v oblaku morajo obstajati tehnološke zmogljivosti za federacijo različnih podatkovnih centrov, tudi tistih v lasti drugih organizacij. Samo s pomočjo federacije in interoperabilnosti lahko ponudniki infrastrukture izkoristijo agregirano zmogljivost, da bi zagotovili iluzijo neskončnosti virov. Infrastrukturi, ki je skladna s to paradigmo, pravimo federiran oblak. Poleg tega federacija iz ekonomskega vidika pozitivno vpliva na konkurenčnost in inovativnost, saj tudi manjšim in srednje velikim podjetjem omogoča, da lahko lažje vstopijo na trg ponudnikov infrastrukture. Eden izmed vmesnikov, ki omogoča federacijo je CDMI1 (Cloud Data Management Interface). Standard CDMI je bil v zadnjih letih razvit s strani vodilnih ponudnikov shrambe, uporabnikov in raziskovalcev tehnologij oblaka. Cilji tega standarda so ponuditi standardni vmesnik, preko katerega bodo lahko odjemalci komunicirali; ponuditi standardni pristop za dodajanje specifičnih funkcionalnostih ponudnika, ne da bi pri tem onemogočali kompatibilnost ter omogočiti standardizirane primere uporabe federacije med različnimi 1 CDMI – vmesnik za upravljanje podatkov v oblaku. 4
  • 12. Certified Cloud Computing Engineer oblaki. Ti primeri uporabe predstavljajo možnost skaliranja preko omejitev enojnega podatkovnega sistema, delegirano shrambo, distribucijo shranjenih podatkov (CDN) in večnajemniški model (angl. Multitenancy). 2.2.3.2.5 Elastičnost in skalabilnost Zmožnosti oblaka so lahko rapidno in elastično oskrbovane, v nekaterih primerih lahko skalirajo tudi avtomatično. Zmožnosti, ki so na voljo za oskrbovanje, dajejo iluzijo neskončnosti virov in so na voljo uporabnikom kadarkoli jih ti potrebujejo v poljubni količini. Elastičnost je zmožnost postavitve dodatnih virov v oblak, kot narekujejo potrebe. To je ena izmed ključnih karakteristik pri odločanju za ponudnika. Precej klasičnih ponudnikov gostovanja in upravljanih storitev so klasične postavitve strežnikov preprosto preimenovali v IaaS. V resnici ponujajo namenske farme strežnikov in grafične nadzorne plošče, da bi pridobili čim več strank. Isti strežnik, ki bi sicer stal več sto dolarjev na mesec preimenujejo v oblak in postavijo višjo ceno. 2.2.3.2.6 Samopostrežba IaaS pristop v IT-ju predstavlja evolucijo kolokacije gostovanja (angl. Hosting) in podatkovnih centrov, ki omogočajo dostop do strojne ali programske opreme, omrežne tehnologije ter podpore do oddaljenih, dislociranih storitev. Inovacija oz. dodana vrednost IaaS nivoja je ravno zmožnost, da stranka upravlja, konfigurira in skalira infrastrukturo na samopostrežni način. Samopostrežba na zahtevo omogoča oskrbovanje, postavitev in dostop do storitev preko samopostrežnega modela. Vmesnik samopostrežbe za oskrbovanje strežnikov, izenačevanje obremenitve (angl. Load Balancing), podporo podatkov in programsko opremo predstavlja osnovni nabor poslovnih zahtev. Vmesnik ali nadzorna plošča uspešnega IaaS ponudnika mora biti dostopna kadarkoli pri čemer mora zagotavljati visoko zanesljivost računalniških virov in samega sistema. Integrirano poročanje (pogled storitev v uporabi ali izvajanju) predstavlja lastnost, ki je potrebna pri vsakodnevnem upravljanju nameščenih storitev. Pri večini današnjih ponudnikov je težava v zmedi IaaS uporabnikov, ki samopostrežbe ne vidijo kot storitev. Kritična infrastruktura, nad katero delujejo poslovne aplikacije, v resnici zahteva visoko stopnjo storitev in podpore s strani IaaS ponudnika. 2.2.3.2.7 Večnajemniški model Da bi ponudniki lahko stregli več strankam z uporabo večnajemniškega modela, se morajo računalniški viri nahajati v bazenih. Pri tem so različni fizični in virtualni viri dinamično dodeljeni in odvzeti glede na potrebe uporabnika. Prisoten je občutek lokacijske neodvisnosti, pri čemer stranka nima nadzora oziroma vednosti o točni lokaciji ponujenih virov, vendar ima možnost specificirati lokacijo na višjem nivoju abstrakcije (npr. država, podatkovni center). Primeri virov vključujejo shrambo, procesno moč, pomnilnik, pasovno širino in virtualne stroje. Vse oblike IaaS nivoja so predstavljene kot rešitve, ki podpirajo »multitenancy« oz. deljeno/skupno infrastrukturo. V primeru privatnih oblakov, ki so namenjeni izključno eni stranki oz. organizaciji, je fizična infrastruktura deljena med več različnimi internimi 5
  • 13. Certified Cloud Computing Engineer poslovnimi enotami. Javni oblaki uporabljajo agregirane platforme, ki si jih delijo stranke, katere med seboj nimajo nujno poslovne povezave. 2.2.3.2.8 Merjenje storitev Sistemi v oblaku samodejno nadzirajo in optimizirajo porabo virov s pomočjo merjenja porabe na določenem nivoju abstrakcije, ki je primeren za posamezen tip storitve (shramba, procesiranje, pasovna širina ali aktivni uporabniški računi). Uporabo virov je mogoče spremljati (angl. Monitor), nadzirati (angl. Control) in poročati (angl. Report) na način, ki je transparenten tako za ponudnika, kot tudi za uporabnika storitve. Organizacije plačujejo zgolj za tiste vire, ki jih dejansko porabijo. Večina organizacij in ponudnikov najema programsko opremo pri zunanjih izvajalcih z razlogom izvedbe zaračunavanja ter utililizacije virov. 2.2.3.2.9 Konsolidacija in centralizacija S ponujanjem skupne, adaptivne platforme lahko IaaS zamenja obstoječe heterogene, pogosto neizkoriščene strežnike in shrambo s standardizirano infrastrukturo za izvajanje in skaliranje internih B2B ter B2C aplikacij. Ko so ti enotni IaaS viri povezani v poslovno omrežje z VPN2 ali katero drugo tehnologijo, lahko podjetja koristijo zmožnosti oblaka kot razširitev internih IT virov ali kot rešitev za kontinuirano okrevanje po incidentu [23]. 2.2.3.2.10 Migracija virtualcev Migracija virtualnih strojev je dobro vpeljan pristop premikanja računalniških virov v LAN okolju, ker omogoča migracijo virtualnih strojev brez bistvenega vpliva na aplikacijski nivo. Mehanizmi povezljivosti pri LAN omrežjih omogočajo razširjanje uporabe ter mehanizmov na WAN okolja. Zaradi vpliva odzivnosti oziroma latence v WAN okolju, moramo biti previdni pri zagotavljanju učinkovitosti in zmogljivosti mehanizma migracije virtualnih strojev. 2.2.3.2.11 Replikacija podatkov Shramba je pomembna komponenta računalniških virov, ki jih uporabljamo v oblaku. Kadarkoli uporabljamo vire v oblaku je pomembno, da celovito preučimo porabo tako računske moči kot tudi shrambe. Za aplikacije je pomembno, da so računalniški viri in podatki na skupni lokaciji zaradi učinkovitosti, latence in pasovne širine. Premikanje podatkov znotraj ali med podatkovnimi centri lahko zahteva precejšnjo količino časa. Ta čas pogosto odraža celotno trajanje migracije in je običajno daljši od same migracije virtualnega stroja. Pri premikanju podatkov je pomembno, da potrebo po migraciji predvidimo, saj se podatki replicirajo medtem, ko se aplikacija še vedno izvaja. Replikacijo podatkov lahko v osnovi razdelimo na sinhrono in asinhrono. Pri sinhroni replikaciji se vsak blok podatkov, ki ga shranimo na lokalni sistem, hkrati shrani še na oddaljeno lokacijo in šele nato se shranjevanje na lokalnem sistemu zaključi. Pri asinhroni replikaciji podatkov na lokalni sistem in oddaljeno lokacijo ne shranjujemo hkrati. Shranjevanje se v tem primeru zaključi že ob uspešnem shranjevanju na lokalni sistem, kar 2 VPN – navidezno omrežje. 6
  • 14. Certified Cloud Computing Engineer lahko pripelje do nekonsistence med lokalnimi in oddaljenimi podatki. Zaradi dostopnega časa in drugih omejitev sinhrone replikacije se pogosto uporablja kombinacija asinhrone in sinhrone replikacije [24]. 2.2.3.3 Prednosti IaaS 2.2.3.3.1 Nižji stroški (Poslovni vidik) S poslovnega vidika so nižji stroški ena glavnih prednosti uporabe storitev oblaka. V primeru javnih oblakov lahko organizacije po potrebi na enostaven način zakupijo dostop do informacijske tehnologije, ki jo za organizacijo upravlja nekdo drug. Pri tem so investicijski stroški eliminirani in se preslikajo v operativne stroške. Uporabnikom se zaračuna zgolj toliko, kot dejansko uporabijo in za storitve plačujejo mesečno. Kot posledica pa se bistveno zmanjša tudi vrednost celotnih stroškov lastništva (TCO). 2.2.3.3.2 Poslovna agilnost (Poslovni vidik) Poslovni procesi, kot so prodaja, podpora uporabnikom, razvoj produktov in interna komunikacija ali kolaboracija so vedno bolj odvisni od informacijske tehnologije in omrežij. Organizacije potrebujejo več dinamične IT infrastrukture, da se lahko odzivajo na nove poslovne priložnosti. IaaS med drugim omogoča tudi zagotavljanje konsistentne IT implementacije med različnimi lokacijami in zagotavlja neprekinjenost operacij. IaaS med drugim tudi pohitri čas na tržišče (angl. Time to Market) in čas do ustvarjanja prihodkov (angl. Time to Revenue). Interno IT osebje lahko tako daje prednost ključnim poslovnim dejavnostim in posveti manj časa vzpostavitvi infrastrukture. 2.2.3.3.3 Hitro razširjanje zmogljivosti, elastičnost, skalabilnost (Tehnološki vidik) IaaS omogoči IT osebju, da se osredotoči na ključne poslovne projekte namesto na zagotavljanje enotne strojne opreme. Odstranitev časovno potratnega cikla za nabavo in implementacijo ter zmožnost dostopa do IT virov po potrebi pomeni, da lahko čas, ki je potreben za razvoj in postavitev aplikacij v organizaciji merimo v dnevih in tednih namesto mesecih. Poleg tega IaaS rešitve IT uporabnikom omogočajo še prilagoditev virov specifičnemu računalniškemu opravilu, pri čemer lahko viri po potrebi tudi skalirajo. Poleg tega se omejena ali manjkajoča infrastruktura IT oddelkov ne omejuje več in so tako lahko bolj inovativni na področju IT projektov s katerimi znižujejo stroške in posledično ustvarjajo večje prihodke. 2.2.3.3.4 Konsolidacija in centralizacija IT sistemov (Tehnološki vidik) IaaS lahko s ponujanjem skupne in prilagodljive platforme zamenja obstoječe heterogene in pogosto neizkoriščene strežnike ter podatkovna skladišča s standardizirano infrastrukturo za poganjanje in razširjanje aplikacij. Ti enotni IaaS viri lahko služijo kot razširitev internih IT virov ali pa kot oddaljena rešitev za okrevanje po incidentu oziroma rešitev za neprekinjeno poslovanje [23]. 7
  • 15. Certified Cloud Computing Engineer 2.2.3.3.5 Primeri uporabe Sezonske potrebe in potrebe za kratek čas IaaS odstranjuje potrebo po investiciji v računalniške vire, ki so kasneje pogosto neizkoriščeni, saj virov ni potrebno načrtovati za obremenitvene konice. Nepredvidljive obremenitvene konice IaaS omogoča dinamično razširjanje kapacitet v primeru, ko se poveča delovno breme aplikacije. Primer takšnih aplikacij so spletne strani, kjer povečan promet sprožijo zunanji nepredvidljivi dogodki. Testiranje novih aplikacij IaaS ponuja platformo, kjer lahko z malo tveganja in brez visokih začetnih stroškov preverimo nov koncept, razvijamo in testiramo. Zahteve po rapidnem razširjanju shrambe Medijske spletne strani, internetni video, avdio in številni poslovni podatki zahtevajo shrambo, ki ni samo skalabilna temveč tudi dostopna kadarkoli. Ovire kapacitet podatkovnih centrov Z upoštevanjem konsolidacije podatkovnega centra bo določena delovna bremena (še posebej nekritična opravila) potrebno migrirati navzven (angl. Offsite). Poslovna kontinuiteta/okrevanje po incidentu IaaS je lahko uporabljen za oskrbo (angl. Provisioning) cenejših visoko-dostopnih aplikacijskih okolij z lažjim upravljanjem [23]. 2.2.3.4 Virtualizacija 2.2.3.4.1 Uvod Ideja o virtualizaciji je stara že vsaj tri desetletja in je bila v 70ih dobro uveljavljena in sprejeta s strani uporabnikov. V 80ih in 90ih je izgubila na popularnosti zaradi prihoda poceni osebnih in mikroračunalnikov, zaradi česar se je centralizirana infrastruktura vedno bolj smatrala kot predraga za nakup in vzdrževanje. Posledično bili smo od 90ih dalje priča decentralizaciji podatkovnih centrov. Velikost infrastrukture je tako s potrebami po več aplikacijah in aplikacijskih okoljih skalirala eksponentno. Takšna infrastruktura je prinesla nove omejitve. Pogosto je bila slabo izkoriščena, zaradi zagotavljanja podpore fizični infrastrukturi so se povišali operativni stroški, višji so bili stroški upravljanja z infrastrukturo, zagotavljanje delovanja ob izpadu in zaščite pred nesrečami pa je bilo težavno. Virtualizacijo lahko razumemo tudi kot kombinacijo obeh omenjenih paradigem, in sicer centralizacije in decentralizacije. Namesto da za vsako aplikacijo kupimo in vzdržujemo celoten fizični strežnik, lahko vsaki aplikaciji zagotovimo lastno izvajalno okolje s pomočjo virtualizacije. Vsaka aplikacija ima tako na voljo okolje z vhodno/izhodnimi možnostmi, procesno močjo in pomnilnikom, pri čemer souporabljajo fizično strojno opremo. S tem zagotovimo prednosti decentralizacije, na primer večjo varnost kot tudi prednosti centralizacije, na primer boljši izkoristek in večjo donosnost investicij v tehnologijo. Eden glavnih ciljev virtualizacije je konsolidacija storitev in shrambe, s čimer dosežemo višjo stopnjo utilizacije. Pogosto lahko zasledimo mnenje, da naj strežniki ne delujejo blizu polne obremenitve, vendar je pravilo ravno nasprotno. Strežniki morajo biti obremenjeni, da bi 8
  • 16. Certified Cloud Computing Engineer lahko zmanjšali količino fizičnih strojnih platform in povečali donosnost investicije. Poleg višje utilizacije z virtualizacijo dosežemo še podporo zastareli programski opremi in zmožnost izvajanja več različnih operacijskih sistemov na isti fizični platformi hkrati. Virtualizacija prinaša še prednosti na področju zanesljivosti in varnosti. Zagotovljen je visok nivo izolacije, zaradi česar napaka enega virtualnega stroja ne vpliva na drugega. Z virtualizacijo si lahko pomagamo tudi pri zagotavljanju delovanja ob izpadu. Virtualni strežniki so lahko v pripravljenosti in jih aktiviramo po potrebi, takrat ko jih potrebujemo. Tudi v primeru aktivne/pasivne gruče (angl. Cluster) lahko z virtualizacijo zmanjšamo količino potrebnih fizičnih strojnih platform za vozlišča namenjena delovanju v primeru izpada. Z vidika varnosti lahko izolacija, ki zagotavlja, da napake v delovanju ne vplivajo na druge virtualne strežnike, izolira tudi varnostne napake. Varnostna ogroženost določenega virtualnega stroja tako ne vpliva na druge virtualne stroje. Možna je tudi implementacija rešitev, ki takšnemu virtualnemu stroju omeji porabo računalniških virov ali pa ga celo zaustavi. Z varnostnega vidika virtualizacije so pomembne tudi varnostne nastavitve, ki jih lahko prilagodimo vsakemu virtualnemu stroju. Če aplikacije izvajamo v operacijskem sistemu, ki deluje neposredno nad fizično strojno opremo, tega ne moremo storiti. Tako so vse nastavitve, kot je na primer administratorski dostop, skupne [9]. Virtualizacijo pogosto razumemo samo kot dekompozicijo virov na več manjših entitet in jo običajno omenjamo samo v povezavi z virtualnimi stroji ali strežniško virtualizacijo. Pojem virtualizacije lahko namreč predstavlja tudi agregacijo več manjših virov v eno entiteto, z namenom, da skrijemo ali zamaskiramo konkretne računalniške vire, ki delo izvajajo v ozadju. 2.2.3.4.2 Strežniška virtualizacija Strežniška virtualizacija je najpogostejša oblika virtualizacije, ki jo uporabljamo dandanes. Implementacijo strežniške virtualizacije lahko zasledimo za vse arhitekture in platforme procesorjev, med katerimi je najpopularnejša IA-32 ali x86. 2.2.3.4.2.1 Virtualni stroj Virtualni stroji so strogo izolirani programski vsebniki, v katerih se lahko izvaja lasten operacijski sistem in aplikacije na enak način, kot bi se izvajale na fizični strojni opremi. Virtualni stroj se obnaša enako kot fizični računalnik in vsebuje lastne virtualne vire, kot so CPE, pomnilnik, shramba in omrežni vmesnik. Operacijski sistem in aplikacije, ki se izvajajo v takšnem virtualnem stroju niso zmožne razlikovati med virtualnim in fizičnim strojem. Ker virtualni stroji v celoti temeljijo na programski opremi, imajo več prednosti napram fizični strojni opremi:  Kompatibilnost – Virtualni stroji se podobno kot fizični računalniki sestojijo iz nabora strojne opreme, kot so na primer matična plošča, grafična kartica, mrežna kartica ipd. Posledično so virtualni stroji kompatibilni z vsemi standardnimi x86 operacijskimi sistemi, aplikacijami in gonilniki. V virtualnih strojih lahko zato izvajamo programsko opremo, ki bi jo sicer izvajali na fizičnem x86 računalniku.  Izolacija – Kljub temu, da virtualni stroji uporabljajo iste strojne vire enega računalnika ostajajo popolnoma izoliranimi, kot da bi bili ločeni fizični stroji. V 9
  • 17. Certified Cloud Computing Engineer   primeru, da eden izmed virtualnih strojev preneha delovati, bodo preostali virtualni stroji, ki se izvajajo na istem fizičnem stroju še vedno delovali. Izolacija v virtualnem okolju je pomembna lastnost, ki omogoča višjo razpoložljivost in varnost aplikacij, napram klasičnim sistemom, ki niso virtualizirani. Ograjevanje – Virtualni stroj je programski vsebnik, ki ograjuje popoln nabor virtualne strojne opreme, operacijskega sistema in aplikacij v en sam programski paket. Zaradi tega je virtualne stroje enostavno upravljati in prenašati. Virtualne stroje lahko enako kot druge programske datoteke enostavno prenesemo na novo lokacijo tudi preko omrežij. Neodvisnost od strojne opreme – Virtualni stroji so popolnoma neodvisni od fizične strojne opreme. Virtualne stroje lahko kreiramo z virtualnimi komponentami, ki so drugačne od komponent fizične strojne opreme. Skupaj z lastnostjo ograjevanja nam neodvisnost od strojne opreme zagotavlja popolno svobodo, da prenašamo virtualne stroje iz enega x86 računalnika na drugega, brez da bi spreminjali gonilnike naprav, operacijski sistem ali aplikacije. Neodvisnost od strojne opreme zagotavlja tudi, da lahko na enem fizičnem računalniku izvajamo več različnih operacijskih sistemov hkrati [14]. 2.2.3.4.2.2 Hipervizor Pri x86 arhitekturi je za podporo strežniški virtualizaciji med strojno in programsko opremo dodan dodaten virtualizacijski sloj imenovan tudi nadzornik virtualnega stroja (angl. Virtual Machine Monitor - VMM) ali hipervizor. Ta omogoča hkratno izvajanje več instanc operacijskih sistemov znotraj virtualnih strojev na enem samem fizičnem računalniku, kar prikazuje slika 1. Fizični viri, kot je na primer CPE, delovni spomin, shramba in V/I naprave pa se dinamično delijo med virtualne stroje [15]. Slika 1: Hipervizor. Za virtualizacijo na x86 sistemih obstajata dva različna pristopa:  Pristop s hipervizorjem tipa 2, kjer se sloj za virtualizacijo namesti kot aplikacija na že nameščen operacijski sistem in posledično podpira širok nabor strojne opreme.  Pristop s hipervizorjem tipa 1, kjer se sloj za virtualizacijo namesti neposredno na ciljno strojno opremo. Takšen pristop je učinkovitejši, saj ima neposreden dostop do fizičnih virov, pri čemer mu za dostop do strojne opreme ni potrebno uporabljati 10
  • 18. Certified Cloud Computing Engineer operacijskega sistema, kot je to potrebno pri hipervizorju tipa 2. Takšen pristop poleg višje učinkovitosti omogoča še večjo skalabilnost, robustnost in zmogljivost. Funkcionalnosti hipervizorjev se med seboj precej razlikujejo v implementaciji in arhitekturi, kateri so namenjeni. Za uspešno virtualizacijo morajo biti sposobni deliti CPE, delovni spomin in V/I naprave za uspešno virtualizacijo sistema [9]. 2.2.3.4.2.2.1 Virtualizacija CPE Operacijski sistemi x86 so zasnovani za izvajanje neposredno na strojni opremi. Arhitektura x86 ponuja operacijskim sistemom in aplikacijam za nadzor dostopa do strojne opreme štiri nivoje privilegijev imenovane ring 0, ring 1, ring 2 in ring 3. Uporabniške aplikacije se tipično izvajajo na nivoju ring 3, medtem ko mora imeti operacijski sistem neposreden dostop do pomnilnika in strojne opreme, zaradi česar mora izvesti privilegirane ukaze na nivoju ring 0 [15]. Virtualizacija ponuja ring 0 na višjih nivojih (ringih) na način, da hipervizorja postavlja v enega izmed nivojev z manj privilegiji, hipervizor pa ponuja ring 0 implementacijo za gostujoče virtualne stroje [9]. Dodatno omogočanje virtualizacije otežijo še določene občutljive inštrukcije, ki jih zaradi drugačne semantike pri izvajanju na dejanskem ring 0 nivoju ni mogoče učinkovito virtualizirati. Obstajajo tri različne tehnike obravnave občutljivih in privilegiranih inštrukcij za virtualizacijo CPE na x86 arhitekturi: Polna virtualizacija z uporabo binarnega prevajanja (angl. Binary Translation), ki kombinira tehnike neposrednega izvajanja in binarnega prevajanja. Inštrukcije, ki jih ni mogoče virtualizirati se v času izvajanja nadomestijo z zaporedjem inštrukcij, ki imajo na virtualizirano strojno opremo enak učinek. Preostale inštrukcije pa se izvedejo neposredno na procesorju [15]. Na takšen način pridobimo sistem, ki omogoča izvajanje vsake nespremenjene programske opreme, ki bi jo sicer lahko izvajali na fizični strojni opremi. Takšen način virtualizacije posledično nudi podporo največ različnim gostujočim operacijskim sistemom, ki jih lahko namestimo, brez da jih spremenimo. Zmogljivost virtualnih strojev je podobna, kot če bi se izvajali nativno. Polna virtualizacija za uspešno delovanje zahteva ustrezno kombinacijo strojne in programske opreme. Eden izmed izzivov polne virtualizacije je prestrezanje in simulacija privilegiranih klicev. Takšni klici so na primer V/I inštrukcije, ki jih v osnovni obliki x86 arhitekture ni mogoče prestrezati. Prestrezanje in emulacija teh izrazov ima lahko negativen vpliv na zmogljivost sistema [9]. S podporo operacijskega sistema ali paravirtualizacija. Ta s hiperklici (angl. Hypercall) nadomešča inštrukcije, ki jih ni mogoče virtualizirati, za kar potrebuje operacijski sistem s spremenjenim kernelom. Zaradi načina komunikacije z virtualizacijskim slojem v obliki hiperklicev se zmogljivost in učinkovitost virtualnih strojev močno izboljša [15]. Ključni del paravirtualizacije je virtualizacija naslovnega prostora, ki vsakemu virtualnemu stroju zagotavlja unikaten naslovni prostor. 11
  • 19. Certified Cloud Computing Engineer Paravirtualizacija je v primerjavi s polno virtualizacijo enostavnejša za implementacijo, saj hipervisorju ni potrebno prestrezati in preoblikovati nizkonivojskih inštrukcij. Slabost paravirtualizacije je, da moramo operacijski sistem precej prilagoditi, da bi ga lahko izvajali v paravirtualiziranih virtualnih strojih. Poleg tega so takšni virtualni stroji slabo prenosljivi in obratno združljivi (angl. Backward Compatible) [9]. Strojno podprta virtualizacija Z dodatnim načinom izvajanja, ki omogoči, da se hipervizor izvaja z najvišjimi privilegijem na nivoju nižje od ring 0. Na ta način hipervizor avtomatsko prestreže privilegirane klice gostujočega operacijskega sistema zaradi česar ni potrebe po paravirtualizaciji ali binarnemu prevajanju [15]. Ta način virtualizacije izkorišča novejše tehnologije za strojno podprto virtualizacijo na x86 arhitekturi, kot sta na primer tehnologiji Intelova VT in AMD-V. Podobno kot pri polni virtualizaciji, lahko tudi tukaj namestimo nespremenjen operacijski sistem. Prednosti tega tipa virtualizacije so:  inštrukcije ki jih ne moremo virtualizirati lahko prestreže in emulira že strojna oprema,  podprta je virtualizacija 64-bitnih operacijskih sistemov,  omogoča najboljšo procesorsko, pomnilniško in V/I zmogljivost med vsemi tipi x86 virtualnih strojev. Slabost te tehnologije je, da zahteva arhitekturo procesorja, ki podpira strojno podprto virtualizacijo [9]. 2.2.3.4.2.2.2 Virtualizacija sistemskega pomnilnika Virtualizacija sistemskega pomnilnika pomeni skupno rabo fizičnega sistemskega pomnilnika sistema, ki ga dinamično dodeljuje virtualnim strojem. Virtualizacija sistemskega pomnilnika za virtualne stroje je zelo podobna podpori za navidezni pomnilnik, ki ga ponuja večina modernih operacijskih sistemov. Aplikacije v tem primeru vidijo zaporedje pomnilniških naslovov, ki niso nujno povezani s fizičnim sistemskim pomnilnikom. Hipervizor je odgovoren, da zagotovi preslikavo med sistemskim pomnilnikom gostujočega operacijskega sistema in fizičnim sistemskim pomnilnikom pri čemer izkorišča zakrite tabele strani (angl. Shadow Page Tables) za pohitritev preslikave. Poleg tega hipervizor izkorišča v CPE vgrajen predpomnilnik za tabele deskriptorjev strani (TLB) s katerim omogoči neposredno preslikavo navideznega pomnilnika virtualnega stroja v pomnilnik fizičnega računalnika. Kadar gostujoči operacijski sistem preklopi iz preslikave navideznega virtualnega pomnilnika na glavni pomnilnik hipervizorja, ustrezno posodobi zakrite tabele strani [15]. 2.2.3.4.2.2.3 V/I virtualizacija in virtualizacija naprav Programska V/I virtualizacija omogoča širok nabor lastnosti in poenostavlja upravljanje. Primer naprav za V/I virtualizacijo so virtualni NIC in omrežna stikala, ki omogočijo izgradnjo virtualnega omrežja med virtualnimi stroji, brez da bi takšno omrežje zasedalo pasovno širino fizičnega omrežja. V/I virtualizacija lahko s prednostmi, ki jih prinaša, samo minimalno poviša utilizacijo CPE. 12
  • 20. Certified Cloud Computing Engineer Hipervisor virtualizira fizično strojno opremo in virtualnim strojem zagotovi množico standardiziranih virtualnih naprav, kot so na primer: mrežna, zvočna in grafična kartica; V/I vmesniki, miška, tipkovnica in optični pogon. Te virtualne naprave učinkovito emulirajo običajno uporabljeno fizično strojno opremo in prevajajo zahtevke virtualnih strojev na sistemsko strojno opremo. Standardizacija naprav pripomore tudi k prenosljivosti med platformami, saj virtualni stroji uporabljajo enako virtualno strojno opremo, ne glede na fizično strojno opremo sistema [15]. 2.2.3.4.2.3 Virtualizacija operacijskih sistemov Koncept virtualizacije operacijskih sistemov temelji na eni sami instanci operacijskega sistema, kjer eno samo jedro operacijskega sistema zagotovi več izoliranih uporabniških instanc, ki se na videz obnašajo kot ločeni strežniki. Takšen tip virtualizacije je zelo učinkovit, hitrost izvajanja pa je enaka nativni. Ob enem nimamo težav pri nadgradnjah in upravljanju, saj gre za eno samo namestitev operacijskega sistema, instance pa lahko izkoriščajo vse lastnosti strojne opreme in operacijskega sistema, ki so na gostitelju ustrezno nastavljene. Slabost takšne virtualizacije je, da ne podpira gostovanja različnih družin operacijskih sistemov. Poleg tega instance niso tako izolirane kot pri drugih tipih virtualizacije, težavno je identificirati vir visokih obremenitev in določati omejitve za porabo virov v instancah. 2.2.3.4.3 Virtualizacija podatkovne shrambe Cena strojne opreme za shranjevanje podatkov je v zadnjih letih neprestano upadala, pri čemer so ponudniki virov dramatično povečali kapacitete podatkovnih shramb. Hkrati se je režija (angl. Overhead) upravljanja neproporcionalno povišala v primerjavi s povečanjem kapacitet. Z virtualizacijo podatkovne shrambe lahko zmanjšamo kompleksnost upravljanja in znižamo s tem povezane stroške. Virtualizacija podatkovne shrambe v najbolj osnovni obliki obstaja kot združitev več fizičnih trdih diskov, ki se strežniku in operacijskem sistemu predstavlja kot ena sama entiteta, kar lahko dosežemo na primer z RAID poljem. To lahko smatramo kot virtualizacijo, ker vse fizične diskovne pogone uporabljamo kot en sam logični diskovni pogon, kljub temu, da ga v ozadju sestavlja več pogonov. V splošnem virtualizacija shrambe ustvarja sloj abstrakcije med gostiteljem in fizično shrambo ter hkrati skrije podrobnosti posamezne fizične naprave za shrambo. Združuje lahko več fizičnih shramb iz različnih heterogenih omrežnih shramb. Poleg logičnega združevanja fizičnih diskov iz več diskovnih polj nam virtualizacija shrambe ponuja še vrsto storitev. Nekatere izmed teh storitev so: osnovno upravljanje z nosilci, vključno z LUN (angl. Logical Unit Number) maskiranjem; združevanje, grupiranje in avtomatsko povečevanje nosilcev; avtomatska migracija podatkov za zaščito podatkov in okrevanje po incidentu; kreiranje posnetkov in zrcaljenje. Virtualizacija shrambe, ki jo poznamo tudi pod imenom virtualizacija na nivoju blokov omogoča, da z grupami nosilcev upravljamo neodvisno od fizične ureditve shrambe. Zaradi takšne neodvisnosti lahko administratorji izvajajo vzdrževalna opravila, brez prekinitev 13
  • 21. Certified Cloud Computing Engineer delovanja aplikacij. Virtualizacija shrambe lahko pripomore tudi k boljši utilizaciji shrambe in hitrejši oskrbi. Glede na tok podatkov in kontrolnih informacij ločimo tri glavne pristope zagotavljanja storitev za virtualizacijo shrambe, in sicer:  V prenosnem kanalu (angl. In-Band) naprave, ki za prenos in procesiranje tako konkretnih podatkov, kot tudi meta in kontrolnih podatkov uporablja isti prenosni kanal in isto napravo. Primer produkta, ki uporablja omenjen pristop je IBM SAN Volume Controller.  Izven prenosnega kanala (angl. Out-of-Band) naprave, ki za prenos kontrolnih in metapodatkov ne uporablja enakega kanala. Prednost takšnega pristopa so večja skalabilnost sistema, in polna pasovna širina za V/I zahtevke s strani uporabnikov. Takšni sistemi so praviloma dražji, kompleksnejši in med drugim zahtevajo namestitev posebne programske opreme na gostitelja.  Z ločeno potjo (angl. Split-Path), kjer gre za hibrid prejšnjih dveh omenjenih pristopov in je trenutno najaktualnejši pristop. Za razliko od pristopa izven prenosnega kanala uporablja pristop z ločeno potjo inteligentna stikala, ki v tem primeru namesto gostitelja opravljajo ločevanje kontrolnih in metapodatkov od konkretnih podatkov. Posledično tudi ne potrebujemo posebne programske opreme na gostitelju. Poleg bločne lahko na nivoju shrambe zasledimo še datotečno virtualizacijo. Datotečna virtualizacija omogoča abstrakcijo podrobnosti fizičnih datotečnih strežnikov in NAS3 naprav ter ustvari enoten imenski prostor na omenjenih fizičnih napravah. Standardni datotečni sistemi, kot je na primer NTFS so pogosto uporabljeni v povezavi z enim samim strežnikom. Če povežemo več datotečnih sistemov in naprav pod en sam imenski prostor lahko z datotečno virtualizacijo omogočimo en pogled na imenike in datoteke, administratorji pa lahko na enem samem mestu upravljajo s podatki. Datotečna virtualizacija podobno kot bločna omogoča premikanje in migracijo podatkov brez prekinitev, administratorji pa lahko izvajajo vzdrževalna opravila brez prekinitev v izvajanju aplikacij [11]. 2.2.3.4.4 Virtualizacija omrežij Virtualizacija na področju omrežij je v uporabi že precej časa, čeprav pogosto ni identificirana kot virtualizacija. Virtualizacijo omrežij lahko v osnovi na sloju omrežne plasti kategoriziramo kot interno ali eksterno [10]. Eksterna virtualizacija povezuje ločena omrežja v eno samo navidezno enoto. Eden najbolj poznanih tipov virtualizacije so navidezna privatna omrežja (VPN). To je privatno komunikacijsko omrežje, ki omogoča zaupno komunikacijo z uporabo javnega omrežja. Za prenos podatkov uporablja nezaščitene omrežne medije, kot je na primer internet, zaradi česar zagotovi vzpostavitev varnega kanala za prenos občutljivih in zasebnih informacij. Vsako ločeno omrežje, ki ga želimo povezati z VPN, mora imeti vozlišče z nameščenim omrežnim prehodom, ki omogoča tuneliranje med vozlišči v ločenih omrežjih. Uporabnik v VPN vidi takšna ločena omrežja kot eno veliko povezano celoto. 3 NAS – omrežno priklopljeni pomnilnik. 14
  • 22. Certified Cloud Computing Engineer Pod eksterno virtualizacijo štejemo tudi navidezno lokalno omrežje (VLAN), ki se pogosto uporablja v komercialnih in akademskih podatkovnih centrih. VLAN omogoča ustvarjanje neodvisnih logičnih omrežij znotraj skupnega fizičnega omrežja. To pomeni, da lahko naprave združene v VLAN, kljub temu da so povezane v različne fizične segmente lokalnega omrežja (LAN), med sabo komunicirajo, kot da bi se nahajale na istem LAN segmentu [9]. Poleg eksternih virtualnih omrežij smo omenjali še interna. Interna virtualizacija virtualnim strojem in drugim vsebnikom programske opreme omogoča omrežjem podobne funkcionalnosti. Pogosto se uporablja v kombinaciji s strežniško virtualizacijo [10]. 2.2.3.4.5 Virtualizacija aplikacij Virtualizacija aplikacij je nov pristop k upravljanju in zagotavljanju kompatibilnosti aplikacij, ki prekinja močno vez med aplikacijo, operacijskim sistemom in strojno opremo, na kateri se izvaja operacijski sistem. Takšne aplikacije so dostavljene kot storitve s centralizirane lokacije preko omrežja, brez potrebe po klasični namestitvi aplikacije na vsak računalnik. Izvajajo se v virtualiziranem okolju, ki zagotavlja izolacijo od operacijskega sistema. Aplikacije, ki se izvajajo na takšen način, se ne zavedajo, da se v resnici izvajajo v virtualiziranem okolju, ki služi kot namestnik pri uporabi funkcionalnosti operacijskega sistema in njegovih virov [9]. Obstajajo še rešitve, ki poleg prenosa aplikacije na ciljno napravo omogočajo še prenos na nek tretji strežnik, kjer se bo aplikacija izvajala, uporabnik pa do nje dostopa preko oddaljene seje. Ena izmed rešitev, ki omogoča takšen način delovanja je Citrix XenApp. Ob zahtevi uporabnika po določeni aplikaciji XenApp preveri, ali naprava zadošča minimalnim pogojem za dostavo aplikacije. Če naprava zadosti minimalnim pogojem, XenApp dostavi aplikacijo v izolirano okolje uporabnika, v nasprotnem primeru pa jo dostavi na strežnik v podatkovnem centru in uporabniku zagotovi oddaljen dostop do nje [12]. Virtualizacija aplikacij ima več prednosti med katerimi so najpomembnejše:  Omogočanje izvajanja aplikacij v različnih okoljih ali operacijskih sistemih.  Enostavno vzdrževanje standardne konfiguracije aplikacije znotraj organizacije.  Poenostavljena dostava aplikacij preko omrežij.  Hkratno izvajanje med seboj nekompatibilnih aplikacij, brez da bi prišlo do konfliktov [9]. 2.2.3.4.6 V/I Virtualizacija Tipični strežniki so navzven povezani z več V/I karticami, med katerimi so običajno vmesniki NIC (angl. Network Interface Cards) za dostop do omrežja in adapterji HBA (angl. Host Bus Adapter) za dostop do shrambe. V/I virtualizacija drastično spreminja takšno razporeditev, saj iz strežnika odstranjuje vse V/I vire na ločeno mesto. Odstranjene razdružene vire nato združuje oziroma konsolidira v eno samo ločeno napravo, ki je skupna več strežnikom. Strežniki odstranjene fizične V/I vire dobijo v obliki virtualnih virov, ki emulirajo prvotne V/I funkcije fizičnih komponent. Skupna raba V/I komponent s strani več strežnikov izboljšuje utilizacijo V/I komponent. Število komponent je veliko nižje v primerjavi s sistemom brez virtualizacije. Posledično je 15
  • 23. Certified Cloud Computing Engineer takšen sistem cenovno ugodnejši, prostorsko in energijsko učinkovitejši in enostavnejši za upravljanje [13]. 2.2.3.4.7 Virtualizacija in infrastruktura kot storitev Zagotavljanje visoko razpoložljivih in fleksibilnih storitev, zrelost tehnologije virtualizacije ter virtualnih strojev, so uporabljeni kot standard postavitve storitev v oblaku. Virtualni stroji ločujejo infrastrukturo za izvajanje aplikacij od fizične infrastrukture. Poleg tega virtualni stroji omogočajo prilagoditev platforme, ki najbolj ustreza končnemu uporabniku. Uporabniki lahko izbirajo med vnaprej pripravljenimi slikami različnih operacijskih sistemov, ki jih lahko za postavitev aplikacije v virtualni stroj tudi prilagodijo. Virtualni stroji omogočajo tudi postavitev instanc na zahtevo [16]. Ključne funkcionalnosti, ki jih mora zagotavljati sloj virtualizacije, na kateri temelji infrastruktura kot storitev: 2.2.3.4.7.1 Razvrščanje virtualnih strojev V tipičnem virtualiziranem okolju se več virtualnih strojev izvaja na enem samem procesorju. Zaradi tega mora hipervizor znati odločati o dostopu do ciklov procesorja. Kolikor operacijski sistem nadzoruje alokacijo procesorskega časa procesom v izvajanju, toliko hipervizor nadzoruje alokacijo procesorskega časa virtualnim strojem v izvajanju. Kadarkoli odmerjen čas poteče, se zgodi V/I operacija ali pa se izvajanje virtualnega stroja zaključi, se izvrši hipervizorjeva rutina, ki odloči, kateri virtualni stroj se bo naslednji izvajal. 2.2.3.4.7.2 Upravljanje s pomnilnikom Hipervizor poskrbi za upravljanje s pomnilnikom, ki je na voljo v sistemu. Pomnilnik je omejen vir, katerega mora hipervizor znati razporejati med gostujočimi virtualnimi stroji. Hipervizor mora vsakemu virtualnemu stroju zagotoviti pomnilnik, katerega virtualni stroj uporablja, kot bi bil fizični pomnilnik. Hipervizor lahko med drugim izboljša utilizacijo pomnilnika med virtualnimi stroji na način, da uporabi ostranjevanje pomnilnika in tako alocira fizični pomnilnik drugemu virtualnemu stroju. Hipervizor za tem poveže fizični pomnilnik virtualnega stroja s fizičnim pomnilnikom gostitelja. Z načinom ponovnega povezovanja pomnilnika lahko hipervizor doseže izolacijo med gostujočimi virtualnimi stroji. Virtualni stroji zaradi tega ne morejo dostopati do pomnilnika drugih virtualnih strojev. 2.2.3.4.7.3 Emulacija V/I naprav in urejanje dostopa do njih Dostop do fizičnih naprav je ključnega pomena, saj so V/I zmožnosti način na katerega program komunicira z zunanjim svetom. Naj gre za pošiljanje paketov na oddaljen računalnik ali pisanje v shrambo, v obeh primerih programi uporabljajo V/I zmožnosti. Ker je gostitelj v skupni rabi, mora sloj virtualizacije odločati o dostopu do vsake naprave. Poleg tega lahko sloj virtualizacije zagotovi generičen pogled na fizične naprave namesto pogleda na dejansko napravo. S tem lahko zagotovi, da se virtualni stroji izvajajo na strežnikih z različnimi konfiguracijami, ki imajo ekvivalentno funkcionalnost. 16
  • 24. Certified Cloud Computing Engineer 2.2.3.4.7.4 Procesiranje omrežnih paketov (stikala, NAT, nadzor dostopa) Komunikacija med virtualnimi stroji je ključnega pomena za omogočanje komunikacije med storitvami, ki se izvajajo v virtualnih strojih. Virtualni stroji se lahko izvajajo na istem strežniku, zato v tem primeru ni potrebno, da komunikacija med dvema virtualnima omrežjema poteka po omrežju ponudnika storitev v oblaku. Zaradi tega moderna virtualizacijska tehnologija tipično izvaja še programsko Ethernet stikalo s podobnimi funkcionalnostmi, kot bi jih imelo fizično stikalo. 2.2.3.4.7.5 Ustvarjanje, zagon, zaustavitev in migracija virtualnih strojev Hipervizor emulira strojno opremo in zagotavlja, da vsak virtualni stroj deluje, kot da bi imel lastno strojno opremo. Upravljavska programska oprema komunicira s hipervizorjem s katerim lahko ustvarimo nove virtualne stroje, jih poženemo ali pa zaustavimo. Omenjena upravljavska programska oprema ponuja vmesnik centralnemu upravljavcu oblaka, ki nadzoruje kreiranje in postavitev virtualnih strojev na osnovi zahtevkov strank, kar tipično poteka preko spletnega vmesnika. Upravljavska programska oprema je lahko vključena tudi v procesu migracije v času izvajanja (angl. Live Migration). Ta omogoča, da premaknemo virtualni stroj, ki se izvaja, iz enega fizičnega strežnika na drugega, pri čemer je virtualni stroj neprestano na voljo vsem, ki z njim komunicirajo [17]. 2.2.3.5 Arhitektura 2.2.3.5.1 Osnovni gradniki 2.2.3.5.1.1 Virtualizirani viri Omrežne, procesne ter shrambene kapacitete predstavljajo osnovne gradnike namestitve oblaka (angl. Cloud Deployment). Virtualizirani viri so deljeni/skupni več uporabnikom in aplikacijam in zagotavljajo učinkovitost in alokacijo računalniških virov (slika 2). 2.2.3.5.1.2 Storitvena orkestracija Programska oprema zadolžena za orkestracijo, avtomatizira in orkestrira rutinska opravila in funkcije, ki jih izvajajo operatorji. Le-ta koordinira rešitve avtomatizacije konfiguracije med več strežniki, odjemalci in omrežnimi napravami, kar rezultira v hitrejše oskrbovanje virov. Orkestracija storitev prav tako avtomatizira procese med več aplikacijami in orodji, kot tudi med več IT skupinami, kot so podpora in operacije, kar omogoča lažjo, hitrejšo in zanesljivejšo “cross-silo” integracijo. Orkestracija je za definicijo infrastrukturnega nivoja računalništva v oblaku kritičnega pomena, saj omogoča skalabilnost IT virov v večnajemniškem okolju, ki so dostopni na zahtevo. 2.2.3.5.1.3 Portal storitev in vmesnikov (API) storitev Za transformacijo storitev oblaka v storitveno računalništvo moramo odjemalcem, ki uporabljajo vire oblaka, definirati in ponuditi katalog storitev v obliki portala kot množico vmesnikov (API). Z uporabo kataloga si odjemalci na podlagi zahtev izberejo vire in sprožijo shranjevanje zapisov za sledenje stroškom in povračilom za izbrane vire. 17
  • 25. Certified Cloud Computing Engineer 2.2.3.5.1.4 Operacije in upravljanje Gradnik vključuje sisteme za zaračunavanje, upravljanje konfiguracije in sredstev, upravljanje z licencami, upravljanje sprememb in izdaje, storitveni center in upravljanje na nivoju storitev [30]. Slika 2: Shema računalništva v oblaku. 2.2.3.5.2 Mrežno računalništvo in računalništvo v oblaku Mrežno računalništvo je zadnja računalniška paradigma pred računalništvom v oblaku, pri čemer sta si v določenih aspektih med sabo podobna. Zgodovinsko gledano se je mrežno računalništvo pojavilo v devetdesetih letih prejšnjega stoletja s ciljem, da omogoči utilizacijo neizkoriščene računalniške moči na daljavo med različnimi procesnimi centri. S tem je mogoče tudi pojasniti, zakaj mrežno računalništvo sledi pristopu z osredotočenostjo na vire. Eden pomembnejših mejnikov v razvoju mrežnega računalništva je bila konvergenca mrežne in storitveno orientirane arhitekture (SOA). Kot rezultat sta nastali tehnologiji OGSA (Open Grid Services Arhitecture) in kasneje še WSRF (Web Service Resource Framework), ki sta razkrili poln potencial mrežnega računalništva. Računalništvo v oblaku zaradi izkušenj iz preteklosti v nasprotju z mrežnim računalništvom sledi pristopu z osredotočenostjo na uporabnika in opravila, kot poslovni model plačevanja po porabi. Iz tehničnega vidika je cilj mrežnega računalništva integracija virov različnih organizacij, da se formira enoten bazen virov, ki omogoča večje možnosti, kot bi jih sicer omogočala ena sama organizacija. Eden izmed izzivov mrežnega računalništva je zagotavljanje varne distribucije heterogenih virov. Pri računalništvu v oblaku je cilj, da se viri razdelijo na manjše dele, ki so nato po potrebi na voljo uporabniku. Za razliko od mrežnega računalništva pa v računalništvu v oblaku heterogenost in distribucija virov ni več ključen problem, temveč to predstavljajo izboljšanje skalabilnosti, razpoložljivosti in zanesljivosti. Za izvedbo opravila s pomočjo mrežnega računalništva morajo končni uporabniki določiti tip virov, ki jih potrebujejo, količino zahtevanih virov, podrobnejše informacije za avtentikacijo, 18
  • 26. Certified Cloud Computing Engineer program, ki se bo izvajal, argumente programa, opis opravila itd. Zaradi te dolgotrajne procedure uporabniki večkrat enostavno odnehajo. Tudi če uporabniki vse pravilno nastavijo, še vedno obstajajo ovire, ki jim preprečijo, da bi opravili svoje delo. Ena takšnih ovir je vmesna programska oprema (angl. Middleware), ki je močno povezana s specifičnim operacijskim sistemom, programskimi knjižnicami ali aplikacijami. Še eden izmed problemov mrežnega računalništva je, da različni sistemi za mrežno računalništvo uporabljajo različne načine, s katerimi uporabniki izrazijo svoje potrebe. Zaradi tega opis opravila, ki je pripravljen za določeno mrežo, ne moremo uporabiti v drugi mreži. Za razliko od mrežnega računalništva je izvajanje opravil v oblaku enostavnejše, pri tem pa se soočamo z manj omejitvami. Edino kar moramo storiti je da rezerviramo želen vir, ga nastavimo za opravilo, ki ga bomo izvajali. Rezervacijo vira lahko opravimo z nekaj kliki, za nastavitve pa porabimo enako dolgo, kot bi porabili za nastavitve lokalnega stroja. Mrežno računalništvo in računalništvo v oblaku se razlikujeta tudi pri zahtevah za razvijalce aplikacij. V splošnem je razvoj aplikacij za mreže kompleksno opravilo. Razvijalec mora poznati podrobnosti mrežnega okolja in vložiti veliko časa v spoznavanje vmesnika za programiranje (API). Poleg tega je mreža zelo dinamično okolje, zaradi česar morajo razvijalci posvetiti več pozornosti obravnavi izjem, odpornosti na napake in merjenju obnašanja aplikacije. Če ga primerjamo z oblakom, je programiranje za računalništvo v oblaku veliko enostavnejše. V primeru IaaS je mogoče okolje nastaviti in prilagoditi potrebam, zato lahko za razvoj uporabimo običajna razvojna orodja [18]. 2.2.3.5.3 Elastičnost in skalabilnost Skalabilnost lahko v osnovi definiramo kot zmožnost določenega sistema, da se prilagodi problemu, ko se obseg le tega poveča. Kot primer navedimo povečanje prepustnosti sistema z dodajanjem več programskih ali strojnih virov, da bi se lahko uspešno kosali s povečanjem bremena. Zmožnost sklaliranja sistema je tipično odvisna od njegove zasnove, tipov podatkovnih struktur, algoritmov ali mehanizmov za komuniciranje. Doseganje skalabilnosti v oblaku temelji na naslednjih treh osnovnih gradnikih:  Virtualizaciji, katera zmanjšuje kompleksnost sistema, standardizira strojno platformo in zniža stroške upravljanja z viri.  Skupni rabi računalniških virov med različnimi aplikacijami in/ali organizacijami omogoči optimizacijo uporabe virov. Virtualizacija v tem kontekstu pripomore h konsolidaciji strežnikov na en sam fizični strežnik.  Dinamični oskrbi, ki mora zagotavljati oskrbo z viri na zahtevo in jih avtomatično nastaviti v času delovanja. Dinamična oskrba obsega potrebo po nadzoru zmogljivosti storitev in avtomatizacijo odločitev in akcij, s čimer se odzove na povečanje ali zmanjšanje delovnega bremena. Paradigma računalništva v oblaku premika lokacijo računalniških virov v omrežje z namenom zmanjšanja stroškov povezanih z vzdrževanjem strojne in programske opreme. Oskrba z viri na zahtevo in skalabilnost so nekatere ključne karakteristike računalništva v oblaku. IaaS za potrebe aplikacije ponuja več tipičnih točk za skaliranje, med katerimi so strežniki, shramba in omrežja. 19
  • 27. Certified Cloud Computing Engineer Model dobave na zahtevo in plačila po dejanski porabi pomenita, da z rastjo zahtev aplikacije rastejo tudi viri s katerimi strežemo zahtevam. V tej situaciji sistem slej ali prej doseže ravnotežje, pri čemer so alocirane kapacitete enake zahtevam, če smo le pravilno zasnovali aplikacijo, ki podpira skalabilnost. Idealno mora aplikacija v IaaS oblaku delovati v smislu višje-nivojskih ciljev in ne sme izpostavljati detajlov implementacije administratorjem. Obstoječe strategije zahtevajo od razvijalcev, da ponovno implementirajo aplikacijo za izkoriščanje virov na zahtevo, pri čemer aplikacije postanejo omejene na specifično infrastrukturo oblaka. Uporabljeni so lahko tudi profili, ki povzemajo znanje ekspertov o skaliranju različnih tipov aplikacij. Pristop s profilom avtomatizira postavitev in skaliranje aplikacije v oblaku, ne da bi bili odvisni od specifične infrastrukture oblaka. Uporabljene so podobne metode, ki analizirajo komunikacijske vzorce med storitvenimi operacijami in dodeljevanje teh storitev razpoložljivim strežnikom. S tem lahko optimiziramo strategijo alokacije, da bi izboljšali skalabilnost sestavljenih (kompozitnih) storitev. Potreba po ponovni implementaciji in zgoraj omenjenih strategijah jasno prikazuje težavnost skaliranja aplikacij v oblaku. Čeprav obstajajo nekateri poskusi implementacije zmožnosti avtomatske skalabilnosti, so pogosto preveč specifični za aplikacije in jih je težavno posplošiti kot splošno namensko storitev. Zaradi tega se trenutni komercialni mrežni sistemi in oblaki zanašajo na uporabnikovo znanje o maksimalni potrebni kapaciteti in vzpostavijo zahtevane kapacitete. Posledično je takšen sistem vedno v enem izmed dveh stanj. V stanju preveč ali v stanju premalo zakupljenih virov. Za razliko od mrežnega računalništva in drugih metod dobave IT sistemov, lahko ponudniki storitev dodajajo nove kapacitete po potrebi, kar je mogoče storiti v relativno kratkem času. Takšno, bolj dinamično obliko skalabilnosti v oblaku v primerjavi s klasično obliko, prikazuje slika 3. Slika 3: Skalabilnost. Kljub dinamični oskrbi in modelom zaračunavanja se bo stopnja avtomatizacije in integracije s sistemi nadzora, ki jo omogoča večinasistemov v oblaku, še naprej razvijala. Ključ do učinkovite skalabilnosti na zahtevo je v metrikah utilizacije. Kot primer lahko navedemo Amazonovi storitvi Cloud Watch in Auto-scale. Ti storitvi ponujata nekaj integracije s sistemom nadzora ter storitev, ki ponuja metrike infrastrukture, kot je na primer uporaba CPE. Uporabnikom ponujata še storitev za reagiranje glede na pogoje, ki jih določijo sami. Naslednji primer je RightScale. Ta omogoča avtomatizacijo določenih akcij glede na infrastrukturne metrike ali skripte, ki jih uporabnik definira in postavi na strežnike. Pri tem je zaradi stopnje prilagodljivosti s strani uporabnika težavno vključiti metrike iz nivoja aplikacij. Rezultat tega je nizka avtomatizacija za visokonivojska pravila ali metrike, kot je na primer število zahtev po storitvi skozi določeno časovno obdobje. 20
  • 28. Certified Cloud Computing Engineer Poleg dodajanja več virtualnih strojev na zahtevo, virtualizacijski sloj, na katerem temelji oblak omogoča še vertikalno skaliranje. To pomeni, da lahko v času izvajanja virtualnemu stroju dodamo več virov [19]. Nekateri operacijski sistemi Windows podpirajo takšen dinamičen način dodajanja pomnilnika, nekateri med njimi pa še dodajanje procesorjev. Nobeden izmed operacijskih sistemov Windows pa trenutno ne podpira dinamičnega odvzemanja pomnilnika ali procesorjev [20]. Operacijski sistem Linux po drugi strani že ima vgrajeno podporo tako za odvzemanje in dodajanje tako pomnilnika, kot tudi procesorjev [21,22]. Če povzamemo, so IaaS oblaki napram mrežnem računalništvu prinesli višjo stopnjo skalabilnosti. Še vedno ni podprta avtomatična skalabilnost, ki bi temeljila na poljubnih metrikah storitev. Poleg tega nobena platforma oblakov ne podpira določenih poslovnih pravil, kot je na primer določitev najvišjih stroškov, katere je ponudnik storitev še pripravljen poravnati, da bi se zaščitil pred bankrotom. Eden izmed napadov, ki izkorišča to pomanjkljivost je na primer napad EDoS (Economic Denial Of Sustainability), kjer se avtomatsko generira veliko število zahtev po storitvi in so na videz legitimni [19]. 2.2.3.5.4 Večnajemniški model Pojem večnajemniškega modela ni popolnoma nov, saj je že veliko let uporabljen za opisovanje arhitekture aplikacije, ki je bila načrtovana za podporo več uporabnikom ali strankam. V kontekstu računalništva v oblaku je bila ta terminologija preprosto razširjena do te mere, da lahko vključuje posamezno arhitekturo računalništva v oblaku. Vključuje lahko tudi infrastrukturne elemente znotraj takšne arhitekture (aplikacija, strežnik, omrežje, podatkovna shramba), ki podpira večnajemniški model. Uporabniki so v tem primeru lahko različna podjetja, oddelki znotraj podjetja ali preprosto, posamezne aplikacije. Da bi ponudili varen večnajemniški model in naslovili skrbi, ki jih prinaša računalništvo v oblaku, je potrebno vzpostaviti mehanizem, ki uveljavlja ločevanje na enem ali več nivojih znotraj infrastrukture (Slika 4):  Aplikacijski nivo (angl. Application Layer) – prilagojena, večnajemniška aplikacija oziroma več ločenih instanc iste aplikacije lahko na tem nivoju ponudi večnajemniški model.  Strežniški nivo (angl. Server Layer) – Strežniška utilizacija in operacijski sistemi omogočajo ločevanje uporabnikov in instanc aplikacije na strežnikih in nadzirajo izkoriščenost ter dostopnost računalniških virov.  Omrežni nivo (angl. Network Layer) – Različni mehanizmi, vključno z VLAN tehnologijo in distribucijo virov med različnimi območji (angl. Zoning), so uporabljeni za zagotovitev omrežnega ločevanja. IPsec4 za dodatno varnost ravno tako ponuja enkripcijo omrežnih podatkov na IP nivoju (aplikacijsko neodvisen). IPsec ali SSL omogočata oddaljen dostop posameznim uporabnikom oz. uporabnikom storitev. Namenske varnostne naprave (fizične ali virtualne) lahko povečajo nivo varnosti oz. jakost varnostnih mehanizmov med posameznimi območji (npr. generične ali protokolne požarne pregrade). Del omrežnih storitev lahko uporablja tudi strežniški nivo (npr. virtualna stikala, virtualne požarne pregrade). 4 IPsec – medmrežni varnostni protokol. 21
  • 29. Certified Cloud Computing Engineer  Nivo podatkovne shrambe (angl. Storage Layer) – mehanizma kot sta maskiranje številke logične enote (angl. LUN Masking) in distribucija SAN5 med različnimi območji (angl. SAN Zoning), sta lahko uporabljena za nadzor dostopa do podatkovne shrambe. Podatkovna shramba lahko izkorišča tudi mrežni nivo, kjer se lahko lokalna in oddaljena komunikacija uporablja za razne mehanizme shranjevalnih sistemov (npr. uporaba Ethernet in IP povezav za povezovanje shranjevalnih sistemov s strežniki in drugimi shranjevalnimi sistemi). Če želimo doseči varen večnajemniški model, je zahtevana uporaba enega ali več mehanizmov na vsakem infrastrukturnem nivoju [4]. Slika 4: Različni nivoji infrastrukture. Z večanjem kompleksnosti in raznolikosti storitev so IT organizacije v klasičnem primeru postavile svoje aplikacije in podatke v infrastrukturne silose. Silosi morajo biti zgrajeni okoli specifičnih aplikacij, okolij strank, poslovnih organizacij, operacijskih zahtev, skladnosti s predpisi in morajo zagotoviti zaupnost podatkov svojih strank. Na primer:  Velike organizacije morajo izolirati HR6 zapise, finance, podrobnosti kreditnih kartic itn.  Viri, ki so navzven izpostavljeni za zunanje izvajanje (angl. Outsourcing) projektov, zahtevajo ločevanje od notranjih okolij organizacije.  Zdravstvene organizacije morajo zagotoviti zaupnost kartotek svojih pacientov.  Univerze morajo ločiti storitve študentov pred poslovnimi operacijami, administrativnimi sistemi ter komercialnimi in občutljivimi raziskovalnimi projekti.  Telekomunikacijska podjetja in ostali ponudniki storitev morajo ločiti zaračunavanje (angl. Billing), sisteme za upravljanje odnosov s strankami (CRM), plačilne sisteme in druga gostovana okolja.  Vladne agencije morajo ločiti zapise o dohodkih, sodnih podatkih, socialnih storitvah, operativnih sistemih itn. Migracija takšnih okolij na arhitekturo oblaka zahteva zagotovitev varne izolacije in hkrati prinaša prednosti vodenja (angl. Management) in fleksibilnosti skupnega okolja (angl. Shared Environment). Tako privatni kot javni ponudniki storitev oblaka morajo omogočati varno ločevanje, zaščito in izolacijo podatkov, komunikacije ter aplikacijskega okolja pred drugimi 5 6 SAN – omrežje pomnilniških naprav. HR – človeški viri. 22
  • 30. Certified Cloud Computing Engineer uporabniki. Ločevanje mora biti izvedeno na tak način, da se uporabniki ne zavedajo drug drugega. Ponudniki privatnega oblaka morajo dostaviti varno ločevanje, ki je zahtevano s strani organizacijske strukture in je v skladu s predpisi. Pomanjkanje zaupanja pred takšno obliko izolacije danes predstavlja veliko oviro pri vpeljavi storitev oblaka v podjetjih in organizacijah. Ena največjih razlik med tradicionalnim deljenim gostovanjem (angl. Shared Hosting) in tipično IaaS storitvijo v oblaku je v stopnji nadzora, ki je na voljo uporabnikom. Tradicionalno gostovanje ponuja uporabniku nadzor nad administracijo aplikacij in platformo, na kateri se te izvajajo, medtem ko IaaS namestitveni model uporabniku ponuja bistveno širši nadzor nad računalniškimi viri. Varna arhitektura oblaka razširja uporabniški nadzor preko celotnega okolja: izvajalna platforma, omrežna povezljivost, viri podatkovne shrambe in upravljanje podatkov. Takšna arhitektura omogoča varno ponujanje nadzora uporabnikom nad njihovim aplikacijskim okoljem. Unikatne izolacijske tehnologije, ki so povezane z upravljavsko fleksibilnostjo, IT ponudnikom dostavljajo vse prednosti računalništva v oblaku. Te prednosti dostavljajo zato, da bi ponudili storitve za večnajemiškega uporabnika ter konsolidirano aplikacijsko okolje z visoko stopnjo varnosti [3]. 2.2.3.6 Visoko zmogljivo računanje v oblaku Projekti visoko zmogljivega računanja (HPC) obsegajo širok spekter, od super-računalnikov peta-flop razreda zmogljivosti, ki uporabljajo različne operacijske sisteme in poganjajo različne računske aplikacije, do računalniških gruč srednjega in nižjega zmogljivostnega razreda, namenjenih razvoju HPC aplikacij, pilotnim poganjanjem aplikacij in prototipnim računalniškim gručam. Njihova skupna točka je, da so samostojni sistemi, ne pa skalabilni in uporabniško nastavljivi viri. Prihod računalništva v oblaku je vplival na tradicionalne implementacije HPC računalnikov. Poleg tega integracija HPC storitev v oblak zmanjša ceno vzpostavitve storitev oblaka. 2.2.3.6.1 Klasifikacija HPC Za lažje obravnavanje HPC v oblaku bomo paralelno procesiranje razdelili na računsko intenzivno in na podatkovno intenzivno. Računsko intenzivne so tiste aplikacije, ki jih omejuje hitrost ali dostopnost računskih enot. Take aplikacije porabijo večino časa za računanje in malo za vhodne/izhodne (V/I) operacije in uporabljajo majhne količine podatkov. Paralelno procesiranje računsko intenzivnih aplikacij zahteva paralelizacijo posameznih algoritmov v aplikaciji in razdelitev aplikacije v več opravil, ki se jih nato lahko izvede vzporedno na primerni vzporedni platformi ter tako doseže pohitritev delovanja aplikacije. Več opravil računsko intenzivne aplikacije se izvede hkrati, s tem da vsako opravilo obravnava drug del problema, ki ga aplikacija rešuje. Zato temu rečemo tudi funkcijski ali kontrolni paralelizem. Podatkovno intenzivno procesiranje opisuje aplikacije, ki so omejene s hitrostjo ali dostopnostjo V/I enot ali pa zahtevajo procesiranje velike količine podatkov. Take aplikacije porabijo večino časa za V/I operacije in premikanje podatkov. Paralelno procesiranje podatkovno intenzivnih aplikacij tipično zahteva razdelitev podatkov v več delov, ki jih je mogoče procesirati neodvisno. Posamezne dele lahko primerna vzporedna platforma procesira 23
  • 31. Certified Cloud Computing Engineer hkrati, nato pa delne rezultate združi v skupne izhodne podatke. Bolj kot je mogoče podatke porazdeliti, bolj uspešna je vzporedno obdelava. Gorton et al. [31] pišejo, da se zahteve za paralelno procesiranje povečujejo linearno z velikostjo podatkov pri podatkovno intenzivnem problemu in jih je mogoče zadovoljiti z enostavnim paralelizmom, kar je primerna lastnost za uporabo v oblaku. 2.2.3.7 Federacija in interoperabilnost v okolju oblakov 2.2.3.7.1 Interoperabilnost Interoperabilnost pomeni preprosto migracijo in integracijo aplikacij ter podatkov med različnimi ponudniki računalništva v oblaku. Zaradi različnih hipervizorjev (KVM, Hyper-V, ESX, ESXi), tehnologij virtualnih strojev, podatkovnih shramb, operacijskih sistemov, varnostnih standardov in upravljavskih vmesnikov, danes veliko ponudnikov oblakov ne podpira interoperabilnosti. Po drugi strani, si veliko organizacij želi interoperabilno podporo med njihovo lokalno infrastrukturo in oblakom. Interoperabilnost mora omogočati prenosljivost podatkov in aplikacij med različnimi oblaki ali uporabo različnih infrastruktur oblakov, preden so kritične poslovne aplikacije dostavljene s strani oblaka. Večina ponudnikov računalništva v oblaku je danes do svojih uporabnikov popolnoma netransparentnih [7]. Razvoj standardov in interoperabilnosti med različnimi nivoji oblaka je za uspeh računalništva v oblaku kritičnega pomena. Ravno tako je tesno vezan s potrebo po vpeljavi računalništva v oblaku s strani organizacij. Brez jasno definiranih standardov, dobrih praks in odprte interoperabilnosti, bo nadaljnji razvoj računalništva v oblaku potekal bistveno počasneje. Dinamične kapacitete, ki so na voljo na zahtevo, so poleg virtualizacije ena izmed ključnih funkcionalnosti, ki oblak ločuje od mrežnega računalništva. SLA-ji so še eden izmed velikih izzivov interoperabilnosti, saj »start-up« in SME7 podjetja, ki so danes največji uporabniki računalniških storitev, želijo svobodo izbire. Amazon EC2 je trenutno vodilni ponudnik in predstavlja »de facto« standard za računalništvo v oblaku. Če organizacije želijo zamenjati ponudnika, problem ne predstavlja samo migracija virtualnih strojev, temveč tudi druge storitve, kot so na primer nezdružljive podatkovne baze. Nekateri drugi izzivi predstavljajo migracijo obstoječe programske opreme iz internih podatkovnih centrov v javni oblak. Pri tem se je potrebno zavedati, da večina takšnih aplikacij ne podpira skalabilnosti in utilizacije pasovne širine. Prenosljivost aplikacij v oblaku je mogoča le z zagotovljenimi standardi in interoperabilnostjo ter konsolidacijo največjih ponudnikov storitev v oblaku [7]. Integracijo oblakov in interoperabilnost lahko dosežemo z različnimi metodami, med katerimi bomo poskusili izpostaviti nekaj ključnih. Ena izmed ključnih metod za doseganje integracije je semantika. Trenutno gre vsak ponudnik storitev v oblaku svojo pot pri definiranju abstrakcije virov. Amazon na primer uporablja XML za opis slik virtualnih strojev, ki jih imenuje Amazon Machine Image (AMI). Z upoštevanje določene semantike bi bilo mogoče izgraditi imeniško storitev, ki bi vsebovala seznam slik virtualnih strojev (VMI) in opise slik. Gre za slike različnih neodvisnih ponudnikov programske opreme (ISV) iz različnih domen. 7 SME – majhna in srednje velika podjetja. 24
  • 32. Certified Cloud Computing Engineer To bi pripomoglo k omogočanju avtomatskega odkrivanja (angl. Discovery) in postavitve med različnimi ponudniki. Ta ideja je podobna kot kombinacija WSDL-a z storitvenim registrom v SOA spletnih storitvah [19]. 2.2.3.7.2 Federacija identitete Eden izmed izzivov ustvarjanja in upravljanja globalnega decentraliziranega okolja za računalništvo v oblaku je vzdrževanje konsistentne povezljivosti med ne-overjenimi komponentami, ki so odporne na napake. Ključna priložnost za industrijo računalništva v oblaku je definiranje federativnega ekosistema oblakov, ki bi z uporabo skupnega standarda povezoval različne ponudnike računalništva v oblaku. Večina konkurenčnih podjetij uporablja celovita orodja, ki so predstavljena v obliki aplikacij znotraj podjetij ali v obliki storitev v oblaku. Hkrati morajo organizacije vzdrževati brezhibne poslovne operacije s pomočjo aplikacijskih portalov, ki zaposlenim omogočajo izvajanje operacij na fleksibilen, varen in kolaborativen način. Federacija identitete (angl. Identity Federation) predstavlja ključ pri doseganju harmonije med poslovnimi kompetencami in tehnološko učinkovitostjo. Ta koncept smatramo kot prvi korak pri vpeljavi računalništva v oblaku v podjetjih in organizacijah. Federacija identitete vzpostavi zaupanje med aplikacijami, ki odražajo poslovno sorodnost na način, da zaposlenim omogoča oddaljeno dostopanje do aplikacij z enotnim uporabniškim računom (angl. Single Sign-On - SSO). Pri tem ni pomembno ali je aplikacija postavljena lokalno ali na oddaljeni lokaciji. Poleg tega federacija identitete ščiti uporabnikove privatne informacije. Iz tega razloga je potrebno upoštevati naslednje komponente:  Uporaba odprte standardne rešitve, kot je Security Assertion Markup Language (SAML), da bi zagotovili interoperabilnost v hibridnem okolju oblakov.  Namestitev SSL VPN8 naprav za hitro omogočanje, zaščito in integracijo storitev računalništva v oblaku. Federacija identitete ima dva pomena. Prvi pomen je navidezna združitev (angl. Virtual Reunion) ali združena identiteta (angl. Assembled Identiy) uporabnikovih zasebnih podatkov, ki so shranjeni na več različnih sistemih za upravljanje z identiteto (angl. Identity Management System). Drugi pomen predstavlja uporabnikov avtentikacijski proces, ki je integriran med več IT sistemov ali organizacij. Na primer, uporabnik je lahko letalski potnik in hkrati gost v hotelu. Če letalska družba in hotel uporabljajo upravljavski sistem za federativno identiteto, to pomeni da imata skupno pogodbeno zaupanje v avtentikacijo drug drugega. Potnik se v tem primeru lahko sam identificira kot stranka, ki je rezervirala letalski let in šele nato se ista identiteta prenese na rezervacijo hotela. Primarni cilj federacije identitete je, da uporabniku ene domene omogoči varno dostopanje do podatkov ali sistemov druge domene. Pri tem pa ne zahteva redundance administracije uporabnika. Za izpolnitev cilja morajo vsi udeleženi sistemi uporabljati isti protokol, da bi zagotovili interoperabilnost. Ponudniki javnega oblaka kot so Google, Amazon in Salesforce.com ponujajo svoj lasten IAM9 vmesnik, ki privzeto nima podpore za SSO. Ponudniki privatnih oblakov lahko 8 9 SSL VPN – omogoča oddaljen dostop do poslovnih omrežij preko SSL protokola. IAM – upravljanje identitete in dostopa. 25
  • 33. Certified Cloud Computing Engineer predlagajo različne IAM prakse od ponudnikov javnih storitev v oblaku. Da bi s SSO zagotovili integracijo oblačne storitve v oddaljen portal organizacije, je s strani večine ponudnikov storitev v oblaku predlagan odprt standard za federacijo identitete – SAML. Ta protokol ločuje ponudnika SAML identitete in ponudnika SAML storitev. To organizacijam omogoča, da imajo centraliziranega ponudnika identitete, ki lahko podpira veliko število drugih storitvenih ponudnikov na distribuiran način. Ponudnik SAML identitete se osredotoča na upravljanje identitet, upravljanje dostopne politike (angl. Access Policy Management) in generiranje varnostnih žetonov (angl. Security Tokens), medtem ko ponudniki SAML storitev prejemajo oddaljen varnostni žeton, pridobivajo poverilne podatke (angl. Credential Data) in lokalno okrepijo dostopno politiko. Uporaba SAML protokola omogoča organizacijam ponujanje svojih storitev drugim organizacijam. Federacija identitete podpira večdomenski SSO (angl. Cross Domain SSO) in izmenjuje informacije o nadzoru dostopa z velikim številom partnerjev, kar odraža poslovno zaupanje. SAML protokol je interoperabilen. Ker ponudniki storitev v oblaku implementirajo različne protokole za federacijo identitete ali različne verzije istega protokola, mora oblak vsake organizacije koristiti Security Token Service (STS) za zagotovitev delovanja med različnimi SSO praksami. SAML žeton lahko na primer pretvorimo med SAML 1.1 in SAML 2.0. Ravno tako lahko SAML protokol deluje skupaj z drugimi protokoli za federacijo identitete, kot so WS-* protokoli. Iz tega razloga je potrebno zagotoviti standardizacijo oddaljenega dostopa s federacijo identitete, kot del varnostne strategije vsakega podjetja in vpeljati federacijo identitete v obliki odprtega standarda, kot je na primer SAML [8]. 2.2.3.8 Upravljanje infrastrukture kot storitve Pri današnjem poslovanju postajajo IT okolja vedno kompleksnejša pri čemer se od oseb, ki jih upravljajo pogosto zahteva, da morajo izboljšati operativno učinkovitost ter znižati stroške. Kot posledica vedno večjih zahtev po reševanju poslovnih izzivov s strani IT-ja, lahko podatkovni centri hitro zapolnijo svoje načrtovane kapacitete. Zaradi tega se pojavi potreba po nabavi novih strežnikov. Posledično se povečajo tako kapitalni, kot tudi operativni stroški in s tem povezani stroški električne energije ter hlajenja. Poleg tega je prisotna zelo slaba izkoriščenost računalniških virov, kjer je v povprečju dejansko uporabljenih zgolj 5% strežniških kapacitet. Oskrba nove fizične infrastrukture zna predstavljati zelo dolg proces, merjen v mesecih, kar IT organizacijam otežuje odzivnost na spremembe v poslovanju in v splošnem omejuje poslovno rast. Upravljanje strežnikov lahko predstavlja zelo izčrpno opravilo, kjer lahko potreba po oskrbi testnih in razvojnih okolij potroši dragocene računalniške vire in čas. Z vpeljavo virtualizacije v podatkovnih centrih, se pojavi potreba po integriranih in centraliziranih upravljalnih orodjih. Govorimo predvsem o orodjih za obvladovanje procesa migracije iz fizične infrastrukture na virtualno ter nato upravljanje te virtualne infrastrukture. Upravljalnik virtualnih strojev je tisto orodje, ki ponuja IT strokovnjakom preprosto rešitev strežniškega upravljanja tako za fizične, kot tudi za virtualne stroje. Upravljanje s strežniško infrastrukturo znotraj virtualiziranih podatkovnih centrov je smiselno obravnavati iz vidika vsaj petih ključnih komponent, ki skupaj predstavljajo celovito rešitev za administracijo in upravljanje IaaS infrastrukture. 26