wpc2012 windows azure - architetture e costi nell'era del cloud

32
#wpcit12 @vflorusso Windows Azure: Architetture e Ottimizzazione dei Costi nell'era del Cloud Vito Flavio Lorusso @vflorusso

Upload: vito-lorusso

Post on 15-Dec-2014

570 views

Category:

Documents


0 download

DESCRIPTION

Presentation delivered at WPC 2012 in Milan, where I explained challenges and considerations when moving a simple scenario to the Cloud, in order to get benefits from the migration

TRANSCRIPT

Page 1: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Windows Azure: Architetture e

Ottimizzazione dei Costi nell'era

del Cloud

Vito Flavio

Lorusso

@vflorusso

Page 2: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Agenda

Princìpi delle architetture nel Cloud

Da on premise … al cloud

10’

50’

Domande e risposte 15’

Page 3: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Obiettivi e Takeaways

+ Familiarità con gli oggetti di WA

- Paura di «prevedere» i costi

+ Familiarità con modelli di Business SaaS

- Fiducia «cieca» nell’infallibilità del Cloud

Page 4: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Princìpi delle Architetture nel Cloud

• Non affidarsi allo stato di una risorsa

• Disegnare un’architettura pensando ai costi

• Definire il proprio «SLA»

– Individuare i punti «deboli»

– Stabilire processi «automatici» per rimediare al

«cedimento dei punti deboli»

– Uno «SLA» maggiore richiede «costi» maggiori

Page 5: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Pensate in «GRANDE»

vs

Page 6: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Migrazione: Web (on premise)

Logica Fisica

View auten

ticazion

e

auto

rizzazion

e

WebAPI

Controller

entità

log

DataBase StorageDB

Directory

file

load balancer

web server

DB Server

Directory

Page 7: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Web: HA (on premise)

• Sessione:– RAM e LB in affinity

– Cache (AppFabric o DB)

• Storage– Distributed File System

– File Share

• DB– Cluster

– Mirror

• Network

Page 8: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Web: DR (on premise)

• Dischi

– SAN / RAID / Mirror

• Dati

– Backup

• DB

– Manteinance Plan

Page 9: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Web: Gestione e ALM (on premise)

• Sistema operativo

– Patching

• Applicativi

– Build management

– Integrated tests

– Logging

• DB

– Patching & recovery

Page 10: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Web: gestione carichi (on premise)

• Front-End

– Scale Out

• DB

– Scale up

– …. se non è abbastanza..

– Data partitioning

Page 11: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Come cambia tutto questo in

Windows Azure?

Page 12: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

La via «nota»: IaaS

• Da Macchine Virtuali a Macchine Virtuali su

Windows Azure

– Cosa cambia

• No cluster

• No LB affinity

• DR hardware gestito

– Cosa non cambia

• Gestione

Page 13: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

IaaS: incremento dei carichi

• Front-End

– Scale Out

• DB

– Scale up (fino a istanza XL)

– Partition

Page 14: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Hosting con un nome diverso?

• Le macchine sono comunque allocate ma

non «usate» sempre al massimo

• Il processo di «scale Up» «scale out» e

«patching» è ancora «ampiamente manuale»

• …e i costi?

Page 15: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Costi del «porting IaaS»

• On premise

– 2 VM Single Core – Web

– 2 VM Single Core – Directory

– 2 VM Quad Core – DB

– Storage «preallocato»: 400 GB

• Win Azure

– 2 Small – Web – 115.2 $ / mese

– 2 Small – Directory – 115.2 $ / mese

– 2 Large – DB – 460.8 $ / mese

– Storage (LR): 37.21 $ /mese

Page 16: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

I costi del cloud «incalcolabili»

• Banda e Transazioni? Cosa?

– La banda in upload non si paga

• Ragioniamo in «page views»…

– 100.000 page views al mese

– ad ogni pagina «escono» circa 200k

– 100.000 page views «scatenano» 100x «transazioni sullo storage» (log, db, immagini, etc.)• 20 GB banda out: 1.80$

• 10M transazioni sullo storage: 2$

Page 17: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Lezioni

• La banda e le transazioni dello storage sono «prevedibili»

• Una stima per «eccesso» vi mette al sicuro dal rischio

• La banda è un costo «significativo» se usate file di grandi dimensioni

• Le transazioni sullo storage hanno un costo «significativo» in caso di:– Parecchio IO su DB

– Logging «estremo»

Page 18: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Stiamo sprecando spazio, risorse…

soldi!

Lezione di ricordare!

Page 19: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Domande da farsi…

• C’è un «servizio» che la mia applicazione

può «usare» invece di usare una VM?

• Posso «spegnere» le risorse che non uso

quando non mi servono?

• Ho dei ruoli applicativi che possono

diventare stateless?

Page 20: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Usare i servizi: autenticazione

Windows Azure Active Directory

• Autenticazione claim based

• Federazione con il «mio» directory (via ADFS)

• Federazione con altri «authentication

provider»

– 2 Server in meno

– 1M «autenticazioni» al mese: 19.90 $

Page 21: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Usare i servizi: cache

Windows Azure Cache

• Può usare parte della RAM delle mie istanze

• Provider per la sessione di Asp.net

• Posso usare un «cluster» di cache usato da più ruoli

– - risorse «sprecate»

– + scalabilità per il carico

– - dipendenza dall’affinità delle richieste

– -1 single point of failure

Page 22: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Usare i servizi: storage

Windows Azure Storage

• File system replicato con un NLB davanti

• VHD di un Web/Worker Role

• Sync framework per allineare storage e istanze

• Posso servire le immagini e i video

– - risorse «sprecate»

– - carico di richieste su IIS

– - istanze stateless

Page 23: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Usare i servizi: SQL Database

SQL Database

• Database in ambiente condiviso

• Un primary e due secondary per DR

• Backup gestito da MS per DR (5 min / 14 gg)

• Scale out «estremo» per gestire i carichi

– - 2 server da configurare e gestire

– + logiche di retry

– + ottimizzazione delle query

Page 24: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Architettura in PaaS

Web Role

WA Cache

Local Storage

(stateless)

Windows Server Image

Service Package

WA Blob Storage

Immagini

Log

WA Diagnostics

Sync

WA SQL Database

Database

Backup

WAActive

Directory

Page 25: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Cosa cambia?

• Ciclo di vita del software

• Gestione del failure sui Web Role

• Backup «applicativi» del DB

StagingProduzione

Web Role (v1) Web Role (v2)

WA SQLDatabase

Storage

*.bacpac

*.cspkg

Team Foundation

Service

build

deploy

Page 26: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

… e separare i workload

• Il webrole non dovrebbe gestire operazioni

long running!

• Long running?

Web role Worker RoleQueue

Page 27: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Costi «IaaS» vs «PaaS»

• Win Azure (IaaS)– 2 Small – Web – 115.2 $ / mese

– 2 Small – Directory – 115.2 $ / mese

– 2 Large – DB – 460.8 $ / mese

– Storage (LR): 37.21 $ /mese

• Win Azure (PaaS)– 2 Small – Web Role – 180$ /mese

– AD 1M transazioni – 19.90$

– DB 50 GB 125.88$

– Storage (LR): al max 37.21 $ /mese

Comune

• 20 GB banda out: 1.8 $

• 10 M Transazioni storage: 2 $

La soluzione in PaaS costa circa la META’ di quella in IaaS

Page 28: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Domande da farsi…

• Quali sono gli SLA del mio servizio?

• Ho usato l’automazione?

• Ho pensato a come gestire l’applicazione in

caso di failure di una risorsa?

• So attivare il supporto?

Page 29: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Modello di business

• Ho un modello di business SaaS?

• Al crescere dell’utilizzo delle risorse, crescono

gli introiti?

• Ho segmentato i miei clienti?

• Ho differenziato l’offerta?

Page 30: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Altre lezioni

• Il vostro tempo è prezioso, sia quando

dovete realizzare sia quando dovete gestire

• Se un servizio vi «toglie» una gestione,

avrete più tempo per migliorare i processi

• Automatizzate, automatizzate,

automatizzate…

Page 31: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

#wpcit12 @vflorusso

Q&A

Page 32: WPC2012 Windows Azure - Architetture e costi nell'era del cloud

Grazie

Vito Flavio [email protected]@vflorusso