Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing...

69
gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework di Riferimento CSI Relatore Direzione / Area CSI

Transcript of Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing...

Page 1: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

1

Cloud ComputingAppunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework di Riferimento CSI

RelatoreDirezione / Area CSI

Page 2: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

2

Principi del Cloud ComputingTassonomia e principali definizioni

Page 3: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

3

Tassonomia

Cloud Computing Use CasesWhite paper 3.0

Open Cloud Manifesto

Page 4: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

4

Delivery Models - definizioni

Cloud Computing: Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. (This definition is from the latest draft of the NIST ...)

Delivery ModelsThe NIST definition of cloud computing defines three delivery models:Software as a Service (SaaS): The consumer uses an application, but does not control the operating system, hardware or network infrastructure on which it's running.Platform as a Service (PaaS): The consumer uses a hosting environment for their applications. The consumer controls the applications that run in the environment (and possibly has some control over the hosting environment), but does not control the operating system, hardware or network infrastructure on which they are running. The platform is typically an application framework.Infrastructure as a Service (IaaS): The consumer uses "fundamental computing resources" such as processing power, storage, networking components or middleware. The consumer can control the operating system, storage, deployed applications and possibly networking

Cloud Computing Use Cases - white paper 3.0http://opencloudmanifesto.org/Cloud_Computing_Use_Cases_Whitepaper-3_0.pdf

Page 5: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

5

Deployment models - definizioni

The NIST definition defines four deployment models:Public Cloud: In simple terms, public cloud services are characterized as being available to clients from a third party service provider via the Internet. The term “public” does not always mean free, even though it can be free or fairly inexpensive to use. A public cloud does not mean that a user’s data is publically visible; public cloud vendors typically provide an access control mechanism ...Private Cloud: A private cloud offers many of the benefits of a public cloud computing environment, such as being elastic and service based. The difference between a private cloud and a public cloud is that in a private cloud-based service, data and processes are managed within the organization without the restrictions of network bandwidth, security exposures and legal requirements that using public cloud services might entail. ....Community Cloud: A community cloud is controlled and used by a group of organizations that have shared interests, such as specific security requirements or a common mission. ...Hybrid Cloud: A hybrid cloud is a combination of a public and private cloud that interoperates. In this model users typically outsource nonbusiness-critical information and processing to the public cloud, while keeping business-critical services and data in their control.

Cloud Computing Use Cases - white paper 3.0http://opencloudmanifesto.org/Cloud_Computing_Use_Cases_Whitepaper-3_0.pdf

Page 6: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

6

Tecnologie e vendor Infrastructure As A Service (IaaS)– Rete, storage, computing, sistemi operativi, middleware– Amazon EC2, GoGrid

Platform As A Service (PaaS): – Application framework, runtime e striumenti di monitoraggio: ambiente

di esecuzione per le applicazioni, incluse le piattaforme infrastrutturali (Index, Portal, Geospatial) e le piattaforme di business (Bpm, Bandi, Tassa auto, …)

– Force.com, VMforce, Google Docs, LongJump, Rollbase, Microsoft Azure

Software As A Service (SaaS)– Applicazioni, servizi di business, software riusabile (mashup)– SalesForce, Google Docs, Zoho, SlideRocket

Page 7: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

7

Development platform

Linguaggi, framework e tool di sviluppo specifici del Cloud Developing for the cloud: la maggior parte dei Cloud

provider prevede tool di sviluppo da scaricare e installare sulla workstation degli sviluppatori

Developing in the cloud: srumenti di sviluppo online ospitati dal cloud. Gli aspetti di design e di configurazione in molti casi vengono svolte online utilizzando applicazioni Web fruibili tramite browser

Page 8: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

8

Utility Computing vs IaaS Utility Computing (1997-2006)– Virtualizzazione, misurazione risorse, computing, network e storage a consumo,

rapidità e bassi costi nell'hosting on demand. IaaS ha alcuni degli aspetti del utility computing Ma IaaS ha caratteristiche che Utility Computing non ha:

Self Service: non è necessaria un'interaizone diretta con gli operatori del provider. Elastic: le risorse disponibili possono essere aumentate o diminuite rapidamente Pay per Use: si paga a consumo e non in base a contratti di hosting annuali o

trimestrali: no investimento di startup Open Standard: l’interfaccia online (web service) utilizzata dall’utente di IaaS (per

chiedere istanze e risorse) segue degli standard aperti (API e Web Application) Ubiquitous: le capability del cloud provider sono disponibli in rete e accessibili

attraverso meccanismi basati su standard aperti

Page 9: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

9

Multi Tenant Wikipedia: multitenancy refers to a principle in software architecture

where a single instance of the software runs on a server, serving multiple client organizations (tenants)

Multitenancy is contrasted with a multi-instance architecture where separate software instances (or hardware systems) are set up for different client organizations.

Livelli diversi di multi tenancy

Page 10: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

10

PaaS vs SEAP (Application) Platform As A Service: host e platform supplier

coincidono, e l'application provider è esterno (off-premise). E' un servizio.

SaaS Enabled Application Platform (Gartner): è un prodotto, non è un servizio. La piattaforma viene fornita come package a chi vuole ospitare la piattaforma nel proprio data center on-premise (private cloud)

Piattaforma dedicata per offrire SaaS in modalità multi-tenant J2ee: isolated-tenancy model of deployment Non è tuttora emerso uno standard per piattaforme SaaS

Più di un provider offre sia (A)PaaS che SEAP Cloud Application Runtime: la piattaforma, che sia SEAP o

PaaS.

Page 11: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

11

(Business) As A Service Obiettivi per l'offerta servizi: Business Agility Drastica riduzione dei tempi di avvio del servizio

– Capacity planning non obbligatorio per l'avvio di un nuovo servizio– Eliminare la necessità di investimento allo startup di nuovi servizi– Evitare di lasciare inutilizzate le risorse su cui si è investito– Avere disponibilità di maggiori risorse al crescere della domanda

Pagamento a consumo: si paga per quello che realmente si è utilizzato Minori costi di gestione dell'hosting complessivo (infrastruttura ed

erogazione) del servizio Rapidità nella messa in linea degli aggiornamenti Maggiori garanzie di disponibilità del servizio grazie e virtualizzazione e

distribuzione geografica dell'infrastruttura

Page 12: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

12

IT tradizionale vs cloud

Page 13: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

13

Provider e piattaforme CloudBreve rassegna dei più noti provider di Cloud Computing e

delle piattaforme proposte

Page 14: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

14

Amazon WS Fornisce IaaS Non utilizza un middleware o un linguaggio specifico:

differenti virtual machine, con diversi OS e middleware Application platform: API specifiche per la gestione delle

virtual machine e per l’accesso a storage (S3) e network Si può sviluppare sia in .Net che in J2EE che in Python. Alcune piattaforme applicative per i pagamenti (PaaS)

esposte come servizi: Flexible Payment Service, DevPay

Page 15: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

15

Amazon Cloud – ipotesi costi Costi risorse Amazon WS

Storage: 0,12 $ per GB/month - Computing: 0,10 $ per CPU/hour Datacenter medio

Storage: 524 TeraBytes – Computing: 128 server (1024 core) Costo mensile computing: 1024 * 24 * 30 * 0.10$ = 73.728 $ Costo mensile storage: 524 * 1000 * 0,12$ = 62.880 $ Costo mensile totale: 136.608 $ (1.639.296 $ l'anno)

Inclusi costi personale di gestione e contratti manutenzione hw Inclusi consumi energetici (elettricità) No obsolescenza dell'hardware Inclusi costi logistica: spazi, raffreddamento, controllo accesso, ..

Page 16: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

16

Microsoft Azure Fornisce IaaS come sistema operativo (Windows Azure) e middleware

(SQL Azure e AppFabric) Anche PaaS: SQL Services, Sharepoint services, Live services, ... Framework di sviluppo basato su .Net. Dominio tecnologico e funzionale non specifici: sviluppo di

applicazioni general purpose . Forte attenzione all’architettura (bus). I vari SaaS offerti da Microsoft (p.e. Office Live, SharePoint Online, ...)

sono messi a disposizione come servizi per lo sviluppo rapido SEAP: viene fornita come piattaforma SaaS per il proprio cloud SaaS: catalogo di applicazioni pubblicabili sul Azure (PinPoint)

http://pinpoint.microsoft.com/en-US/windowsazure/resources

Page 17: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

17

Google App Engine Viene offerta una piattaforma PaaS completa e specifica Non vengono fornite particolari piattaforme infrastrutturali o

di business Dominio tecnologico MOLTO specifico: Web Application

Web 2.0. Framework e linguaggi di sviluppo prefissati: Python e Java (solo di recente).

Dominio funzionale non specifico, se non per una forte contestualizzazione a livello di social network e web 2.0.

Moltissime applicazioni e servizi SaaS disponibili e riusabili (Google Apps, Google API)

Page 18: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

18

Google App Engine La parte Java non aderisce alle specifiche Java EE. Di Java EE

ha solo le servlet, (un minima parte della sottosezione per le web application) e JavaMail

Non ha nè gli altri componenti nè gli altri servizi previsti dalle specifiche Java EE: EJB, JTA, JMS, JNDI, JAX-RPC, JMX, ....

Per la persistenza e realizzare i Data Service usa JPA e JDO basandosi su un'implementazione opern source (DataNucleus).

A livello Java EE copre molte meno specifiche di Tomcat La parte "enterprise" è sulla piattaforma/infrastruttura e non nel

container esposto a chi sviluppa.

Page 19: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

19

Google App Engine Fornisce un plugin per sviluppare in ECLIPSE Fornisce un ambiente server installabile localmente per il

testing dello sviluppo.

App Engine è molto specifico e pensato come abilitante alle applicazioni Web 2.0 pubbliche: è distante dall'idea di Cloud orientato al business (SalesForce, LongJump)

I servizi infrastrutturali e di piattaforma offerti son semplificati al massimo per lo sviluppo di applicazioni web pubbliche

Problematiche tipiche del mondo business ed enterprise non vengono affrontate

Page 20: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

20

Google Apps: offerta SaaS Google non mette a disposizione solo la propria piattaforma

di cloud (App Engine) Google Apps è un'insieme di applicazioni disponibili online

e utilizzabili pubblicamente e gratuitamente (SaaS) in modalità self service GMAIL Google Docs: suite da ufficio per la gestione documenti e fogli di

calcolo Google sites: realizzare pagine web in maniera semplice Google Calendar: agenda, appuntamenti, calendari condivisi ....

Page 21: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

21

LongJump IaaS non è esposto Fornisce PaaS per realizzare SaaS: basato sul middleware

MySQL e Tomcat, ma fornisce anche piattaforme e servizi applicativi riusabili.

Linguaggio e framework predefiniti: Java, JSP, JavaScript, MVC.

User Experience variabile ma in un ambito predefinito. Dominio funzionale non specifico: applicazioni di business

Page 22: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

22

LongJump - Approfondimento Pay For Performance: la piattaforma si paga in base al

numero di utenti

Page 23: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

23

LongJump – Platform As A Service

PaaS: piattaforma di sviluppo ospitata in un Cloud e orientata allo sviluppo di applicazioni offerte come servizio

Multi Tenant– Una unica singola istanza serve tutti gli utenti della piattaforma– Virtual Application Instance: ogni organizzazione ha la propria

partizione (tenant) e vede i propri dati SEAP: LongJump è anche un package fornito come

platform abilitante al SaaS installabile nel proprio cloud– “Buy or build the platform ?”

Page 24: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

24

LongJump – Sviluppo e riuso Sviluppo entity centric organizzato in applicazioni Le applicazioni vengono sviluppate a partire da business

object (entità)– Quando si riusano (importano) applicazioni disponibili a catalogo,

vengono importati anche tutti i business object usati dalle applicazioni stesse

– I business object, all'interno di un tenant, sono visibili e condivisi a tutte le applicazioni del tenant

Page 25: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

25

LongJump – Sviluppo Workflow Design dei workflow con interfaccia model driven (FLASH) online Gli stati e le transizioni sono legati alle proprietà dei business object

Page 26: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

26

LongJump – implementazione SaaS Design

– Definizione dei business object → web-app di configurazione– Interfaccia utente “primaria” → web-app di configurazione– Riuso di applicazioni già disponibili: catalogo delle applicazioni già pronte e

riusabili– Gestione Utenza: quali utenti del proprio tenant possono usare quali

applicazioni e come Development:

– Estensione interfacce utente (custom) → JSP scritte a mano– Sviluppo di Model-View-Controller basato su Java– Lo sviluppo di estensioni tramite browser (jsp, classi java, html, javascript, ...) si

basa su copia incolla da fare in apposite text-area (!!!)– Viene suggerito l'uso di un apposito plugin di Eclipse per lo sviluppo

Page 27: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

27

LongJump - ALM Packaging per la distribuzione delle applicazioni Versionamento dei rilasci Deployment delle applicazioni mirato sui tenant desiderati Catalogo delle applicazioni disponibili, fruibile in modalità

self service sul protale dell'utente Portabilità: i package possono essere distribuiti su più

istanze diverse della piattaforma LongJump (sviluppo, test, collaudo, ....)

Page 28: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

28

LongJump – catalogo delle applicazioni Il catalogo delle applicazioni

rappresenta il patrimonio del cloud in termini di business

Ogni applicazione porta con sé il proprio object model, che diviene condiviso alle applicazioni del tenant

Condivisione tramite business objects NON tramite servizi

Page 29: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

29

LongJump – SOA ?

Non ci sono particolari funzionalità orientate alla SOA Si possono opzionalmente esporre i business objects

tramite servizi autogenerati (SOAP + WSDL) I pilastri sono applicazioni, business object e workflow, non

i servizi La condivisione di informazione avviene tramite i business

objects (visibili in tutto il tenant), non tramite servizi

Page 30: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

30

SalesForce IaaS non è esposto Fornisce PaaS per realizzare SaaS. Nasconde gli aspetti di middleware e mette a disposizione

servizi e componenti domain specific per realizzare rapidamente soluzioni da esporre in modalità SaaS

Dominio funzionale specifico: CRM. Framework e linguaggi prefissati.

User Experience variabile ma in un perimetro definito.

Page 31: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

31

SalesForce - Approfondimento

Nasce come piattaforma domain specific abbastanza blindata, basata su self service e configurazione

Sviluppo software Apex: linguaggio proprietario simile a Java VisualForce: sintassi XML per definire interfacce utente esposte

in Flex o Ajax Tool di sviluppo “Force.com IDE”

Page 32: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

32

SalesForce - Approfondimento La piattaforma, rimanendo in parte domain specific, si è

arricchita e ampliata negli ultimi tempi: VMForce - l’ambito sono sempre i CRM e SalesForce ma le tecniche di

sviluppo sono Java + Spring – VMWare managed application stack AppExchange: molte applicazioni offerte da terze parti e ri-usabili

Page 33: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

33

Force.com + Google App Engine

http://developer.force.com/appengine Force.com fornisce le librerie Python e Java che

consentono alle applicazioni scritte per Google App Engine di accedere alle Force.com Web services API

Altre partnership e federazioni fra cloud provider: Twitter e Amazon S3 Dropio e Amazon S3 Facebook e Amazon EC2

Page 34: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

34

Exo Platform Alla Platform è stato aggiunto (da vers. 3.0) il prodotto Exo

Cloud include una management console del cloud e l'abilitazione multi-

tenant per i prodotti della platform Sopra l'infastruttura e il middleware c'è la PLATFORM

Core services – piattaforme abilitanti il PaaS cloud based services portal technology (RedHat Jboss GateIn in sostituzione ad Exo Portal) development tools

Extended services – piattafome e software (PaaS e SaaS) Piattaforme applicative: (collaboration, knowledge management, ...) Applicazioni SaaS (builtin apps, mashup, portal gadget, ...)

Page 35: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

35

Exo Platform

Piattaforma per realizzare soluzioni integrate Web 2.0 destinate ai social network e a i contesti aziendali (enterprise 2.0)

Piattaforme applicative basate su servizi core abilitanti

Page 36: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

36

Facebook

IaaS non è esposto Piattaforma cloud (PaaS) su cui vendor e utenti creano e

usano migliaia di applicazioni fruibili in modalità SaaS Piattaforma cloud per l'interoperabilità fra applicazioni e

servizi disponibili (SaaS ↔ SaaS) Piattaforma di sviluppo applicazioni per il social network http://forum.developers.facebook.com/ http://aws.amazon.com/solutions/global-solution-providers/faceb

ook/

Page 37: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

37

Zoho – SaaS vendor! Cloud provider che offre SaaS www.zoho.com Mail, CRM, doc writing, fogli di

calcolo, pianificazione e project management, reporting e BI …

Zoho API per integrazione ed estensione

Integrazioni già predisposte con Sharepoint e Google Apps

Page 38: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

38

Zoho nel private cloud SEAP: Zoho prevede la fornitura della propria piattaforma a clienti

interessati ad avere un Cloud Privato (on-premise) dotato di Zoho. Contro: numerosi vincoli infastrutturali → complessità ambienti. Ad Agosto 2009 è stata annunciata una collaborazione tra VMware e

Zoho. Obiettivo: dare un ambiente virtuale preinstallato e basato su VSPhere per

attrezzare un cloud privato (quindi senza uscire dal firewall) con la suite completa di ZOHO

“For customers that wish to run their Zoho applications on-premise, VMware vSphere™ 4 provides the foundation for delivering these applications as a private cloud service inside their own firewall and datacenter — retaining the Web-based simplicity and efficiency benefits of Zoho’s applications while keeping the applications in-house”

http://www.zoho.com/news/zoho_works_with_vmware_to_deliver_private_cloud_software.html

Page 39: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

39

EyeOS – Web Desktop, open source Cloud computing platform http://eyeos.org/ Offre office suite, groupware

applications e un toolkit per sviluppare

Basata su strumenti open source

SEAP: offerta enterprise, da ospitare sul proprio cloud

OpenOffice 2 preinstallato

Page 40: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

40

Rollbase – solo SEAP Fornisce solo la piattaforma come prodotto a package, non offre la

piattaforma come servizio (PaaS) http://www.rollbase.com/ Middleware principale: Apache, Tomcat, MySql, Lucene, Java.

Supporta anche i Db relazionali Oracle e MS SQL Server. Componenti principali e framework sviluppati in casa (Java) Data model, logic model e user interface model vengono definiti

online utilizzando applicazioni web dedicate Elasticità multi tenant:

Caricamento di un tenant su un app-server aggiuntivo: meno di un secondo Single shared database: per dare un'istanza di db aggiuntiva ad un tenant si

usa una procedura amministrativa manuale

Page 41: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

41

Rollbase Application Runtime Engine - la

piattaforma abilitante al Cloud Ospita le istanze di appl. server, i db e

l'applicazione di deployment Models: struttura e comportamento

dei principali componenti che la piattaforma prevede

Sviluppare Applicazioni SaaS: creare componenti secondo i models disponibili e distribuirli sul runtime engine.

Page 42: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

42

Iniziative nella PAAnnunci, pianificazioni, convegni e realizzazioni sul tema

Cloud Computing per la PA

Page 43: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

43

In Italia Il CNIPA / DigitPA non sta dando evidenza strategie particolari

basate sul Cloud Computing L'unica iniziativa trovata è Voice On The Cloud

FORUM PA 2009 Innovare per migliorare i servizi e ridurre i costi della PA: il Cloud Computing (13

Maggio) FORUM PA 2010

Ontology Cloud Computing per la comprensione dei bisogni dei cittadini (17 Maggio)

Cloud Computing nella PA (19 Maggio) L'opportunità del Cloud Computing nella PA:come accelerare il processo evolutivo in corso?

(18 Maggio)

Page 44: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

44

Cloud Computing per la PA fuori dall'Italia

Giappone - Kasumigaseki Cloud Inghilterra - G-CLOUD Canada Cloud Computing European Commission - Seventh Framework Programme Government Cloud di Google Microsoft Cloud Services for Government

Page 45: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

45

Negli Stati Uniti Data.gov e apps.gov Esercito americano, dipartimento della difesa http://www.disa.mil/forge/ Magellan - US department of energy Apps.gov è un'iniziativa recente (Settembre 2009), alcuni servizi

sono ancora "Coming Soon", e offre in modalità AS A SERVICE Business Apps Productivity Apps Cloud IT Service Social Media Apps

Le varie applicazioni e i vari servizi sono venduti online con prezzi differenziati. Ce ne sono CENTINAIA

L'infrastruttura CLOUD è un progetto della NASA (ancora in Alpha): NEBULA Cloud Computing Platform

Page 46: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

46

Punti di attenzioneAspetti più rilevanti rispetto al panorama visto

Page 47: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

47

Lock-In I vari Cloud provider creano un forte lock-in per enti e aziende che

sviluppino soluzioni nei loro cloud Linguaggi di programmazione specifici e non portabili Servizi specifici e non portabili API e SPI specifici e non portabili Storage specifici e poco portabili Database specifici e poco portabili

Le applicazioni scritte per un public cloud spesso non sono portabili sul proprio private cloud. E viceversa.

Le applicazioni realizzate per Google App Engine non assomigliano alle applicazioni sviluppate per SalesForce o LongJump

VMForce: programmazione in Spring come nell'enterprise → primi tentativi di apertura

Page 48: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

48

Sviluppo applicazioni Inm un ambiente multiserver, virtualizzato ed elastico ci sono

problematiche da risolvere: Gestione transazioni Gestione dello stato e della sessione applicativa Accesso allo storage Accesso ai database Gestione cache distribuita

I vari cloud vendor propongono piattaforme e framework per nascondere questi aspetti agli sviluppatori

Amazon non fornisce una piattaforma che risolva in maniera trasparente alcuni di questi aspetti (fornisce IaaS e middleware): infatti è un problema per gli sviluppatori.

Page 49: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

49

Sviluppo applicazioni e J2EE Le applicazioni vengono deployate sulla cloud application platform (non

sugli application server o i container J2EE) e usano le API fornite dalla piattaforma

Framework specifici e non smpre standard– Ci sono poche proposte J2EE (al limite le JSP e la persistenza JPA). Amazon

WS fornisce J2EE come middleware che non affronta tematiche applicative– I framework e i component model sono semplici e specifici di ogni cloud. A volte

anche il linguaggio.– Molti usano Java, altri usano python (Google) o linguaggi custom (Apex)

Ci sono alcuni articoli su JavaEE e Cloud computing -> al momento i cloud provider si sono orientati diversamente

EJB: transazionalità, cache, stato e ciclo di vita dei componenti gestite nel container. Non facile da conciliare con il cloud

Page 50: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

50

Sviluppo applicazioni – stato e transazioni Multiserver environment con elasticità Problema dei memory based lock: lock sulle risorse realizzato a

livello di virtual machine Java Il locking a livello dei thread Java (synchronized) non da più garanzie Alcuni EJB container sono scritti con la sincronizzazione dei thread Le transazioni, probabilmente, vanno gestite a livello di storage e DB Meccanismo dei Locked Timestamp

Problema del contesto applicativo tramite in-memory session La sessione memory based non può più essere utilizzata Usare sistemi di replica della sessione è improponibile nel cloud Il contesto utente (servlet session) e applicativo (servlet context) non possono

essere utilizzati in memory → probabilmente vanno persistiti su storage o DB

Page 51: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

51

Piattaforma – servizi enterprise Le problematiche trasversali ed enterprise non vengono risolte dai singoli

container (istanze virtualizzate) ma affrontate dalle piattaforme del Cloud (cloud application runtime)

La piattaforma per il cloud deve fornire alcuni servizi che solitamente sono risolti dal middleware enterprise.

Messaggistica asincrona: avere l'equivalente di JMS Sicurezza Monitoraggio Logging Cache

DB non relazionali Amazon SimpleDB, Google BigTable, Microsoft SQL Azure, Apache

Cassandra, CouchDB

Page 52: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

52

Multi Tenant e elasticità → middleware Container

i container JavaEE utilizzati diffusamente non gestiscono multi tenancy: isolated-tenancy model of deployment

i container non garantiscono elasticità su un'infrastruttura virtualizzata alcuni aspetti dei container non possono essere "scalati" in maniera elastica in un contesto elastico l'infrastruttura (che ospita i container) deve garantire e

gestire alcuni aspetti enterprise di solito delegati ai container RDBMS

gli RDBMS di per sè non sono multi tenant. Possono essere usati in modalità multi tenant.

Esempio: SalesForce mette il customerid in chiave (primary key), ma è una gestione inefficiente

Evitare di dover migrare i dati a fronte di picchi

Page 53: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

53

Sviluppo applicazioni cloud-ready Software scritto considerando 4 principi di design:

Atomicità – evitare interdipendenze tra chiamate – il risultato di un metodo non deve dipendere dai metodi invocati in precedenza o contemporaneamente

Stateless – l'esecuzione di un metodo può essere fatta su qualunque istanza di uno specifico oggetto dovunque sia eseguita – senza necessità di compensazione e replica

Idempotenza – le istanze di uno specifico oggetto devono essere valide e “ugualmente” usabili su tutti i server

Parallelismo – evitare componenti a grana grossa con ciclo di vita gestito da container non specializzati su cloud e multi-core

I was surprised how many speakers [Michael Groner at Microsoft TechEd 2008] were conveying the same message: CPU speeds are topping out. If you want your applications to run faster and better you are going to have to build your applications in a new way. The solution isn't just to learn how to multi-thread your applications. The solution lies in building your applications into smaller units of code called tasks that can be moved around

Page 54: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

54

Sviluppo applicazioni cloud-ready

Page 55: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

55

Cloud in CSIAlcuni aspetti del Cloud Computing calati sul contesto CSI

Page 56: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

56

CSI e IaaS Avere un hosting più flessibile e economico è un vantaggio

soprattutto interno -> infrastruttura Cloud Hosting per i propri servizi Rapidità nel provisioning degli ambienti: sviluppo, test, collaudo,

esercizio, test utente, esposizione servizi, … Ottimizzazione dell’utilizzo risorse Bilanciamento del carico Distribuzione geografica Backup e monitoraggio

Page 57: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

57

CSI e IaaS

Offrire IaaS significa sia avere un’infrastruttura Cloud, sia offirla come servizio self service e online– Non è semplice competere con cloud provider come Amazon

WS– Molti cloud provider dotati di infrastruttura Cloud orientati al

business non espongono IaaS– Il business non è sempre interessato ad avere server e

middleware sui cui fare deployment di applicazioni sviluppate in .Net, J2EE o Oracle

Page 58: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

58

CSI e IaaS Infrastruttura CLOUD -> è necessaria a PaaS e SaaS?

Per avere elasticità SI → le applicazioni non possono essere erogate in maniera elastica se l'infrastruttura non lo è

Per avere self service SI → le applicazioni non possono essere erogate in modalità self service se l'infrastruttura non ha la stessa dinamicità in termini di setup

Per avere pay per use SI → misurare le risorse utilizzate e far pagare proporzionalmente è un aspetto che va risolto nell'infrastruttura

Per avere bilanciamento e continuità operativa SI Sono comunque obiettivi che non devono essere affrontati e risolti da

subito

Page 59: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

59

CSI e PaaS “Applications without Infrastructure” Servizi infrastrutturali di Piattaforma (Index, Geospatial, Iride, ...)

Gli enti e le aziende che sviluppano software per il Cloud CSI hanno a disposizione la piattaforma documentale, i servizi di georeferenziazione, i servizi di identità digitale e securizzazione, ecc…

Servizi Applicativi di Piattaforma (Bpm, Bandi, Tassa auto, …) Gli enti e le aziende che sviluppano software per il Cloud CSI hanno a

disposizione le piattaforme di business con i dati e i processi che detiene il CSI

Page 60: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

60

CSI e PaaS Il CSI in questo modello non fornisce le proprie piattaforme

sotto forma di package → le mette a disposizione come servizio del cloud (PaaS).

Esempi: Index non viene distribuito come package da installare: è erogato

come servizio Tassa Auto non viene distribuito come package da installare: è

erogato come servizio GeoPlatform, con tutti i dati, non viene distribuita come package:

è erogato come servizio

Page 61: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

61

PaaS multi tenant Per gli enti e le aziende si prevede un'unica piattaforma (multi

tenant) che può essere suddivisa in diverse partizioni (tenant) che condividono caratteristiche e informazioni con il resto del Cloud

Esempio 1: un Comune del Piemonte chiede di avere la propria partizione di Index (Tenant) per usarla nel gestionale offerto a servizio sul Cloud del CSI

Esempio 2: una Regione decide di riusare la suite Tassa Auto chiedendo una propria partizione (Tenant) e attivandone l'applicazione e i servizi relativi

Page 62: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

62

CSI e SaaS

Il software sviluppato per il Cloud CSI come SaaS viene erogato in una modalità a servizio in base all'utilizzo reale

Ha a disposizione i servizi di business presenti nel Cloud CSI (a loro volta software as a service)– Servizi di NAO– Servizi dei Tributi– Servizi di Protocollo

Page 63: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

63

CSI e framework di riferimento Molti dei cloud provider analizzati non hanno linguaggi di sviluppo e

tool innovativi dal punto di vista della rapidità. La rapidità di sviluppo è data da Riuso dei servizi disponibili e dalla

piattaforma del cloud:– Comportamenti e caratteristiche comuni offerti da piattaforma e framework– Configurazione, configurazione, configurazione …– Semplicità dei tool e dei linguaggi

C’è un limite: in molti casi bisogna conoscere un linguaggio di programmazione, scaricare tool di sviluppo e imparare tecniche specifiche del cloud provider (API di sviluppo)

Page 64: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

64

CSI e framework di riferimento

Risposta Framework di Riferimento CSI sullo sviluppo:– Dare strumenti per lo sviluppo rapido basati su linguaggi di alto

livello e indipendenti dalle specificità tecnologiche– Guidare lo sviluppo e ridurre le competenze richieste per

realizzare software • destinato al cloud CSI (SaaS)• che usi al meglio le piattaforme del CSI (PaaS) e le potenzialità del cloud

CSI (infrastruttura Cloud)

Page 65: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

65

MDD e Model As A ServiceRisposta dell'approccio MDD allo sviluppo di soluzioni per il

Cloud

Page 66: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

66

La metafora Model As A Service Le aziende vogliono avere infrastrutture, piattaforme e

software: il cloud computing li offre come servizi con un nuovo modello di business

Le aziende non chiedono dei modelli: offrirli come servizi può sembrare “particolare”

Il Modello crea e definisce il software -> Il software e il modello coincidono -> SaaS e MaaS sono equivalenti

Model As A Service è una metafora per il Software AS A Service realizzato rapidamente con modelli

Page 67: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

67

Sviluppo per il Cloud e MaaS Il modello definisce l’applicazione completa in maniera

indipendente dalla tecnologia Non si usano linguaggi di programmazione Non ci sono API specifiche da conoscere Non si scaricano tool: la modellazione viene fatta usando

applicazioni web esposte online e fruibili tramite i comuni browser

Non c’è building, packaging e deployment prima del rilascio o comunque visibile all'application provider: si definisce un modello e si promuove a software/servizio

Page 68: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

68

MaaS e PaaS I modelli sono indipendenti dalla tecnologia ma sono molto

legati alle piattaforme: BPM Flux, ECM Index, Bandi, Tassa Auto, … ai servizi di business: Nao, tributi, protocollo, CUP ai domini specifici: trasporti, agricoltura, sanità, …

Accelerazione e semplificazione: lo strumento di modellazione rende rapido e semplice l’utilizzo delle piattaforme (PaaS) e dei servizi (SaaS) che il CSI offre e ospita

I servizi esposti dalle piattaforme e i servizi di business offerti dal CSI vengono utilizzati nei modelli in maniera chiara e intuitiva

Page 69: Gg/mm/aaaa Titolo della presentazione 1 Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework.

gg/mm/aaaa

Titolo della presentazione

69

MaaS e infrastruttura Cloud Il software realizzato con MDD (MaaS) soddisfa tutti requisiti, le

esigenze e le best practice previste dall’infrastruttura Cloud. Uso della rete e protocolli di interoperabilità Accesso allo storage e ai database Gestione dello stato e della sessione applicativa Gestione delle transazioni Gestione della Cache

Il software realizzato con MDD (MaaS) permette di sfruttare al meglio le potenzialità dell Piattaforma Cloud (cloud application runtime).