(WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

16
Cloud kao aplikacijska platforma Tomislav Tipurić, Microsoft

Transcript of (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

Page 1: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

Cloud kao aplikacijska

platforma

Tomislav Tipurić, Microsoft

Page 2: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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

Page 3: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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

Page 4: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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

Page 5: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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

Page 6: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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)

Page 7: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

Trošak

operacija

Nivo apstrakcije

Fizički

strojevi

Virtualni

strojevi

IaaS

Paa

S

Trošak vs. Nivo apstrakcije

Page 8: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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:

Page 9: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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

Page 10: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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”

Page 11: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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”

Page 12: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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

Page 13: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

PaaS aplikacija

Web Role

Instance 1

Worker Role

Instance 1

Fabric

Controller

Worker Role

Instance 2

Web Role

Instance 2

Ilustrirajmo Fabric Controller

Page 14: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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

Page 15: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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

Page 16: (WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

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