(WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma
-
Upload
webstrategija -
Category
Education
-
view
344 -
download
2
Transcript of (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma
Cloud kao aplikacijska
platforma
Tomislav Tipurić, Microsoft
Sadržaj
IaaS i PaaS – 2 pristupa
PaaS programski model
– Pravilo 1 – jedna ili više rola
– Pravilo 2 – višestruke instance
– Pravilo 3 – otporna na kvar
Zaključak
29.1.2015. Web::Strategija 2
IaaS i PaaS – 2 pristupa
Cloud platforme najčešće se dijele na:
– Infrastructure as a Service (IaaS)
– Platform as a Service (PaaS)
IaaS se pojavio prvi
– Amazon Web Services (AWS) Elastic
Compute Cloud (EC2) je IaaS
PaaS će vrlo vjerojatno na kraju dominirati
– Iako je IaaS danas puno popularniji
Operating
System
VM
Web
Server
Operating
System
VM
DBMS
2) Choose
image, then
create and
configure VM(s)
for application
1) Choose image,
then create VM for
DBMS and configure
DBMS
Library
VM Images
Developer
ApplicationData
5)
Configure
load
balancer
6) Manage VMs and
DBMS (e.g., deploying
patched VM images in
VMs)
3) Provision
database, then
create tables and
add data
4) Install
application
Load
Balancer
Ilustrirajmo IaaS
Operating
System
VM
Operating
System
VM
DBMS
Developer
ApplicationData
Load
Balancer
2) Deploy
application
Web
Server
1) Provision
database, then
create tables and
add data
Ilustrirajmo PaaS
Scenariji za javne Cloud platfromeIaaS PaaS
Running Existing
Web Apps/Sites
Running Standard
Packaged Apps
Running a Standard
DBMS
High Performance
Computing and Big Data
VMs for a
Dev/Test Lab
Running New
Cloud-Native Apps
Disaster Recovery
Virtual Data Center
(VMs for On-Demand Use)
Trošak
operacija
Nivo apstrakcije
Fizički
strojevi
Virtualni
strojevi
IaaS
Paa
S
Trošak vs. Nivo apstrakcije
PaaS Application
Web Role Worker Role
Pravilo 1 – jedna ili više rola
PaaS aplikacija izgrađena je od jedne ili više rola
U PaaS svijetu najčešće postoje 2 tipa rola:
– Web rola: pokreće Web server (npr. IIS),
namijenjena za Web aplikaciju
– Worker rola: pokreće proizvoljan kod
Jednostavan primjer:
PaaS Application
Worker Role
Instance 1
VM
Worker Role
Instance 2
VM
Worker Role
Instance 3
VM
Web Role
Instance 1
VM
Web Role
Instance 2
VM
Web Role
Instance 3
VM
Web Role
Instance 4
VM
Pravilo 2 – višestruke instance
PaaS aplikacija mora pokretati više instanci svake role
Pravilo 3 – otporna na kvar
PaaS Application
Web Role
Instance 2
VM
Web Role
Instance 3
VM
Worker Role
Instance 1
VM
Worker Role
Instance 3
VM
Web Role
Instance 4
VM
PaaS aplikacija uredno radi kad bilo koja instanca
„padne”
Implikacije Pravila 3
Storage mora biti izvan instanci
– Instanca ne bi smjela spremati podatke lokalno
Interakcije između Web/Worker instanci trebaju
biti generičke
– Općenito, Web/Worker instanca ne smije brinuti s
kojom je instancom druge role u interakciji
Klijent ne smije pretpostavljati da će sve njegove
zahtjeve poslužiti ista instanca Web role
– PaaS (najčešće) ne podržava „sticky sessione”
U pozadini: Fabric Controller
Fabric controller vlasnik je svih strojeva u
određenom data centru (Windows Azure)
– Stvara i nadgleda instance rola na tim strojevima
Pokreće novu instancu kada:
– Deployamo (postavljamo) aplikaciju
– Instanca u pokrenutoj aplikaciji „padne”
• Ili dođe do pogrješke u samoj aplikaciji unutar te instance
– Treba ažurirati sistemski softver u instanci ili pak na
fizičkom stroju
PaaS aplikacija
Web Role
Instance 1
Worker Role
Instance 1
Fabric
Controller
Worker Role
Instance 2
Web Role
Instance 2
Ilustrirajmo Fabric Controller
Interakcije s OS-om
Za Web i Worker role, fabric controller je vlasnik OS-a
– Ažurira OS svake instance kada je potrebno
– Sve promjene koje radite morate ponovo aplicirati svaki put kada se instanca pokreće
Fabric controller također je vlasnik OS-a na fizičkom stroju
– Ažurira ga i ponovno pokreće kada je to potrebno
Ovakav programski model omogućuje
Aplikacije koje su dostupnije i jeftinije za pokretanje
– Zaštitu od hardverskih kvarova/grešaka
– Zaštitu od softverskih grešaka
– Ažuriranje aplikacije bez downtimea• S jednostavnim single-step ažuriranjem, ili
• Ažuriranjem uz pomoć tzv. „update domena”
– Ažuriranje sistemskog softvera bez downtimea• Gašenjem pojedinih instanci, ažuriranjem njihovog
softver te ponovnim pokretanjem
– Minimalan posao za sistem administratora
Zaključak
PaaS će vrlo vjerojatno biti dominantna cloud platforma u budućnosti
– Iako će IaaS i Web hosting biti važni za godine koje dolaze
Posebice za nove aplikacije, PaaS je općenito najbolji izbor:
– Omogućuje brži razvoj i postavljanje aplikacija
– Pojeftinjuje upravljanje aplikacijama
– Smanjuje rizik