Post on 06-Dec-2014
description
SCENARI APPLICATIVIPER IL CLOUD COMPUTING
Marco ParenzanSoftware Architect, 1nn0va
Agenda
(Re)Introduzione al Cloud Computing Caratteristiche Essenziali Modelli di Implementazione Tecnologie Abilitanti Scenari applicativi Conclusioni
SCENARI APPLICATIVIPER IL CLOUD COMPUTING
(Re)Introduzione al Cloud Computing
On-Premise
“On-Premise” significa “in casa” Risorse, hardware e software, sono
“proprie” È la situazione originale con cui si
comparano le scelte del Cloud Computing
Definizione di Cloud Computing Il Cloud Computing è un modello
abilitante l’accesso, conveniente e su richiesta, ad un insieme di risorse di calcolo (es. reti, servers, archiviazione, applicazioni e servizi) che possono essere approvigionate (“provisioned”) rapidamente, in maniera semplice. Rif. http://www.nist.gov/itl/cloud/
Cos’è il Cloud Computing
In apparenza è «minestra riscaldata» È la prima vera strategia di marketing
per «vendere» la capacità di calcolo di Internet
È legata all’evoluzione dei Data Center Utility Computing: pay-as-you-go
computing Illusione di risorse infinite Nessun costo di avvio Fatturazione granulare (costi orari)
I Player del Cloud Computing È un percorso obbligato per i grandi
di Internet per sostenere i costi dei nuovi Data Center Experience with very large datacenters Unprecedented economies of scale
Tecnologie abilitanti
Reti (WAN) veloci Computer potenti ed economici Virtualizzazione efficiente Standard software Pagamento a consumo
Economia dei Cloud Providers 5-7x economies of scale [Hamilton 2008]
Extra benefits Amazon: utilize off-peak capacity Microsoft: sell .NET tools Google: reuse existing infrastructure
ResourceCost in
Medium DCCost in
Very Large DC Ratio
Network $95 / Mbps / month
$13 / Mbps / month
7.1x
Storage $2.20 / GB / month
$0.40 / GB / month
5.7x
Administration
≈140 servers/admin
>1000 servers/admin
7.1x
http://www.youtube.com/watch?v=PPnoKb9fTkA&feature=player_embedded
Questionario
Questionario n°1
Sapete quale è il costo operativo dell’IT nella vostra azienda? Per costo operativo intendiamo il totale dell’impegno di persone nel far vivere il reparto IT (installare un service pack, stampante che non stampa, elettricità per i server...) Sì No
SCENARI APPLICATIVIPER IL CLOUD COMPUTING
Caratteristiche Essenziali
Caratteristiche Essenziali Elasticità
Scalabilità On-demand self-service Broad network access Resource pooling Measured Service
Scalabilità
Da Wikipedia Il termine scalabilità, nelle
telecomunicazioni, nell'ingegneria del software, in informatica, e in altre discipline, si riferisce, in termini generali, alla capacità di un sistema di "crescere" o "decrescere" (aumentare o diminuire di scala) in funzione delle necessità e delle disponibilità. Un sistema che gode di questa proprietà viene detto scalabile.
Elasticità
Elasticity is defined as the ability to scale resources both up and down as needed. To the consumer, the cloud appears to be infinite, and the consumer can purchase as much or as little computing power as they need. This is one of the essential characteristics of cloud computing in the NIST definition.
Unused resources
Elasticità
Adattare l’acquisizione delle risorse in funzione della domanda
Static data center Data center in the cloud
Demand
Capacity
Time
Re
sou
rce
s
Demand
Capacity
TimeR
eso
urc
es
On-demand self service
Un utilizzatore di servizi “cloud” può utilizzare I servizi stessi in autonomia, senza alcuna interazione con il cloud provider
Accesso alla rete pervasivo Le risorse “cloud” sono accessibili
attraverso Internet, senza alcuna limitazione, attraverso protocolli standard, da client leggeri (“thin”) o più strutturati (“thick”)
Resource pooling
Un fornitore di “cloud” applica il modello “multi-tenant” (multi-”affittuario”).
Le risorse sono disponibilit a tutti I clienti
Le risorse sono assegnare e riassegnate a seconda della domanda.
Il cliente non ha genericamente la percezione dove sia effettivamente disponibile la risorsa
Servizio misurato
Tutti gli aspetti di un servizio cloud (CPU, memoria, storage, I/O) sono monitorati da un cloud provider.
È fondamentale per Fatturazione Controllo degli accessi Ottimizzazione delle risorse Pianificazione delle capacità
SCENARI APPLICATIVIPER IL CLOUD COMPUTING
Modelli di Implementazione
Modelli di implementazione Ci sono quattro modelli di
implementazione Public Cloud Private Cloud Community Cloud Hybrid Cloud
Public Cloud
Una Cloud è pubblica se è accessibile attraverso ISP terzi
Pubblico non significa “free” Pubblico non significa che I dati di un
utente sono pubblicamente visibili I principi del cloud (a partire dalla
disponibilità) sono disponibili
Private Cloud
Una Cloud è privata quando È “cloud” (elasticità, pooling delle
risorse, ecc..) Gestita all’interno di una organizzazione Nessuna restrizione di banda di rete Sicurezza “LAN” invece di Internet
Community Cloud
Una Community Cloud è controllata da un gruppo di organizzazioni, invece che da un singolo. Condividono stesso meccanismo di
sicurezza Accesso ai dati Applicazioni del Cloud
Hybrid Cloud
È una combinazione di una public e di una private cloud
Tipicamente è la scelta di un’azienda di pubblicare nella public cloud informazioni non critiche all’azienda.
Probabilmente è il modello di riferimento che un’azienda dovrebbe scegliere
Questionario
Questionario n°2
Avete dati che condividete in quantità, regolarmente, con i parter (clienti, fornitori, utenti) dell’azienda? Fatture Bolle Ordini Situazioni Ordini Disegni di Progetto Altro
SCENARI APPLICATIVIPER IL CLOUD COMPUTING
Sfide legate al Cloud Computing
Sfide per l’adozione
Sfida OpportunitàDisponibilità Provider e Data Center
multipliAffinità dei Dati (lock-in)
Standardizzazione
Data Confidentiality Crittografia, VLAN, Firewall
Di tante, in evidenza una tematica sola Quali sono le sfide da affrontare per
l’adozione del cloud?
SCENARI APPLICATIVI PER IL CLOUD COMPUTING
Modelli di Servizio
Modelli di Servizio
Tre modelli di servizio Infrastructure as a Service (IaaS) Platform as a Service (PaaS) Software as a Service (SaaS)
INFRASTRUCTUREA S A S E R V I C E
PLATFORMA S A S E R V I C E
SOFTWAREA S A S E R V I C E
IaaSInfrastructure as a Service È l’evoluzione del «vecchio» housing È l’applicazione delle macchine
virtuali Il protagonista principale è Amazon
con EC2 Elastic Cloud Computing Anche Windows Azure ha questo con la
VM Role
PaaSPlatform as a Service Ne riparliamo dopo…
SaaSSoftware as a Service È l’integrazione nella filosofia «cloud»
delle applicazioni che normalmente utilizziamo, dalla posta elettronica, ai documenti
Sono le infrastrutture di queste applicazioni che hanno creato i Data Center
Il modello di business tipico è: Si comincia gratis Si aggiungono funzioni a pagamento
Costi Nascosti
Acquisizione Hardware e Software Cespiti
Installazione Configurazione Amministrazione
Patch Failure
Guasti
Distribuzione delle Responsabilità
On-Premises
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
You m
anage
Infrastructure
(as a Service)
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
Oth
er M
anages
You m
anage
Platform(as a
Service)O
ther M
anages
You m
anage
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
Software(as a
Service)
Oth
er M
anages
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
Esempi di SaaS
«Abitudini»...
Siamo abituati ad utilizzare su Internet: Posta Elettronica (free) Google Facebook Linked In
Possiamo fare MOLTO di più...
Un’azienda vuole realizzare un sito Web.
Per questo obiettivo, stabilisce un insieme di partner che devono collaborare insieme.
Dovranno essere gestiti i documenti di progetto, l’intera schedulazione e comunicazione, condivisi il codice sorgente di sviluppo, definito l’hosting per il sito.
Demo: IaaS e SaaS
Gestione di Progetti
Gestione Progetti Software
Gestione Documenti
Gestione Comunicazione
Archivio Codice Sorgente
Elastic Hosting
Per-use Billing
Marketing su Facebook
SCENARI APPLICATIVI PER IL CLOUD COMPUTING
Scenari di Applicazione
Questionario
Questionario n°3
In azienda, avete: Sito web istituzionale presso provider Sito web istituzionale in casa Sito web interattivo presso provider Sito web interattivo in casa
PaaSPlatform as a Service È l’evoluzione del «vecchio» hosting Orientato allo sviluppo di applicazioni
«on the cloud» Fornisce funzionalità utili al modello
cloud I protagonisti
Google con AppEngine Windows con Azure Amazon Web Services (Simple Storage
Services)
Un modello di riferimento
I componenti tipici di una applicazione Cloud sono: Front end: load-balanced stateless web servers Middle worker tier: order processing, encoding Backend storage: SQL tables, files, blobs Multiple instances per scalabilità e disponibilità
Front-End
Cloud Application
FrontEnd
HTTP/HTTPS
Storage,DB
relazionale
Load Balancer Middl
e Tier
Scenari applicativi
Applicazione che necessità di alta disponibilità Esempio: A SaaS application
Applicazione che necessita di alta scalabilità Esempio: una applicazione Web 2.0
Applicazione con carico molto variabile Esempio: una applicazione che permette di fare
registrazione Applicazioni con durata breve o non
pianificabile Una applicazione creata per una campagna di
marketing
Scenari applicativi (2)
Applicazione che fa calcolo parallelo Esempio: applicazioni per modelli finanziari o
scientifici Applicazioni che devono scalare rapidamente
Esempio: Start-ups Applicazioni che non si integrano nella
gestione ordinaria del datacenter Esempio: applicazioni che devono essere
installate velocemente Applicazioni che beneficiano di spazio
Esempio: una applicazione che memorizza dati
Un esempio “ludico”
Zynga è famoso per Farmville, il gioco su Facebook
Zynga lancia tutti I nuovi giochi Amazon EC2 (attualmente 12000 istanze)
Se un gioco ha successo, viene portato in casa in una cloud privata, chiamata Z Cloud
Un’azienda vuole creare una applicazione per pubblicare fatture per i propri clienti.
L’azienda ha un ciclo di fatturazione mensile, ha migliaia di utenti (>50000).
Questi ultimi accedono perlopiù (90%) nei due giorni successivi alla pubblicazione.
Demo: PaaS
Calcolo dei Costi
Novità: dal 1° luglio 2011 i costi in-bound di una applicazione Windows Azure saranno azzerati!
SCENARI APPLICATIVI PER IL CLOUD COMPUTING
Conclusioni
Conclusioni
Il Cloud Computing è una opportunità Permette di abbattere i costi
infrastrutturali (a cespite) Tutto orientato a costi operativi (di
gestione) Non è la panacea di tutti i mali
Non è detto che SI DEBBA passare al Cloud
Conclusioni SaaS
Permette l’accesso a strumenti che avrebbero costi di acquisizione molto alti
Tutti hanno una modalità free per provare Sostanzialmente limitato in numero di utenti,
di durata e di numero di oggetti Completo nelle funzionalità
Alcuni punti di discussione La connettività è sempre più di migliore qualità
(ma in effetti c’è ancora molto da fare) Il mobile è sempre più diffuso I gruppi di lavoro sono sempre più eterogenei
Conclusioni IaaS
Accesso ad architetture complesse Scaling delle applicazioni Tutto a costi operativi e non di acquisizione
Minimizzare i costi amministrativi Distribuzione delle funzioni
On-Premise: gestione della lan Aziendale (dominio Windows) File sharing ERP (probabile) Contabilità (forse)
On Cloud: tutti gli altri servizi (non più DMZ) Web E-Mail Portali collaborativi
Conclusioni PaaS
Nuove opportunità nello sviluppo di soluzioni custom
Accesso ad architetture complesse Scaling (out) delle applicazioni Tutto a costi operativi e non di
acquisizione Alta disponibilità Stessi strumenti software
blog:
email:
web:
twitter:
slideshare:
skype:
Links e Q&A
http://blog.codeisvalue.com/
marco.parenzan@libero.it
http://www.codeisvalue.com/
http://www.slideshare.com/marco.parenzan
marco.parenzan
marco_parenzan
http://www.innovazionefvg.net/