(WS14) Tomislav Tipuric - Cloud kao aplikacijska platforma

Post on 02-Jul-2015

345 views 2 download

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