20120525 seminario uni bo reti calcolatori - imola informatica - cloud computing and software...
-
Upload
filippo-bosi -
Category
Technology
-
view
316 -
download
0
Transcript of 20120525 seminario uni bo reti calcolatori - imola informatica - cloud computing and software...
CLOUD COMPUTING E ARCHITETTURE SOFTWARE: QUALI IMPATTI SULLO SVILUPPO DELLE APPLICAZIONI?
Emanuele Barrano – [email protected] Filippo Bosi – [email protected]
Vincenzo Laudizio – [email protected]
Seminari ICT corso ReB di Calcolatori – Universitá di Bologna -‐ 25 Maggio 2012
Agenda
› Cloud Overview › Approcci del Cloud Compu2ng › Conseguenze dell’u2lizzo di Pia:aforme Cloud (PaaS) sullo sviluppo di applicazioni
› Demo – Sessione pra2ca
› Conclusioni
2 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
Cloud CompuBng: ConceW e Parole Chiave
› disponibilità di risorse IT “on demand”
› affidabilitá delle risorse su richiesta › virtualizzazione di componen2 IT
› allocazione “veloce” di risorse › archite:ure orientate all’alta scalabilitá
3
ConceK Parole Chiave
› On demand
› Reliability › Virtualiza2on › Provisioning › Scalability
F
Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
Cosa è il Cloud CompuBng?
› Dal punto di vista dello sviluppo soPware, il Cloud Compu2ng é un’infrastru:ura di sviluppo e di esecuzione che offre
› una interfaccia utente che nasconde le complessità di ges2one a basso livello dell’infrastru:ura
› riduzione dei cos2 di amministrazione e dei rela2vi skill necessari
› un insieme di servizi orienta2 all’amministrazione dell’infrastru:ura stessa
› alta scalabilità, preconfigurata
4 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
Cloud CompuBng ConBnuum
› Il Cloud può essere visto come un con2nuum di servizi su differen2 livelli, dall’infrastru:ura al soPware
5
› Infrastructure: fornitura di hardware su cui generalmente si ha controllo sul Sistema Opera2vo
› PlaXorm: ambien2 di più alto livello per i quali gli sviluppatori realizzano applicazioni custom
› SoPware: soPware specializzato reso disponibile a:raverso internet
Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
Un esempio di IaaS – Amazon EC2 (I)
› Specifiche tecniche › AMI (Amazon Machine Image)
› Immagini di macchine virtuali preconfigurate e ready-‐to-‐go › Amazon S3 (Simple Storage Service)
› Infrastru:ura di storage proprietaria di Amazon che funge da repository per lo storage delle AMIs
› Amazon EC2 (Elas2c Cloud Compu2ng) › Applicazione Web che perme:e l’amministrazione delle macchine virtuali offerte all’utente finale
› Schema “Pay per Use” basato su › SLA › Traffico da2 › Consumo di CPU › Spazio di Storage u2lizzato
6 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
IaaS – Amazon EC2 (II)
7
› Passi necessari per l’u2lizzo › Un account Amazon
EC2 › Connessione internet
e un browser › Startup dell’AMI › Amministrazione da
interfaccia utente amazon
Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
IaaS – Amazon EC2 (III)
› Cara:eris2che di ges2one › Capacità di auto-‐configurazione dell’infrastru:ura hardware in termini
di › CPU › RAM › Storage › Network firewall
› Shell remota SSH › Disponibilità di template di immagini di macchina (Amazon AMI) con
un approccio di condivisione di 2po “Community” › Disponibilità – nell’ambiente – di una serie di macchine preconfigurate
da Amazon stessa › Monitoraggio delle risorse in real-‐2me
8 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
PaaS – Google App Engine
› h:p://code.google.com/appengine › Google App Engine perme:e di costruire e far girare
applicazioni web, sullo stesso sistema che Google u2lizza per le proprie applicazioni
› Sviluppo rapido › Messa in produzione rapida › Amministrazione semplificata › Non ci si deve preoccupare dell’hardware, dell’installazioni di
patch nel sistema opera2vo o nel middleware, né dei backup › Python, Java, Go (h:p://golang.org) › Data Store di 2po NoSQL (“BigTable”) › Scalabilità automa2ca delle risorse › Orientato all’esecuzione di algoritmi specializza2, quali ad
esempio il Map-‐Reduce
9 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
PaaS – CloudBees
› h:p://www.cloudbees.com
› La pia:aforma CloudBees offre la possibilità di effe:uare build, test ed esecuzione di applica2vi Java EE
› Offre › Una pia:aforma di sviluppo
› Maven repository › sistema di versionamento dei sorgen2: SVN Git
› sistema di Con2nuous Integra2on preconfigurato
› Una pia:aforma di esecuzione di applicazioni J2EE e Spring › load balancing › scalabilità › alta affidabilità
10 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
PaaS – RedHat OpenShiT
› h:p://openshiP.redhat.com › La pia:aforma OpenShiP offre supporto di sviluppo ed esecuzione mul2-‐
linguaggio e mul2-‐framework, ed è un PaaS basato principalmente sull’offerta di pia:aforme soPware di RedHat.
› Costruito su RHEL (RedHat Enterprise Linux) › Selezione di linguaggi, framework e middleware
› Approccio “cartdrige”, che perme:e allo sviluppatore di selezionare i componen2 che interessano
› Java, Ruby, PHP, Python, node.js › MongoDB, JBoss, Jenkins… › Ruby on Rails, Drupal, Wordpress, MySQL
› Questa pia:aforma è un esempio di come nell’arco di 6 mesi un’offerta PaaS possa cambiare radicalmente › Es. fino a qualche mese fa c’erano 3 offerte commerciali e era disponibile
SOLO un’interfaccia web › Oggi interfaccia a linea di comando, disponibilitá di una versione open
source e nessuna offerta specializzata, il tu:o fuori dal controllo degli sviluppatori
11 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
ImpaW del Cloud CompuBng sullo sviluppo di Applicazioni
› Gli impaK sono diversi, a seconda del livello di servizi Cloud che si u2lizza › Sviluppo su IaaS
› + Il programmatore ha a disposizione un’infrastru:ura virtualizzata pronta all’uso.
› + Immagini preconfigurate funzionan2 su hardware virtualizzato › + Possibilitá di o:enere configurazioni avanzate a:raverso una semplice
interfaccia utente › -‐ Necessità di ges2re i componen2 infrastru:urali (ad es. aggiornamen2 del
Sistema Opera2vo, applicazione di patch di sicurezza, ecc.) e del middleware (ad es. il web server, gli applica2on server, ecc.)
› Sviluppo su PaaS › + Il programmatore può sfru:are tuK i vantaggi di una pia:aforma che
nasconde ogni de:agli dell’infrastru:ura virtuale › -‐ Vi sono maggiori limitazioni imposte dalla definizione stessa della pia:aforma
da parte del provider (sia inizialmente, sia in corso d’opera, ad es. evoluzioni della pia:aforma)
› Sviluppo su SaaS › Normalmente sono applicazioni giá pronte all’uso: non c’é necessitá di
sviluppo (questo significa che gli sviluppatori non avranno alcun impa:o )
12 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
Sviluppo su IaaS (I)
13
› Può essere definita come “virtualizzazione avanzata” › Controllo sul soPware e sull’infrastru:ura hardware (virtuale) › Possibilità completa di autoconfigurazione dello stack
soPware sull’infrastru:ura cloud › + Disponibilità di template precostrui2, possibilità di effe:uare tuning
e customizzare i template (ad es. parto da uno stack standard LAMP, o uno standard stack J2EE e poi opero modifiche in piena libertà)
› -‐ Vi è necessità di mantenere nel tempo la configurazione dell’infrastru:ura (ad es. patch di sicurezza, aggiornamen2 del sistema opera2vo, aggiornamen2 del middleware)
› Sostanzialmente, al provider IaaS è affidata la “sola” ges2one dell’hardware fisico e dell’infrastru:ura di virtualizzazione.
Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
Sviluppo su IaaS (II)
› -‐ L’indipendenza dall’hardware implica alcuni cos2 › ad es. performance delle virtual machine rispe:o all’u2lizzo dire:o dell’hardware fisico (20% di overhead, approssima2vamente)
› + Di contro, la virtualizzazione perme:e di o:enere una scalabilità molto flessibile. Si può fare upgrade della potenza di computazione, a seconda delle esigenze dell’applicazione.
› -‐ Il programmatore deve avere, tra le proprie conoscenze, la capacità di ges2re ad un certo livello il sistema opera2vo, il middleware e in generale l’ambiente di esecuzione dei propri programmi
14 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
Sviluppo su PaaS (I)
› E’ un servizio Cloud che offre › Pia:aforme soPware general-‐purpose complete
› J2EE › MicrosoP .Net › LAMP Stack
› L’infrastru:ura (Virtuale?) é completamente nascosta allo sviluppatore › …ecce:o la possibilità di monitorare le performance e… l’addebito dei cos2 (basato solitamente sull’u2lizzo di risorse infrastru:urali)
15 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
Sviluppo su PaaS (II)
› Il programmatore non si deve più (pre)occupare › dell’infrastru:ura che supporta gli ambien2 di sviluppo e di esecuzione › della configurazione di
› Hardware › soPware (lo stack soPware viene aggiornato automa2camente dal fornitore della pia:aforma)
› Il programmatore si può concentrare sulle sole aKvità di sviluppo sulla pia:aforma offerta dal provider
› “Scompaiono” conceK di base dei sistemi soPware › Sistema opera2vo › File System › Applica2on Server › …
16 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
Cloud in azione…
17
DEMO › Creazione ed u2lizzo di un’infrastru:ura IaaS su Amazon EC2 › Creazione ed esecuzione di una web applica2on su OpenShiP (PaaS) › Creazione ed esecuzione di una web applica2on su CloudBees
› …collabora2vamente
Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
Conclusioni
› Evoluzione dell’offerta di servizi Cloud › IaaS
› Da un ambiente standard di sviluppo e deploy di applicazioni, il programmatore trae beneficio di virtualizzazione avanzata/meccanismi di templa2ng/interfaccia di management
› PaaS › Il programmatore trae beneficio da una pia:aforma completamente
virtualizzata › Gli IaaS sono per i system manager, ciò che i PaaS sono per i
programmatori/architeK
› I PaaS sono la “vera” rivoluzione per gli sviluppatori (gli IaaS sono semplicemente un passo evolu2vo della virtualizzazione) › Un programmatore non dovrà più occuparsi dei de:agli infrastru:urali per
il funzionamento della pia:aforma (e, di conseguenza, della propria applicazione)
› Un programmatore si dovrà preoccupare solo di un’aKvità: lo sviluppo applica2vo
18 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
19
DOMANDE?
Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
RiferimenB
› Lista di Cloud PaaS provider per java › h:p://gevaperry.typepad.com/main/2011/10/java-‐paas.html
› Heroku (pia:aforma PaaS di SalesForce) › h:p://www.heroku.com/ (Salesforce)
› Wikipedia › h:p://en.wikipedia.org/wiki/PlaXorm_as_a_service
20 Cloud CompuBng e ArchiteSure SoTware Seminari di ReB di Calcolatori – Universitá di Bologna, 25 Maggio 2012
More than 20 years of experience on Enterprise IT
Consul2ng and Skill Transfer on Architecture, IntegraBon and Process
OMG Influence Member, JSR 312 Expert Group, CSI, WWISA, OpenESB Key Partner, NetBeans Strategic Partner
h:p://www.imolinfo.it/index_en.php
SemanBc Web company, now!
Applied research, training, projects
h:p://www.sensiblelogic.it
The online italian community dedicated to Java 10 years of ar2cles, publica2ons, books, events, training From programmers to architect More than 1.000.000 read pages per month h:p://www.mokabyte.it
21