usluge amazon raČunalnog oblaka · pohranu, koriste se u kombinaciji sa uslugama amazon elastic...
TRANSCRIPT
SVEUČILIŠTE U SPLITU
FAKULTET ELEKTROTEHNIKE, STROJARSTVA I BRODOGRADNJE
ZAVRŠNI RAD
USLUGE AMAZON RAČUNALNOG OBLAKA
Ivan Lujić
Split, srpanj 2014.
SADRŽAJ
1. UVOD ................................................................................................................................ 1
2. RAČUNARSTVO U OBLAKU ........................................................................................ 2
2.1 Modeli pruţanja usluge ............................................................................................... 3
3. AMAZON I RAČUNARSTVO U OBLAKU ................................................................... 5
3.1 Arhitektura Amazon računalnog oblaka ...................................................................... 6
4. USLUGE AMAZON PLATFORME U OBLAKU ........................................................... 8
4.1 Računalno okruţenje ................................................................................................... 8
4.1.1 Elastic Compute Cloud (EC2) .............................................................................. 9
4.1.2 Auto Scaling ....................................................................................................... 11
4.1.3 Elastic MapReduce ............................................................................................. 11
4.2 Umreţavanje .............................................................................................................. 13
4.2.1 Amazon Virtual Private Cloud (VPC) ............................................................... 13
4.2.2 Amazon Route 53 ............................................................................................... 14
4.3 Pohrana ...................................................................................................................... 15
4.3.1 Amazon Simple Storage Service ........................................................................ 15
4.3.2 Amazon Elastic Block Storage ........................................................................... 18
4.3.3 AWS Import/Export ........................................................................................... 19
4.3.4 Amazon Glacier .................................................................................................. 19
4.4 Baza podataka ............................................................................................................ 20
4.4.1 Amazon Relational Database Service (Amazon RDS) ...................................... 20
4.4.2 Amazon DynamoDB .......................................................................................... 21
4.5 Isporuka sadrţaja ....................................................................................................... 23
4.5.1 Amazon CloudFront ........................................................................................... 23
5. UPRAVLJANJE I ADMINISTRACIJA AMAZON USLUGA ...................................... 26
5.1 AWS Management Console ...................................................................................... 26
5.2 AWS Identity and Access Management (IAM) ........................................................ 27
5.3 Amazon CloudWatch ................................................................................................ 27
6. ZNAČAJKE AMAZON WEB USLUGA........................................................................ 29
6.1 Fleksibilnost............................................................................................................... 29
6.2 Ekonomičnost ............................................................................................................ 29
6.3 Skalabilnost i elastičnost ........................................................................................... 29
6.4 Sigurnost .................................................................................................................... 30
6.5 Poloţaj Amazon web usluga na trţištu ...................................................................... 32
7. ZAKLJUČAK .................................................................................................................. 34
LITERATURA ......................................................................................................................... 35
POPIS OZNAKA I KRATICA ................................................................................................ 37
SAŢETAK ................................................................................................................................ 38
1
1. UVOD
Jedan od novijih i najbrţe rastućih trendova u području informacijske tehnologije (IT)
je računarstvo u oblacima (engl. cloud computing). To je vrsta računarstva koja već sada, na
temelju raznih teorijskih izvještaja i primjera iz prakse, pokazuje da će biti obiljeţje
budućnosti. Ovakva rješenja omogućavaju smanjenje troškova, fleksibilnije operativne
troškove poslovanja kod tvrtki, te plaćanje resursa po utrošku umjesto kapitalnih ulaganja
(engl. pay per use). Ekonomska korist je jedan od razloga zbog kojeg velike tvrtke i krajnji
korisnici počinju koristiti hardverske i softverske resurse koji su smješteni u "oblak". Prema
tome, prednosti računarstva u oblaku se svode na optimizaciju troškova, stalnu dostupnost
resursa i skalabilnost. Skalabilnost znači da se računalni resursi mogu po potrebi u vrlo
kratkom vremenu angaţirati i jednako brzo prestati koristiti kada ta potreba nestane [1].
Promatrano na niţoj razini, računarstvo u oblaku predstavlja sredstvo za pruţanje IT
resursa kao usluge. IT resursi mogu biti: aplikacije, procesorska snaga, programski alati,
skladišni kapaciteti itd.
U okviru ovog završnog rada opisat će se usluge računarstva u oblaku koje nudi
kompanija Amazon. Rad se sastoji od sedam poglavlja. Nakon kratkog uvoda u drugom
poglavlju će se opisati osnovne definicije računarstva u oblaku i tri osnovna modela pruţanja
usluga. Cilj trećeg poglavlja je upoznati se s Amazonovim počecima u pruţanju web usluga,
te dobiti uvid u arhitekturu Amazon računalnog oblaka. U četvrtom poglavlju opisat će se
vodeće usluge Amazona. Pri tome, posebna paţnja će se posvetiti usluzi za pohranu podataka
s naglaskom na cijenu usluge i sigurnost podataka. Svrha petog poglavlja je upoznati se s
najvaţnijim alatima za olakšanu administraciju, upravljanje i nadzor usluga. Šesto poglavlje
prikazat će osnovna svojstva Amazonovih usluga kojima se izdvajaju od sličnih usluga drugih
kompanija. Na kraju, u sedmom poglavlju, dan je zaključak.
2
2. RAČUNARSTVO U OBLAKU
Računarstvo u oblaku je vrsta računarstva u kojem se virtualni i dinamičko
prilagodljivi resursi pruţaju kao usluge preko interneta. Korisnici usluga ne moraju poznavati
fizičku infrastrukturu "oblaka" koji ih podrţava [2]. Ovakav prikaz računalnog okruţenja
različit je od tradicionalnog pristupa u kojem korisnik koji ţeli pokrenuti neku aplikaciju
mora imati sve neophodne računalne resurse u svome vlasništvu. Slika 2-1 prikazuje koncept
računarstva u oblaku. Krajnji korisnici mogu pristupati virtualnim resursima preko stolnih i
prijenosnih računala, tablet računala, pametnih telefona. Bez obzira na lokaciju, korisnici
mogu brzo i jednostavno koristiti zakupljene virtualne servere, razvijati i koristiti aplikacije,
pohranjivati i dohvaćati podatke.
Slika 2-1: Računarstvo u oblaku
Računarstvo u oblaku je najbolje opisano u sljedećim definicijama:
o prema definiciji Gartner1-a: Računarstvo u oblaku je vrsta računarstva gdje se skalabilni i
elastični IT resursi isporučuju kao usluge vanjskim korisnicima koristeći internet
tehnologije [3].
1 Gartner - vodeća tvrtka za IT istraţivanja.
3
o prema definiciji NIST2-a: Softver za implementaciju računarstva u oblaku iskorištava u
potpunosti paradigmu oblaka koja uključuje orijentiranost na usluge, s fokusom na
lokacijsku neovisnost, jednostavan pristup, modularnost i semantičko uzajamno
djelovanje [4].
2.1 Modeli pružanja usluge
Isporuka usluga računalnog oblaka podijeljena je na tri arhitekturna modela i njihove
različite kombinacije. Tri osnovna arhitekturna modela često se nazivaju SPI model, pri čemu
SPI označava program, platformu i infrastrukturu (engl. Software, Platform, Infrastructure).
Oznake kojima se modeli usluga prepoznaju u području računarstva u oblaku prikazane su na
slici 2-2.
Slika 2-2: Modeli usluga u oblaku
Mogući modeli pruţanja usluga su:
Softver kao usluga - SaaS (engl. Software as a Service) - Korisniku se pruţa
mogućnost uporabe aplikacija koje se nalaze u infrastrukturi oblaka. Aplikacije su
dostupne s različitih klijentskih ureĎaja uz pomoć klijentskog sučelja (npr. web
preglednika). Prema tome, SaaS je tehnološka platforma koja omogućuje dostupnost
aplikacija putem interneta u obliku usluga koje se unajmljuju prema potrebi, umjesto
da se kupuju kao zasebni program koje treba instalirati na kućnim računalima.
Platforma kao usluga - PaaS (engl. Platform as a Service) - Ovo je varijacija SaaS
strukture koja kao uslugu donosi razvojnu okolinu. Na ovaj način se nudi mogućnost
dizajna aplikacija sa malim troškovima, eliminirajući potrebu za skupim hardverskim i
softverskim resursima. Korisnik sam gradi vlastite aplikacije koje se pokreću na
2 NIST (engl. National Institute of Standards and Technology) - američki nacionalni institut za standarde i
tehnologiju.
4
infrastrukturi davatelja usluge. Pri tome korisnik ima jedino nadzor nad razvijenim
aplikacijama i nema nikakvih drugih ovlasti.
Infrastruktura kao usluga - IaaS (engl. Infrastructure as a Service) - Korisniku se
kao usluga pruţa mogućnost korištenja računalne infrastrukture (uglavnom virtualne
platforme). Moţe pokrenuti različite vrste programske podrške, od operacijskog
sustava do aplikacija. Prema tome ima potpuni nadzor nad operacijskim sustavima,
pohranom podataka i razvojem aplikacija, dok nema nadzor nad infrastrukturom
oblaka [6].
5
3. AMAZON I RAČUNARSTVO U OBLAKU
Amazon je svojim uslugama u oblaku definitivno nadišao svoj početni poslovni model
online trgovine i danas je vaţno ime u području pruţanja IT usluga. Amazonove usluge seţu
od osnovnih usluga pruţanja hosting servisa za postavljanje web stranica do poslovnih usluga.
Zbog brojnosti i specijalizacije, usluge se u mnogim slučajevima nadopunjavaju ili čak
donekle preklapaju [7].
Još krajem 2003. vodeći inţenjeri Amazona (Chris Pinkham i Benjamin Black) imali
su viziju Amazonove budućnosti u računarstvu u oblaku [8]. Do 2006. Amazon je potrošio
milijune dolara na izgradnju i upravljanje pouzdanom i efikasnom IT infrastrukturom koja
danas pokreće jednu od najvećih online usluţnih platformi. Nakon 2006. započeo je
nezaustavljivi uspon kompanije koja je redovito davala nove usluge na korištenje. Skupni
naziv za sve usluge koje nudi tvrtka Amazon je Amazon Web Services (AWS). Logo AWS-a
prikazan je na slici 3-1.
Slika 3-1: Amazon Web Services logo
Infrastrukturne usluge su vjerojatno najpoznatije usluge AWS-a, meĎu kojima je
najbitnija usluga hostinga nazvana Elastic Compute Cloud (EC2). Ona se pokazala idealnom
za brzo uspostavljanje Web 2.0 društvenih stranica. Po popularnosti slijedi usluga Simple
Storage Services (S3) namijenjena pohrani “podatkovnih objekata”. Nju nadopunjuje Elastic
Block Storage (EBS), koji pak nudi prostor za pohranu volumena na kojima mogu biti
datotečni sustavi (nalik SAN3-u). Sa druge strane nude se usluge hostinga baza podataka, gdje
su dva najpoznatija oblika Relational Database Service (RDS) i DynamoDB. Nadalje tu je
odvojeni skup poslovnih usluga namijenjenih onima koji nešto prodaju preko interneta. U tu
se svrhu u Europi nude usluge korištenja njihove e-commerce platforme (Amazon Webstore),
dostave, oglašavanja, te konačno i prodaje izravno na samoj Amazonovoj stranici [7].
Spomenute usluge će se opisati u narednim poglavljima.
3 SAN (engl. Storage area network) - mreţa ureĎaja za pohranu podataka, koji su spojeni direktno na servere,
preko kojih se pristupa podacima.
6
3.1 Arhitektura Amazon računalnog oblaka
Infrastruktura koja osigurava rad Amazon web usluga je rasporeĎena u osam
zemljopisnih regija, kako bi se minimizirao utjecaj zastoja i osigurala rosbustnost sustava. Te
regije imaju centralna čvorišta na sljedećim lokacijama:
za SAD istok - Sjeverna Virginia,
za SAD zapad - Sjeverna California,
za SAD zapad - Oregon,
za Brazil - São Paulo,
za Europu - Irska,
za Juţnu Aziju - Singapur,
za Istočnu Aziju - Tokio,
za Australiju - Sydney.
Slika 3-2 prikazuje raspored centralnih lokacija pojedinih regija koje su
rasprostranjene po cijelom svijetu, kako bi se korisnicima omogućila dostupnost usluga.
Slika 3-2: AWS lokacije
Svaka regija je potpuno nezavisna, pa se problemi koji nastanu u odreĎenoj regiji ne
šire na ostale. Svi podaci i servisi ostaju unutar jedne regije. Vaţno je znati da nisu sve usluge
dostupne u svakoj regiji, a one koje su ponuĎene u više regija nemaju istu cijenu. Unatoč
različitim cijenama za iste usluge, korisnik usluge zbog različitih razloga (npr. blizina resursa
krajnjim korisnicima) moţe odabrati odreĎenu regiju u kojoj će pokrenuti neku uslugu
(npr. Amazon S3).
7
U svakoj regiji se nalaze višestruke "zone dostupnosti" (engl. Availability Zones)
meĎu kojima je uspostavljena mreţna povezanost niske latencije (engl. low-latency). Na
slici 3-3 dan je prikaz odnosa izmeĎu regija i zona dostupnosti. Svaka zona dostupnosti je
razdvojena kako bi bila izolirana od pada sustava koji se moţe dogoditi u drugoj zoni.
Korisnik moţe prema svom izboru distribuirati instance na više zona dostupnosti, pa ako doĎe
do problema u jednoj, druga se instanca moţe iskoristiti za nastavak rada. Stoga pokretanje
instanci na različitim zonama dostupnosti štiti od potpune nedostupnosti usluge ili
aplikacije [9].
Slika 3-3 Odnos regija i zona dostupnosti
AWS
Zona
dostupnosti
Zona
dostupnosti
Zona
dostupnosti
Regija
Zona
dostupnosti Regija
Zona
dostupnosti
Zona
dostupnosti
8
4. USLUGE AMAZON PLATFORME U OBLAKU
Prema uslugama koje nudi AWS, u oblaku je moguće koristiti velike količine
procesorske snage, usluge skladištenja podataka i umreţavanja, stvarati baze podataka, te
koristiti mnoge aplikacijske usluge. Slika 4-1 prikazuje osnovna područja ponude usluga u
Amazon računalnom oblaku, meĎu kojima su najbitnije usluge vezane za ponudu računalnog
okruţenja, pohranu podataka i rad s bazama podataka. Prema definiranim arhitekturnim
modelima usluga u oblaku (poglavlje 2.1), ponuda infrastrukture kao usluge (IaaS) obuhvaća
usluge iz područja računalnog okruţenja (npr. virtualni serveri) i pohrane (npr. skladišta
podataka). Aplikacijske usluge, baze podataka i usluge umreţavanja ubrajaju se u ponudu
softvera kao usluge (SaaS). U ponudi platforme kao usluge (PaaS), podrazumijeva se razvojna
okolina za aplikacije, pa su tu obuhvaćene usluge iz područja računalnog okruţenja,
aplikacijske usluge, ali i korištenja baza podataka.
Slika 4-1: AWS područja ponude usluga
Pored osnovnih usluga AWS-a, koje će se opisati u narednim poglavljima, postoje još
i druge sporedne usluge, ali koje sluţe samo kao potpora ili imaju djelomičnu funkcionalnost
osnovnih usluga, pa se neće uzeti u obzir.
4.1 Računalno okruženje
Jedna od prvih i najznačajnijih usluga Amazona je Amazon Elastic Compute Cloud
(EC2). U okviru ovog poglavlja definirat će se osnovne funkcionalnosti usluge, i opisati
koraci koje korisnik treba proći da bi se ta usluga koristila. Kao podrška Amazon EC2 usluzi
opisat će se i usluge Elastic MapReduce i Auto Scaling.
9
4.1.1 Elastic Compute Cloud (EC2)
Amazon Elastic Compute Cloud (EC2) čini centralni dio Amazonove platforme u
oblaku. Dozvoljava korisnicima iznajmljivanje virtualnih računala na kojima mogu pokrenuti
svoje aplikacije.
EC2 koristi Xen4
virtualizaciju. Svaka virtualna mašina naziva se instanca i
funkcionira kao virtualni privatni posluţitelj. S obzirom da instance u EC2 nemaju trajnu
pohranu, koriste se u kombinaciji sa uslugama Amazon Elastic Block Store (EBS) ili Amazon
S3 koji osiguravaju trajnu pohranu instanci [10].
4.1.1.1 EC2 funkcionalnosti
EC2 predstavlja virtualno računalno okruţenje, u kojem se za pokretanje instanci
koriste web servisi. Na različitim instancama mogu biti različiti operacijski sustavi. Pri tome,
kako bi se mogla koristiti usluga, potrebno je proći sljedeće korake:
1) Izbor AMI-a (engl. Amazon Machine Images): Virtualni serveri se stvaraju kao AMI.
Sluţe kao unaprijed definirani predloţak prilikom stvaranja novog virtualnog servera.
Amazon već ima unaprijed pripremljene AMI-je koji se razlikuju po operacijskom
sustavu i instaliranom softveru. Tako postoje različiti UNIX derivati, ali i Windows
operacijski sustavi s različitim aplikacijama. Krajnji korisnici mogu i sami kreirati
svoj AMI.
2) Izbor konfiguracije i zona dostupnosti: Potrebno je odabrati konfiguraciju hardvera za
instancu. Osim toga korisnik mora odabrati odreĎenu zonu dostupnosti unutar koje će
se pokrenuti virtualni server.
3) Generiranje para ključeva: EC2 koristi kriptografiju javnog ključa (engl. public-key)
za enkripciju i dekripciju informacija prilikom prijave za korištenje instanci. Prije
prvog korištenja instance, korisnik mora generirati par ključeva, tj. po jedan privatni i
javni ključ, te specificirati naziv za generirani par ključeva. Privatni ključ korisnik
mora spremiti na sigurno mjesto, jer je potreban kod svakog povezivanja na instancu
zajedno sa specificiranim nazivom para ključeva. Amazon EC2 čuva javni ključ.
Koriste se 1024-bitni RSA5 ključevi i SSH
6 protokol.
4 Xen - open source softver koji omogućuje istovremeno izvršavanje više operacijskih sustava na jednom
računalnom hardveru. 5 RSA - algoritam za enkripciju podataka pomoću javnog ključa.
6 SSH (engl. Secure Shell) - kriptografski mreţni protokol za uspostavu sigurnih komunikacijskih kanala.
10
4) Pokretanje instanci: Korisnik moţe pristupiti instancama koristeći web pretraţivač
(preko Amazon EC2 konzole), program PuTTY7 (pristup sa Windows OS-a), SSH
klijent (pristup sa Mac ili Linux sustava). Nakon pokretanja stvorenog virtualnog
servera kreira se jedna javna i jedna privatna IP (engl. Internet Protocol) adresa.
Privatne IP adrese sluţe za komunikaciju izmeĎu instanci unutar Amazon oblaka.
Javne IP adrese su za razliku od privatnih, dostupne preko interneta, pa omogućavaju
komunikaciju izmeĎu instanci i interneta ili prema drugim AWS uslugama (npr.
Amazon S3).
5) Pohrana: Nakon prestanka rada instance, sve se promjene gube. Kako bi se sačuvale
promjene, ţeljeno stanje se mora sačuvati. Zato se moţe koristiti Amazon S3 ili
Amazon EBS. EBS volumeni se koristi kao "vanjski disk" s kojim se povezuju EC2
instance, i pohranjuju velike količine podataka. Nakon odjave, odnosno gašenja
instance svi podaci su i dalje očuvani. Na jednu instancu moguće je povezati
višestruke EBS volumene, ali svaki volumen moţe u jednom trenutku biti vezan samo
za jednu instancu [2].
4.1.1.2 EC2 instance
EC2 omogućuje široki izbor instanci koje su prilagoĎene različitim potrebama
korisnika. Različite vrste instanci mogu koristiti različite kombinacije procesora, radne
memorije, skladišnih kapaciteta, i propusnosti mreţe. Instance daju odreĎenu fleksibilnost u
izboru njihove adekvatne kombinacije za korisnikove aplikacije. Amazon nudi tri različita
modela koja nude optimizaciju troškova:
Instance na zahtjev (engl. On-Demand Instances) - Plaćanje fiksne cijene po
satu bez dugoročnih obveza. Moţe se povećati ili smanjiti računalni kapacitet
ovisno o zahtjevima aplikacije.
Rezervirane instance (engl. Reserved Instances) - Plaća se jednokratna
naknada za jednu ili tri godine. Iako nema razlike u izvoĎenju, za stabilne
aplikacije kod kojih nema nepredvidivih oscilacija zahtjeva, na ovaj način se
moţe uštedjeti do 65% u usporedbi sa instancama na zahtjev. Dostupne su u
svim AWS regijama, te za operacijske sustave Linux/UNIX i Windows.
Spot instance - Korisnik moţe odrediti cijenu po satu koju je voljan platiti za
pokretanje odreĎene instance. Cijena varira na temelju ponude i potraţnje. Ako
7 PuTTY - klijentski program za Windows OS koji omogućuje pristup na udaljene Linux posluţitelje koristeći
SSH protokol.
11
cijena u jednom trenutku bude viša od maksimalne cijene koju je definirao
korisnik, njegova instanca će biti ugašena [10].
4.1.2 Auto Scaling
Usluga Auto Scaling osigurava da se broj Amazon EC2 instanci s lakoćom povećava
kada postoji veća potreba, i obrnuto, automatski smanjuje kada su potrebe manje. Cilj je
odrţavanje performansi i minimizacija troškova. Osobito je pogodna za aplikacije čije
korištenje varira ovisno o trenutku sata, dana ili tjedna. Primjerice, korisnik moţe postaviti
uvjet za dodavanje novih Amazon EC2 instanci u inkrementima po tri instance u Auto Scaling
grupu kada prosječno korištenje procesora na korisnikovoj EC2 platformi preĎe 70%. Slično,
moţe postaviti uvjet za brisanje Amazon EC2 instanci u istim inkrementima kada korištenje
procesora padne ispod 10% [11].
Korištenjem ove usluge korisnik nema dodatnih troškova, tj. usluga sluţi samo kao
besplatna podrška EC2 usluzi, uz normalno plaćanje svih korištenih EC2 resursa.
4.1.3 Elastic MapReduce
Amazon Elastic MapReduce (Amazon EMR) je web servis koji omogućuje tvrtkama,
istraţivačima, analitičarima, i programerima jednostavnu i ekonomičnu obradu velikih
količina podataka. To podrazumijeva efikasno skladištenje, obradu, nadzor i analizu podataka
koji se stvaraju i prikupljaju svaki dan. Amazon EMR koristi Hadoop8, za distribuiranje
korisnikovih podataka i njihovu obradu preko elastičnih klastera Amazon EC2 instanci.
Facebook je najbolji primjer tvrtke koja svoje poslovanje temelji na velikim podacima, te dio
svojih podataka drţi kod Amazona. Podatke koje generira korisnik, Facebook koristi za svoje
namjene kao što su internet oglašavanje i različite analitičke izračune u svrhu poboljšanja
vlastitih usluga [21].
Slika 4-2 prikazuje način rada Amazon EMR usluge. Korisnik šalje zahtjev za
pokretanje klastera. Amazon EMR kreira Hadoop klaster, u kojem se stvara jedan glavni čvor
(Master) i grupa u kojoj se nalazi više čvorova (tzv. worker čvorovi) s HDFS9 datotečnim
sustavom. Master kontrolira grupu čvorova tijekom obrade podataka koji se nalaze na
8 Apache Hadoop - radna okolina koja donosi distribuiranu obradu velikih blokova podataka koji se nalaze na
računalnim klasterima, a koriste ga mnoge organizacije kao što su Apple, Facebook, HP. 9 HDFS (engl. Hadoop Distributed File System) - raspodijeljeni datotečni sustav za spremanje i slijedno čitanje
vrlo velikih datoteka.
12
Amazon S3 skladištu podataka. Operacije koje se odvijaju u klasteru su map (filtriranje i
sortiranje) i reduce (sumiranje). Čvorovi koji obavljaju map operaciju učitavaju podatke i
prosljeĎuju definiranoj map funkciji. MeĎurezultati se pohranjuju u memoriju. Master čvor
zna lokaciju tih podataka, te ih učitava u čvorove koji obavljaju reduce operaciju. Rezultati se
spremaju ponovo na Amazon S3 skladište.
Slika 4-2: Koncept Amazon EMR usluge
Usluga se naplaćuje po satu korištenja za svaku instancu (npr. troškovi tijekom
korištenja klastera sa deset računalnih čvorova u deset sati jednaki su troškovima koji bi se
ostvarili korištenjem klastera sa sto računalnih čvorova za jedan sat). Cijena po satu ovisi
karakteristikama korištenih instanci (procesor, memorija, pohrana), a kreće se u rangu od
0,011$ do 0,27$ (godišnje od 94$ do 2367$).
Ako se većina obrada odvija preko noći, korisnik moţe u klasteru koristiti sto čvorova
preko dana i petsto čvorova preko noći. Alternativno, korisniku moţe zatrebati znatna
količina kapaciteta za kratki period. Ovisno o potrebama, korisnik s Amazon EMR uslugom
moţe u kratkom vremenu aktivirati stotine tisuća instanci, i sve ih ugasiti kada više ne postoje
potrebe [12].
13
4.2 Umrežavanje
U području umreţavanja Amazon nudi dvije vaţne usluge: Amazon Virtual Private
Cloud i Amazon Route 53. Prva je namijenjena za povezivanje AWS resursa sa resursima u
vlastitoj računalnoj mreţi, dok druga sluţi kao DNS sustav.
4.2.1 Amazon Virtual Private Cloud (VPC)
Usluga je prvenstveno usmjerena na korisnike koji već imaju značajnu IT
infrastrukturu i velik broj resursa koje koriste za različite namjene. Omogućuje kreiranje
logički odvojenog skupa AWS resursa (npr. EC2 instanci) i njihovo sigurno povezivanje
putem virtualne privatne mreţe (VPN) sa resursima u vlastitoj računalnoj mreţi [13]. Sigurnu
komunikaciju omogućuje korištenje IPsec10
protokola. Na slici 4-3 prikazan je koncept rada
VPC usluge. Da bi pokrenute instance unutar VPC-a mogle komunicirati sa internetom,
potreban je internet gateway, koji omogućuje postojanje IP adresa (privatnih i javnih) za
pojedine instance, kreiranje tablica usmjeravanja (engl. route table) i postavljanje sigurnosnih
pravila. Amazon EC2 endpoint je zapravo URL11
koji sluţi kao pristupna točka za odreĎeni
web servis bez VPN veze (npr. za EU regiju je https://ec2.eu-west-1.amazonaws.com).
Slika 4-3: Dijagram VPC usluge
Korisnik ima potpunu kontrolu nad stvorenim virtualnim mreţnim okruţenjem,
uključujući izbor IP adresa iz vlastitog raspona, kreiranje podmreţa, te postavljanje različitih
konfiguracija. Korištenje VPC usluge bez VPN povezivanja je besplatno, uz normalno
10
IPsec - skup protokola koji obuhvaćaju mehanizme za zaštitu mreţnog prometa kriptiranjem i/ili
autentifikacijom IP paketa. 11
URL (engl. Uniform Resource Locator) - lokator resursa, odnosno putanja do odreĎenog sadrţaja na internetu.
14
plaćanje korištenja EC2 resursa. MeĎutim, ako se odabere pristup VPC-u preko VPN-a, tada
se plaća naknada od 0,05$ po satu korištenja VPN konekcije [14].
4.2.2 Amazon Route 53
Amazon Route 53 je visoko skalabilan te pouzdan DNS (engl. Domain Name System)
sustav. Predstavlja sponu koja zaokruţuje i povezuje sve usluge u Amazon oblaku.
Razvojnom timu i arhitektima omogućava ekonomičan i pouzdan način mapiranja imena
domena u IP adrese (npr. http://abc.com ide u 173.194.44.51) koje računala koriste za
povezivanje. Ono što je bitno napomenuti je to da se Route 53, osim za pristup infrastrukturi
pokrenutoj u Amazon oblaku (npr. EC2 instance, skladišta za pohranu), moţe koristiti i za
usmjeravanje prema infrastrukturama izvan Amazon oblaka (prema vanjskim IP adresama)
[15]. Ime usluge (Route 53) dolazi od činjenice da DNS serveri odgovaraju na zahtjeve na
portu 53, te pruţaju odgovore koji usmjeravaju krajnje korisnike prema lokacijama na
internetu.
Na slici 4-4 opisano je dohvaćanje IP adrese koristeći Amazon Route 53 uslugu. DNS
rješavač je program koji prihvaća zahtjev korisnika, te vraća nazad odgovarajuću IP adresu
kao rezultat Route 53 usluge.
Slika 4-4: Route 53 usluga - dohvat IP adrese
Route 53 koristi se kao DNS servis koji omogućuje upravljanje DNS zapisima za
stvorenu hosted zonu za domenu kojom korisnik ţeli upravljati. Primjerice, ako korisnik
registrira ime domene na nekom pruţatelju web hostinga (npr. www.dreamhost.com), tada
treba pridruţiti popis DNS servera u sustav upravljanja domenom, a popis DNS servera pruţa
upravo usluga Route 53. Usluga se naplaćuje po broju DNS upita koje rješava (0,500$ na
svaki milijun zahtjeva).
15
4.3 Pohrana
Amazon nudi brojne usluge vezane uz pohranu podataka, a u njih se ubrajaju Amazon
Simple Storage Service (Amazon S3), Amazon Elastic Block Storage (Amazon EBS),
Amazon Import/Export i Amazon Glacier. Više o njima je napisano u ostatku poglavlja.
4.3.1 Amazon Simple Storage Service
Amazon S3 nudi prostor za masovnu pohranu podataka, gdje pojedini podatkovni
objekti mogu biti veličine do 5 GB. Podaci se pohranjuju u tzv. pretincima (engl. buckets).
Pretinac je zapravo mapa, u koju se moţe pohraniti neograničen broj podatkovnih objekata.
Svaki otvoreni AWS račun moţe korištenjem ove usluge imati do 100 pretinaca.
4.3.1.1 Korištenje Amazon S3 usluge
Iako Amazon S3 omogućuje svojim korisnicima kreiranje, izmjenu i brisanje
podatkovnih objekata iz pretinaca, nije dopušteno pomicanje objekata izmeĎu pretinaca. U
tom slučaju korisnik treba preuzeti objekt i ponovo ga postaviti u drugi ţeljeni pretinac.
Na Amazon S3 servisu korisnik moţe birati lokaciju podatkovnog centra u kojem će
se spremati njegovi podaci. Uglavnom je najbolja praksa odabrati onu lokaciju koja je
najbliţa mjestu na kojem se nalazi korisnik, jer je korisnicima cilj minimizirati kašnjenje i
troškove [16].
Prilikom pohrane podataka, Amazon S3 ne traţi od korisnika da unaprijed definira
potrebni kapacitet skladišta. Umjesto toga, dodijeljeni prostor se automatski skalira prema
potrebama, te se tako plaća se samo onaj kapacitet koji je iskorišten. Time se izbjegava
klasičan problem preranog popunjavanja kapaciteta i neplaniranih troškova investiranja u novi
hardver [2].
4.3.1.2 Zaštita podataka
Autentifikacijski mehanizmi onemogućuju neautoriziran pristup podacima. Sigurno
postavljanje/preuzimanje podatka sa Amazon S3 omogućen je korištenjem SSL12
12
SSL (engl. Secure Sockets Layer) - transportni protokol za sigurnu komunikaciju preko interneta.
16
enkriptiranih krajnjih točaka (engl. endpoints) putem HTTPS13
protokola. Ukoliko se podaci
dugo vremena drţe u oblaku, Amazon S3 se brine o transparentnoj migraciji podataka na
drugi hardver, da bi se zaštitilo od mogućih grešaka starog hardvera i time smanjilo rizik za
oštećenjem podataka. To eliminira potrebu za klasičnim hardverskim migracijama koje mogu
potrajati dugo vremena. S3 nudi opcije za rekurzivno brisanje odreĎenih količina podataka za
one objekte koji više nisu potrebni. Primjerice, ukoliko se u S3 redovito pohranjuju
automatski generirani podaci o svim aktivnostima na EC2 instancama. Pravila za brisanje se
mogu definirati za unaprijed odreĎeni period.
Amazon S3 podrţava tri sučelja za rad sa pretincima i podatkovnim objektima, a to su:
SOAP14
, REST15
i BitTorrent16
. Dok se uglavnom koristi REST sučelje, S3 nudi i BitTorrent
koji je vrlo koristan kod prijenosa velikih objekata [1].
Nadalje omogućava i nekoliko mehanizama, koje nude različite mogućnosti u
kontroliranju pristupa podacima. Amazon S3 osigurava četiri mehanizma za kontrolu pristupa
koje korisnik moţe istodobno koristiti:
Upravljanje identifikacijom i pristupom (engl. Identity and Access Management) -
koristi se kod kompanija koje imaju više zaposlenika, i koje se prijavljuju na AWS
pod jednim računom. Stvaraju se različita prava pristupa za svakog pojedinog
zaposlenika. Različiti zaposlenici imaju različite uloge u kompaniji, pa npr.
administratori trebaju pristup svim resursima, dok programeri trebaju samo odreĎene
resurse. Moţe se primijeniti na pretince i podatkovne objekte.
Liste kontrole pristupa (engl. Access Control Lists) - mehanizam kojim se pristup S3
resursima moţe osloboditi i drugim korisnicima AWS usluga. Mogu se postaviti
ograničenja ili dopuštenja na čitanje, pisanje i aţuriranje pretinca ili podatkovnog
objekta.
Politika pretinaca (engl. bucket policies) - omogućuje dodavanje ili uskraćivanje
prava pristupa svim ili samo nekim podatkovnim objektima unutar pretinca.
Autentifikacija upita - daje mogućnost dijeljenja podatkovnih objekata putem URL-a
koji je aktivan samo na predefinirano vrijeme.
13
HTTPS (engl. HyperText Transfer Protocol Secure) - protokol za kriptiranu komunikaciju preko nesigurne
mreţe. 14
SOAP (engl. Simple Object Access Protocol) - komunikacijski protokol, neovisan o platformi, koji se koristi
za razmjenu informacija izmeĎu aplikacija preko HTTP protokola. 15
REST (engl. Representational State Transfer) - protokol koji omogućuje komunikaciju izmeĎu klijenta i
posluţitelja pri korištenju resursa pomoću HTTP protokola. 16
BitTorrent - protokol za dijeljenje i razmjenu datoteka.
17
4.3.1.3 Cijena usluge
Kod naplaćivanja, korisnici plaćaju samo onoliko koliko koriste uslugu (engl. pay-as-
you-go). U troškove ove usluge ubrajaju se tri stavke:
1. troškovi po zauzetom prostoru,
2. troškovi po broju zahtjeva za odreĎenim aktivnostima (kopiranje, preuzimanje,
postavljanje, brisanje),
3. troškovi za prijenos podataka [16].
Tablica 4.1 prikazuje cijene koje se odnose na troškove po zauzetom prostoru na S3
diskovima. Cijene se obračunavaju u američkim dolarima, a jedinice za količinu podataka su
gigabajt (GB) i terabajt (TB17
).
Tablica 4.1 Cijena usluge za troškove po zauzetom prostoru
Količina podataka po mjesecu
[TB/mjesec]
Cijena po jednom gigabajtu (GB)
[$]
Do prvog TB-a 0,0300 $
Sljedećih 49 TB 0,0295 $
Sljedećih 450 TB 0,0290 $
Sljedećih 500 TB 0,0285 $
Sljedećih 4000 TB 0,0280 $
Preko 5000 TB 0,0275 $
Ako korisnik ţeli postaviti 50 TB podataka na S3 diskove, tada će morati mjesečno
platiti 1510 $. S obzirom na cijenu usluge koja se mora platiti, takvi korisnici su uglavnom
veće kompanije koje ostvaruju velike profite.
Tablica 4.2 prikazuje cijene koje se odnose na troškove po broju upućenih zahtjeva za
korištenje podataka.
Tablica 4.2 Cijena usluge prema broju zahtjeva
Zahtjevi vezani za podatke Cijena na 1000 zahtjeva
[$]
Postavljanje, kopiranje, preuzimanje 0,005 $
Brisanje Besplatno*
17
TB (terabajt) - jedinica za količinu podataka. 1 TB = 1024 GB.
18
*Izuzetak je brisanje podataka unutar 90 dana od njihovog stavljanja u oblak. U tom
slučaju korisnik mora platiti 0,03 $ po gigabajtu izbrisanog podatkovnog objekta. Primjerice
ukoliko korisnik spremi 50 TB podataka u S3, i unutar 90 dana ih poţeli izbrisati, tada će
morati platiti 1536 $.
Troškovi za prijenos podataka unutar AWS-a (npr. prijenos podataka izmeĎu usluga
EC2 i S3) u okvirima iste regije se ne naplaćuje. Cjenik za sve ostale prijenose podataka
prikazuje Tablica 4.3.
Tablica 4.3 Cijena usluge prema troškovima prijenosa podataka
Količina podataka po mjesecu
Cijena po jednom gigabajtu (GB)
[$]
Prvi GB 0,000 $
Do 10 TB 0,120 $
Sljedećih 40 TB 0,090 $
Sljedećih 100 TB 0,070 $
Svako sljedeće Na upit
4.3.2 Amazon Elastic Block Storage
Amazon Elastic Block Storage (EBS) je usluga za pohranu koja omogućuje
korisnicima da kreiraju tzv. volumene za pohranu (engl. storage volumes) veličine od 1 GB
do 1 TB. EBS se koristi kao "vanjski disk" s kojim se povezuju EC2 instance, i u koji se
pohranjuju velike količine podataka [17].
Jedan novo kreirani EBS volumen se ponaša kao neformatirani prostor za pohranu.
Svaki volumen moţe podrţavati bilo koji podatkovni sustav te se ustvari ponaša kao USB
memorija. Treba obratiti paţnju da se jedan EBS volumen moţe prikačiti na samo jednu EC2
instancu koja se mora nalaziti u istoj zoni dostupnosti. EBS volumen posjeduje mogućnost
dugotrajnog pohranjivanja tj. nakon što se jedna instanca ugasila svi podaci će i dalje ostati
očuvani [9].
19
4.3.3 AWS Import/Export
Slanje velikih količina podataka (nekoliko terabajta) preko interneta čak i u današnje
vrijeme je vrlo dugotrajan i naporan proces, i pri tome se moţe javiti velik broj različitih
problema zbog kojih sadrţaj neće biti isporučen. AWS Import/Export omogućuje slanje
fizičkih diskova poštom, što čini puno brţi, pouzdaniji i sigurniji proces nego koristiti
internet. Podaci se kriptiraju na disku te se preko certifikata identificira vlasnik. Samo vlasnik
certifikata moţe nakon integracije pohranjenih podataka na disk u podatkovnom centru
Amazon-a, pokrenuti taj disk te upravljati podacima [2].
Svaka AWS Import/Export stanica je sposobna učitavati podatke u korisnikove
pretince u oblaku brzinama preko 100 MB/s, što je znatno više od uglavnom dostupne internet
konekcije od 100 Mb/s. Karakteristike fizičkih diskova koji se mogu koristiti su unaprijed
specificirani, te obrada jednog diska iznosi 80$ [18].
4.3.4 Amazon Glacier
Amazon Glacier je usluga prvenstveno namijenjena dugotrajnoj pohrani podataka.
Nakon što korisnik pošalje svoje podatke u sustav, oni se automatski preslikavaju na više
zemljopisno udaljenih lokacija (podatkovnih centrova), kako bi se mogla jamčiti
99.999999999% trajnost i sigurnost podataka. Sigurnost podataka omogućava prijenos
podataka preko SSL-a, te enkripciju svih podataka korištenjem AES18
enkripcijskog algoritma
256-bitnim ključevima [19].
Za razliku od standardnih sustava za pohranu gdje se pohranjenim podacima moţe
odmah pristupiti, dobivanje podataka natrag iz Glaciera traje odreĎeno vrijeme, odnosno
izmeĎu 3 i 5 sati. Razlog za prilično spor povrat podataka je korištenje robotizirane biblioteke
s kazetama za pohranu podataka. Automatizirana robotska ruka nakon pohrane podataka
premješta kazete do skladišta, i kada se podaci dohvaćaju, potrebno je ponovo doći do kazete
te ju pripremiti za korištenje. Iz tog razloga je potrebno odreĎeno vrijeme za pronalaţenje
odgovarajuće kazete i čitanje podataka [20].
Cijena usluge se naplaćuje 0,011$/GB mjesečno (regija EU Irska). Korisnik usluge
ima pravo dohvaćati 5% pohranjenih podataka unutar jednog mjeseca besplatno, dok se iznad
toga vraćanje podataka naplaćuje oko 0,15$/GB. Prema tome, ukoliko korisnik spremi 1 TB
18
AES (engl. Advanced Encryption Standard) - kriptografski algoritam za zaštitu digitalnih podataka.
20
podataka u Glacier, koštat će ga 11$ mjesečno. Svaki mjesec moţe dohvaćati besplatno
51 GB podataka, dok za dohvaćanje 100 GB podataka mora platiti 15$.
4.4 Baza podataka
AWS nudi nekoliko različitih baza podataka. U ovom poglavlju opisat će se dvije
usluge koje se najviše koriste, a to su Amazon Relational Database Service (Amazon RDS) i
Amazon DynamoDB.
4.4.1 Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service je platforma za kreiranje, upravljanje i skaliranje
relacijskih baza podataka u oblaku. Za upravljanje koristi SQL19
jezik, i korisnicima
omogućava pristup poznatim sustavima za upravljanje bazama podataka kao što su: MySQL,
Oracle, SQL server i PostgreSQL. Da bi se usluga pokrenula, potrebna je instanca baze
podataka. Upravljanje instancom baze podataka se odvija preko API20
poziva. Neke od
najčešće korištenih funkcionalnosti API-a su:
pokretanje instance baze podataka - obuhvaća postavljanje osnovnih konfiguracija
kod novih instanci kao što su: vrsta sustava baze podataka, kapacitet pohrane, vrsta
licence, klasa instance;
modificiranje instance baze podataka - promjena postavki pokrenute instance;
stvaranje snimki trenutnih stanja baze podataka (engl. Snapshots) - omogućuje
korisniku vraćanje baze podataka u jedno od prijašnjih stanja. Snimke se pohranjuju
na Amazon S3 usluzi, i tako su izolirane od mogućih pogreški kod instance baze
podataka;
brisanje instance baze podataka - gašenje pokrenute instance kada korisniku više nije
potrebna.
Korisnici mogu kod pokretanja instance baze podataka koristiti Multi-AZ (engl.
Multiple Availability Zone) značajku za zaštitu podataka. Time se podaci sa primarne instance
automatski repliciraju na zamjensku instancu baze podataka koja se nalazi u drugoj zoni
dostupnosti (unutar iste regije), te se uspostavlja sinkronizacija. Odabirom ove mogućnosti,
19
SQL (engl. Structured Query Language) - strukturirani jezik za upite, odnosno jezik koji se koristit za rad
s relacijskim bazama podataka. 20
API (engl. Application programming interface) - aplikacijsko programsko sučelje za pristup bazi podataka.
21
usluga se naplaćuje po drugoj tarifi, koja je malo skuplja od standardne i nije dostupna za
SQL server [22].
Cijene Amazon RDS usluge se naplaćuju po satu korištenja, te ovise o odabranoj klasi
(broj procesora, kapacitet memorije, mreţna propusnost) instance i odabranom sustavu za
upravljanje bazom podataka. Prema tome, cijene se s obzirom na odabranu vrstu sustava i
klasu instance, kreću u rangovima prikazanim u tablici 4.4.
Tablica 4.4 Cijena RDS usluge po satu korištenja (EU regija)
MySQL PostgreSQL Oracle SQL server
Cijena 0.035$ - 0.495$ 0.038$ - 0.518$ 0.050$ - 1.120$ 0.035$ - 1.420$
Ako se kod Amazon RDS usluge koristi Multi-AZ značajka, tada se cijene kreću u
rangovima za pojedini sustav upravljanja bazom podataka prikazanim u tablici 4.5.
Tablica 4.5 Cijena RDS usluge sa uključenom Multi-AZ značajkom (EU regija)
MySQL PostgreSQL Oracle SQL server
Cijena 0.070$ - 0.990$ 0.076$ - 1.036$ 0.100$ - 2.240$ -
4.4.2 Amazon DynamoDB
Amazon DynamoDB je brza i skalabilna NoSQL21
usluga koja sluţi za pohranu
podataka kod velikih i brzih web stranica. Time postaje dodatni alat pri razvoju web stranica.
Za razliku od ostalih baza podataka koje su temelje na relacijskom modelu i SQL jeziku,
Amazon DynamoDB nije relacijska baza podataka, i temelji se na jednoj vrsti podatkovnog
modela. Unutar tablica podatkovnog modela stvaraju se ključ-vrijednost (engl. key-value)
parovi (npr. naziv=slika_1, datum=01022013).
Podatkovni model čine:
1. tablica - kolekcija podatkovnih stavki (kao što tablica u relacijskim bazama kolekcija
redaka). Svaka tablica moţe imati beskonačan broj podatkovnih stavki. Tablica mora
21
NoSQL (engl. Not only SQL) - vrsta sustava za upravljanje bazom podataka koja ne koristi SQL jezik za
postavljanje upita.
22
imati primarni ključ (atribut) koji jedinstveno identificira stavke. Moţe biti i
kompozitni (kombinacija dvaju atributa).
2. podatkovna stavka - sastoji se od neodreĎenog broja atributa. Broj atributa koji su
vezani za jednu stavku nije ograničen, ali veličina stavke zajedno sa imenima i
vrijednostima atributa moţe biti najviše 64KB.
3. atribut - sastoji se od imena atributa (npr. boja) i pridruţene vrijednosti (npr. plava).
U tablici 4.6 dan je primjer DynamoDB tablice korisnika sa podacima o pohranjenim
slikama na Amazon S3 usluzi. U atributima su navedene URL lokacije slika, datum snimanja,
dimenzije, i drugi atributi koji mogu biti različiti za pojedinu stavku.
Tablica 4.6 Primjer DynamoDB tablice korisnika
DynamoDB automatski replicira i sinkronizira podatke na višestruke zone dostupnosti
unutar iste regije, kako bi se podaci zaštitili od mogućih gubitaka. Ova značajka se ne
naplaćuje dodatno, dok osnovna cijena usluge uključuje dvije stavke sa pripadajućim
cijenama (EU regija):
1. broj zapisa (0,00735$ na 36 000 zapisa po satu) i broj čitanja (0,00735$ na 180 000
čitanja po satu)
2. veličina pohrane (0,283$ za svaki GB podataka)
Prema tome, za jednu aplikaciju koja zahtijeva jedan milijun zapisa i jedan milijun
čitanja po danu, korištenjem 3 GB podataka, cijena usluge će na mjesec koštati 8,2$. Cijena
operacija za zapisivanje podataka iznosila bi 6,126$, a cijena operacija za čitanje podataka
1,225$ mjesečno. S obzirom se koristi 3 GB podataka, cijena za veličinu pohranjenih
podataka je 0,849$. Iz toga slijedi 8,2$ mjesečno [23].
Primarni
ključ
Ostali atributi
ImageID
= 1
ImageLocation =
https://s3.amazonaws.com
/bucket/img_1.jpg
Date =
1260653179
Title =
Flower
Tags =
Flower,
Jasmine
Width =
1024
Depth =
768
ImageID
= 2
ImageLocation =
https://s3.amazonaws.com
/bucket/img_2.jpg
Date =
1252617979
Rated =
3, 4, 2
Tags =
Work
Office
Width =
1024
Depth =
768
ImageID
= 3
ImageLocation =
https://s3.amazonaws.com
/bucket/img_3.jpg
Date =
1285277179
Price =
10.25
Tags =
Seattle,
Grocery
Author =
You
Camera =
phone
ImageID
= 4
ImageLocation =
https://s3.amazonaws.com
/bucket/img_4.jpg
Date =
1282598779
Title =
Hawaii
Author =
Joe
Colors =
orange,
blue
Tags =
beach,
blanket
23
Jedna od najvećih online baza podataka vezanih za filmove, tv serije, i video igrice,
pod nazivom IMDb (engl. International Movie Database) koristi uslugu Amazon
DynamoDB. IMDb web stranica ima preko 160 milijuna posjetitelja mjesečno, a u bazi
podataka nudi pretraţivanje oko 130 milijuna podatkovnih stavki [23][24].
4.5 Isporuka sadržaja
U ovom poglavlju opisati će se usluga Amazon CloudFront, kojom AWS omogućuje
globalno posluţivanja sadrţaja (engl. Content Delivery Networks).
4.5.1 Amazon CloudFront
Amazon CloudFront je web usluga koja omogućuje programerima i poslovnim
subjektima posluţivanje odreĎenog sadrţaja krajnjim korisnicima. Sadrţaji koji se posluţuju
mogu biti:
web stranice sa uključenim dinamičkim, statičkim i interaktivnim sadrţajem;
medijske datoteke (audio ili video) namijenjene velikom broju korisnika, kao što je
posluţivanje prethodno snimljenih sadrţaja (engl. pre-recorded media) ili izravni
prijenos dogaĎaja (engl. streaming live events).
Koncept se temelji na globalnoj rasprostranjenoj mreţi Amazonovih tzv. rubnih
lokacija22
(engl. edge locations). Zahtjevi za odreĎenim sadrţajem se automatski usmjeravaju
na najbliţu rubnu lokaciju na kojoj je dostupan, čime se osigurava brţi pristup. Korisnik
CloudFront usluge moţe specificirati listu drţava u kojima će korisnici moći pristupiti
sadrţaju, ili listu drţava u kojima sadrţaj neće biti dostupan (prikazivanje statusne poruke:
403 Forbidden).
Amazon CloudFront usluga se integrira sa drugim uslugama AWS-a, kao što su
Amazon S3 (pohrana statičkih datoteka) i Amazon EC2 (aplikacije za dinamičko generiranje
sadrţaja). Tipična web stranica obično sadrţi kombinaciju statičkog i dinamičkog sadrţaja.
Statički sadrţaj uključuje slike ili dokumente, dok dinamički generirani sadrţaj uključuje
elemente stranice koji su karakteristični za traţeni pogled stranice.
22
Rubne lokacije (engl. edge locations) - serveri koji su smješteni po cijelome svijetu na onim mjestima gdje je
vrlo visok intenzitet internet prometa, da bi se olakšalo učitavanje stranica i oslobodili kapaciteti. Umjesto
učitavanja cijelog prometa sa host računa ili servera, promet se preusmjerava prema rubnim lokacijama.
24
Na slici 4-5 je prikazan koncept rada CloudFront usluge. Rubne lokacije koje su
rasprostranjene po svijetu, prema unaprijed definiranim periodima, aţuriraju podatke (ako se
radi o statičkom sadrţaju) koje se nalaze na izvornim serverima, sa vlastitom pričuvnom
memorijom. Drugim riječima, korisnik postavlja odreĎeni sadrţaj na Amazon S3, te unutar
CloudFront usluge ureĎuje popis izvora na kojima se nalazi odreĎeni sadrţaj, kako bi se
mogao periodično aţurirati sa pričuvnom memorijom rubnih lokacija. Prema tome, kada
korisnik pristupi web stranici, sadrţaj se dohvaća iz pričuvnih memorija najbliţih rubnih
lokacija umjesto s izvornog servera.
Slika 4-5 Amazon CloudFront koncept
Korisnik moţe koristiti Amazon CloudFront istovremeno za posluţivanje sadrţaja
cjelokupne web stranice (statički, dinamički i interaktivni sadrţaj) krajnjem korisniku, te kako
bi korisnik mogao postaviti sadrţaj na predefinirani server. Prema tome moţe se koristiti ista
domena stranice (npr. www.mysite.com) bez potrebe za odvajanjem statičkog i dinamičkog
sadrţaja, a istovremeno imati različite servere na kojima se nalaze različite vrste sadrţaja te
web stranice.
Cijena usluge se naplaćuje za transfer podataka po GB-u. Pa tako za EU regiju vrijedi:
Tablica 4.7 Cijena usluge za Amazon CloudFront uslugu
Do 10 TB Sljedećih 40TB Sljedećih 100 TB Sljedećih 350 TB Sljedećih 524 TB
Cijena 0,120$ 0,080$ 0,060$ 0,040$ 0,030$
25
Jedan od primjera za korištenje ove usluge je web stranica www.WeatherBug.com
kompanije Earth Networks, koja omogućuje uţivo praćenje vremenskih prognoza uz pomoć
oko 8530 meteoroloških stanica. Sadrţi milijune posjeta preko web-a i mobilnih
aplikacija [25].
26
5. UPRAVLJANJE I ADMINISTRACIJA AMAZON USLUGA
Kako bi se olakšala administracija, upravljanje i nadzor vlastitih usluga, AWS nudi
različite alate. Neki od najvaţnijih su AWS Management Console, AWS IAM (engl. Identity
and Access Management) i Amazon CloudWatch, a opisani su u ostatku poglavlja.
5.1 AWS Management Console
AWS Management Console osigurava jednostavno web sučelje za upravljanje
Amazon web uslugama. Na slici 5-1 prikazano je sučelje AWS Management Console alata.
Korištenjem specificiranog imena i lozinke, korisnik pristupa navedenom sučelju prijavom na
AWS. Nakon prijave, započeta sesija moţe trajati najviše 12 sati iz sigurnosnih razloga. AWS
Management Console omogućava:
1. upravljanje svim AWS uslugama sa jednog mjesta;
2. administraciju korisnikovog AWS računa: uključujući pregled mjesečnih troškova po
uslugama, upravljanje sigurnosnim vjerodajnicama, ili postavljanje novih IAM
korisnika;
3. upravljanje korisnikovom infrastrukturom u svim regijama: dozvoljava upravljanje
resursima preko višestrukih regija [26].
Slika 5-1 AWS Management Console
27
5.2 AWS Identity and Access Management (IAM)
AWS IAM omogućuje kontrolu pristupa većem broju korisnika, koji se prijavljuju pod
jednim AWS računom, AWS uslugama i resursima. IAM dozvoljava:
1. upravljanje IAM korisnicima i njihovim pristupima: svakom korisniku pojedinačno se
dodjeljuju sigurnosne vjerodajnice (npr. pristupni ključevi, lozinke) ili privremeni
pristupi za odreĎene AWS usluge;
2. upravljanje IAM ulogama (engl. roles): odreĎivanje dozvola za kontrolu koje
operacije mogu biti obavljene od kojeg entiteta;
3. upravljanje grupama korisnika i njihovim dozvolama: odreĎivanje koja grupa
korisnika moţe pristupiti alatu AWS Management Console ili pristupiti resursima.
Na slici 5-2 je prikazan primjer djelovanja IAM alata, gdje osoba koja je administrator
AWS računa moţe pristupiti svim uslugama i resursima te postavljati kontrolu pristupa
drugim korisnicima, dok programer moţe pristupiti samo usluzi Amazon EC2 [26].
Slika 5-2 AWS IAM - kontrola pristupa
Korisnik za AWS IAM ne plaća nikakvu naknadu, već mu automatski stoji na
raspolaganju nakon stvaranja AWS računa.
5.3 Amazon CloudWatch
Amazon CloudWatch omogućuje korisniku nadziranje AWS resursa u stvarnom
vremenu, uključujući Amazon EC2 instance, EBS volumene, te RDS instance baza podataka.
Omogućeno je praćenje:
iskorištenja procesora, latencije, brojača zahtjeva;
metrike sustava, korištenja memorije, transakcija, učestalost grešaka.
28
Prikaz metrike sustava omogućen je putem interaktivnih grafova sa pomičnim
vremenskim rangom, za prikaz traţenih vrijednosti. Jedna od mogućnosti je postavljanje
alarma koji se aktivira, kada se kapaciteti pokrenutih AWS usluga bliţe maksimumu
(npr. EC2 usluga), da bi se aktiviralo automatsko skaliranje i time odrţale performanse
sustava.
Na slici 5-3 je prikazano AWS Cloudwatch sučelje za nadzor RDS usluge za rad sa
relacijskom bazom podataka. Korisniku ima pregled nad ukupnim troškovima, broju
pokrenutih EC2 instanci, broju zaustavljenih instanci, pregled latencija prilikom čitanja i
pisanja.
Slika 5-3 AWS Cloudwatch i RDS usluga
Za osnovni nadzor usluga, sa AWS Cloudwatch, se ne plaćaju naknade, dok se za
detaljan nadzor (u frekvencijama po jednu minutu) EC2 instanci naplaćuje 3,50$ po
instanci [26].
29
6. ZNAČAJKE AMAZON WEB USLUGA
Značajke, zbog kojih se AWS ističe od konkurenata u području računarstva u oblaku
su:
fleksibilnost;
ekonomičnost;
skalabilnost i elastičnost;
sigurnost;
iskustvo.
6.1 Fleksibilnost
AWS omogućuje svojim korisnicima korištenje programskih modela, programskih
jezika i operacijskih sustava s kojima već imaju iskustva ili odabir nekih drugih tehnologija
koje odgovaraju njihovim potrebama. Prema tome, korisnik ne mora učiti nove vještine da bi
nastavio rad s vlastitim sustavom nakon prebacivanja u "oblak", a ponuĎen mu je izbor novih
alata, programskih jezika, i drugih mogućnosti u svrhu olakšanog i boljeg poslovanja.
6.2 Ekonomičnost
Kod naplaćivanja usluga, korisnici plaćaju samo onoliko koliko koriste (engl. pay-as-
you-go), bez neočekivanih troškova ili dugoročnih obveza. Takav poslovni model odgovara
svima, jer umjesto plaćanja unaprijed za troškove licenci i opreme, AWS od korisnika
naplaćuje mjesečni utrošak resursa za korištene usluge.
6.3 Skalabilnost i elastičnost
Usluge u oblaku su dizajnirane da omoguće neograničenu skalabilnost. AWS koristi
pojam "elastičan" (engl. elastic) za opisivanje sposobnosti skaliranja resursa AWS usluga po
potrebi. Na slici 6-1 prikazan je graf koji prikazuje odnos AWS pristupa i dva često korištena
pristupa arhitekturi oblaka koji se ogledaju u mogućnosti skaliranja resursa prema zahtjevima
korisnika. Kod normalnog pristupa skaliranju (plava isprekidana linija), korisnik smanjuje
rizik mogućeg nedostatka kapaciteta, pa u definiranim periodima nadograĎuje ulaţe u
30
infrastrukturu. Takav pristup predstavlja veliki trošak kapitala u točkama vertikalnog
skaliranja. U odreĎenom trenutku stvarni zahtjevi (crvena linija) mogu narasti prije točke u
kojoj se nadograĎuju kapaciteti, i time prouzročiti nezadovoljstvo i gubitak klijenata. Kod
tradicionalnog pristupa skaliranju, potrebno je predviĎanje zahtjeva nakon čega se radi
horizontalno skaliranje i ulaganje u infrastrukturu u manjim količinama. U odreĎenim
trenucima moţe doći do viška kapaciteta u odnosu na stvarne zahtjeve. U oba pristupa nuţni
su veći početni troškovi. S druge strane, AWS pristup preko automatske elastičnosti
omogućava da je veličina kapaciteta pribliţno usklaĎena sa stvarnim zahtjevima smanjujući
nepotrebne troškove.
Slika 6-1 Automatska elastičnost i skalabilnost AWS resursa
Elastičnost je jedan od ključnih svojstava AWS usluga, čime daje uvid u prednosti
korištenja usluga u oblaku.
6.4 Sigurnost
Za fizičku sigurnost infrastrukture na kojoj se pokreću usluge odgovora AWS, dok je
mreţna i aplikacijska razina sigurnosti dana na odgovornost pojedinog korisnika. Neke od
preporuka su:
zaštita podataka tijekom prijenosa: Ako je potrebno razmijeniti osjetljive podatke
izmeĎu web preglednika i web servera, moţe se postaviti SSL protokol na instanci
31
servera. Pri tome je potreban certifikat koji izdaje odreĎeni autoritet kao što je
VeriSign23
. Javni ključ koji je sadrţan u certifikatu autentificira server web
pregledniku i čini osnovu za kreiranje dijeljenog sesijskog ključa koji se koristi u
enkripciji podataka u oba smjera. Za zaštitu se moţe koristiti i opisana usluga VPC,
koja omogućuje enkriptiranu VPN konekciju preko IPsec protokola.
zaštita statičkih podataka: Osjetljivi podaci koji se pohranjuju kao podatkovni objekti
u S3 usluzi trebaju se enkriptirati prije postavljanja u oblak.
upravljanje dopuštenjima za više korisnika preko IAM alata;
zaštita resursa preko sigurnosnih grupa: Svaka EC2 instanca se štiti jednom ili s više
sigurnosnih grupa, u kojima se postavljaju pravila specificiranja mreţnog prometa sa
instancama. Na slici 6-2 je prikazan primjer zaštite pristupa podacima na serveru baze
podataka. Postavljeni vatrozid EC2 sigurnosne grupe onemogućuje izravan mreţni
promet prema bazi podataka. Serveru baze podataka je moguće pristupiti samo preko
aplikacijskog servera koji djeluje kao API, dok se na aplikacijski server moţe doći
preko web servera (pristup preko portova 80 ili 443) ili preko porta 22 (SSH) otvoren
razvojnim programerima [5][27].
Slika 6-2 Osiguranje resursa korištenjem Amazon EC2 sigurnosnih grupa
23
VeriSign - američka kompanija koja nudi niz sigurnosnih usluga, uključujući licencirano izdavanje SSL
certifikata.
32
6.5 Položaj Amazon web usluga na tržištu
Na slici 6-3 je prikazan odnos konkurentnih kompanija na trţištu pruţanja usluga u
oblaku. Gartnerov magični kvadrant24
(engl. Gartner Magic Quadrant) analizira
konkurentnost kompanija u dva smjera:
sposobnost rasta - ocjenjuje se kvaliteta i učinkovitost procesa, metoda i procedura
koje omogućuju tvrtkama da budu konkurentni. Neki od kriterija koji stoje iza
sposobnosti rasta su: kvaliteta usluge, odrţivost, financijsko stanje, kvaliteta
strategije, iskustva korisnika.
potpunost vizije - ocjenjuje se sposobnost iznošenja budućih planova, inovacija,
zadovoljavanja potreba kupaca, te postojanje kompetitivnosti. Prema tome kriteriji
koji stoje iza potpunosti vizije su: razumijevanje trţišta, strategija marketinga i
prodaje, razvijen poslovni model, te strategija geografskog širenja.
Slika 6-3 Gartnerov magični kvadrant
24
Gartnerov magični kvadrant - daje široki pregled odnosa izmeĎu konkurentnih kompanija, kao rezultat
kulminacije istraţivanja pojedinih područja na trţištu.
33
Amazon je kao pruţatelj usluga u oblaku smješten u kvadrant lidera, te se odmakao od
drugih konkurenata. AWS dijeli kvadrant samo još sa Microsoftom. Širokom ponudom usluga
nalaze se u gotovo svim područjima usluga u oblaku. Ono u čemu se AWS ističe je visoko
rangirana kvaliteta usluge, značajna trţišna pokrivenost, i ogroman broj zadovoljnih
korisnika.
U odnosu na kompanije koje spadaju u područje vizionara, čije su karakteristike
ambiciozne vizije budućnosti i značajne investicije u razvoj tehnologija, AWS već posjeduje
konzistentnu inovativnost i teţnju za nastavak ubrzanog širenja ponude usluga [28].
34
7. ZAKLJUČAK
Korištenje virtualizacije u poslovanju sve se više prihvaća kao uspješan način
reduciranja troškova i povećavanja pouzdanosti kod sigurnosti podataka. Korisniku je,
pristupanjem AWS-u, omogućen kompletan set usluga za korištenje ţeljene računalne snage,
kapaciteta za pohranu, različitih sustava za upravljanje bazama podataka i drugih usluga koje
se pokreću u kratkom vremenu. Pri tome korisnik ima odreĎenu fleksibilnost kod izbora
razvojnih platformi ili raznih programskih modela za rješavanje problema. Za razvoj
aplikacija na raspolaganju su različiti alati (Puppet, Visual Studio, Eclipse, Chef) i jezici
(PHP, Java, Ruby, Pyton, .NET).
Sa mogućnošću elastičnog dodavanja i brisanja kapaciteta, usluge se mogu bez
problema širiti onoliko koliko klijentima treba. Plaća se samo koliko se koriste usluge
(engl. pay-as-you-go), bez neočekivanih troškova ili dugoročnih obveza, čime su AWS usluge
ekonomične za sve korisnike. Gotovo sve usluge, sa ograničenim kapacitetima, dostupne su
besplatno na korištenje, u vremenu do godinu dana. Amazon je svojim uslugama u oblaku
definitivno nadišao svoj početni poslovni model online trgovine i danas je vaţno ime u
području pruţanja IT usluga.
35
LITERATURA
[1] Furht B.; Escalante A.: Handbook of cloud computing, Springer, New York, 2010.
[2] Augustinov P.: CLOUD COMPUTING U POSLOVANJU, Diplomski rad, Ekonomski
fakultet Split, 2011.
[3] Gartner: "Cloud computing", s Interneta,
http://www.gartner.com/it-glossary/cloud-computing, pristup 17.3.2014.
[4] NIST: "NIST Cloud Computing Program", s Interneta,
http://www.nist.gov/itl/cloud/index.cfm, pristup 17.3.2014.
[5] Vaira J.; Mathew S.: Overview of Amazon Web Services, Published by Amazon Web
Services, 2014.
[6] CARNet: "Cloud computing", s Interneta, http://www.cert.hr/sites/default/files/NCERT-
PUBDOC-2010-03-293.pdf, pristup 23.3.2014.
[7] Voras I.: "Moćni Amazon", s Interneta, http://www.bug.hr/mreza/tekst/amazon-web-
services/95824.aspx, pristup 24.3.2014.
[8] Wikipedia: "Amazon Web Services", s Interneta,
http://en.wikipedia.org/wiki/Amazon_Web_Services, pristup 24.3.2014.
[9] Šimes A.; Noţica B.: "Virtualizacija uredskog poslovanja", s Interneta,
http://bib.irb.hr/datoteka/690957.Virtualizacija_uredskog_poslovanja.pdf, pristup
26.3.2014.
[10] Wikipedia: "Amazon Elastic Compute Cloud", s Interneta,
http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud, pristup 27.3.2014.
[11] AWS: "Auto Scalling", s Interneta, http://aws.amazon.com/autoscaling/,
pristup 27.3.2014.
[12] AWS: "Amazon EMR", s Interneta, http://aws.amazon.com/elasticmapreduce/,
pristup 27.3.2014.
[13] Brebrić K.: "Virtualni privatni oblaci", s Interneta, http://www.bug.hr/vijesti/virtaulni-
privatni-oblaci/98376.aspx, pristup 9.4.2014.
[14] AWS: "Amazon VPC", s Interneta, http://aws.amazon.com/vpc/, pristup 9.4.2014.
[15] AWS: "Amazon Route 53", s Interneta, http://aws.amazon.com/route53/,
pristup 9.4.2014
[16] AWS: "Amazon Simple Storage Service", s Interneta, http://aws.amazon.com/s3/,
pristup 15.4.2014.
36
[17] AWS: "Amazon Elastic Block Storage", s Interneta, http://aws.amazon.com/ebs/,
pristup 15.4.2014
[18] AWS: "Amazon Import/Export", s Interneta, http://aws.amazon.com/importexport/,
pristup 14.4.2014.
[19] AWS: "Amazon Glacier", s Interneta, https://aws.amazon.com/glacier/,
pristup 14.4.2014.
[20] Brebrić K.: "Amazonov ledenjak za dugotrajnu pohranu podataka", s Interneta,
http://www.bug.hr/vijesti/amazonov-ledenjak-dugotrajnu-pohranu-podataka/117870.aspx,
pristup 14.4.2014.
[21] Gabelic H.: "Big data", s Interneta, http://www.skladistenje.com/kad-veliki-podaci-
postanu-sastavni-dio-poslovanja/, pristup 2.5.2014.
[22] AWS: "Amazon RDS", s Interneta, http://aws.amazon.com/rds/, pristup 12.5.2014.
[23] AWS: "Amazon DynamoDB", s Interneta, https://aws.amazon.com/dynamodb/,
pristup 12.5.2014.
[24] IMDb: "About IMDb", s Interneta, http://www.imdb.com/pressroom/about/,
pristup 12.5.2014.
[25] AWS: "Amazon CloudFront", s Interneta, https://aws.amazon.com/cloudfront/,
pristup 16.5.2014.
[26] AWS: "Deployment and Management on AWS", s Interneta,
http://aws.amazon.com/application-management/, pristup 17.5.2014.
[27] Vaira J.: Architecting for the Cloud: Best Practices, AWS, siječanj 2011.
[28] Gartner: "Magic Quadrant for Cloud IaaS", s Interneta,
http://www.gartner.com/technology/reprints.do?id=1-1UKQQA6&ct=140528&st=sb#,
pristup 16.6.2014.
37
POPIS OZNAKA I KRATICA
AES Advanced Encryption Standard
AMI Amazon Machine Images
AWS Amazon Web Services
EBS Elastic Block Store
EC2 Elastic Compute Service
EMR Elastic MapReduce
Gartner tvrtka za IT istraţivanja
HTTPS HyperText Transfer Protocol Secure
IaaS Infrastructure as a Service
IAM Identity Access Management
IT Information technology
NIST National Institute of Standards and Technology
PaaS Platform as a Service
RDS Relational Database Service
SaaS Software as a Service
SAN Storage area network
SSH Secure shell
SSL Secure Sockets Layer
URL Uniform Resource Locator
VPC Virtual Private Cloud
VPN Virtual Private Network
38
SAŽETAK
Računarstvo u oblaku je vrsta računarstva u kojem se virtualni i dinamičko
prilagodljivi resursi pružaju kao usluge preko interneta. U ovom radu opisan je raznolik
opseg usluga kompanije Amazon - Amazon Web Services. Najpoznatije usluge AWS-a jesu
one infrastrukturne, među kojima je najbitnija usluga hostinga nazvana Elastic Compute
Cloud (EC2). Nadalje, korisniku se na području usluga umrežavanja omogućuje kreiranje
logički odvojenog skupa AWS resursa (npr. EC2 instanci) i njihovo sigurno povezivanje
putem virtualne privatne mreže (VPN) sa resursima u vlastitoj računalnoj mreži. Spona koja
zaokružuje i povezuje sve usluge u Amazon oblaku predstavljena je preko Amazon Route 53
usluge, koja djeluje kao visoko skalabilan te pouzdan DNS sustav. Po popularnosti nakon
EC2 usluge, je usluga Simple Storage Services (S3) namijenjena pohrani podatkovnih
objekata. Nju nadopunjuje Elastic Block Storage (EBS), koji se koristi kao "vanjski disk" s
kojim se povezuju EC2 instance. Sa druge strane AWS nudi nekoliko rješenja kod korištenja
baza podataka, gdje su dva najpoznatija oblika Relational Database Service (RDS) i
DynamoDB. Za globalno posluživanje sadržaja, kao što su web stranice ili izravni prijenosi
događaja, u ponudi je Cloudfront usluga. Za olakšanu upravljanje i nadziranje korisnikovih
usluga, AWS nudi niz alata i sučelja, od kojih su najbitniji AWS Management Console, AWS
IAM i Amazon CloudWatch.
KLJUČNE RIJEČI
Računarstvo u oblaku; AWS; zona dostupnosti; Elastic Compute Cloud (EC2); Simple
Storage Services (S3); instance; pay-as-you-go; skalabilnost