La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework di Riferimento CSI Relatore Direzione.

Presentazioni simili


Presentazione sul tema: "Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework di Riferimento CSI Relatore Direzione."— Transcript 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

2 Principi del Cloud Computing
Tassonomia e principali definizioni

3 Tassonomia Cloud Computing Use Cases White paper 3.0
Open Cloud Manifesto

4 Delivery Models - definizioni
Cloud Computing Use Cases - white paper 3.0 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 Models The 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

5 Deployment models - definizioni
Cloud Computing Use Cases - white paper 3.0 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.

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

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

8 Utility Computing vs IaaS
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

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

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.

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

12 IT tradizionale vs cloud

13 Provider e piattaforme Cloud
Breve rassegna dei più noti provider di Cloud Computing e delle piattaforme proposte

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

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$ = $ Costo mensile storage: 524 * 1000 * 0,12$ = $ Costo mensile totale: $ ( $ 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, ..

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) US/windowsazure/resources

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)

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.

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

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 ....

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

22 LongJump - Approfondimento
Pay For Performance: la piattaforma si paga in base al numero di utenti

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 ?”

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

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

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

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, ....)

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

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

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.

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”

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

33 Force.com + Google App Engine
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

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, ...)

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

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 providers/facebook/

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

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”

39 EyeOS – Web Desktop, open source
Cloud computing platform 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

40 Rollbase – solo SEAP Fornisce solo la piattaforma come prodotto a package, non offre la piattaforma come servizio (PaaS) 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

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.

42 Iniziative nella PA Annunci, pianificazioni, convegni e realizzazioni sul tema Cloud Computing per la PA

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)

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

45 Negli Stati Uniti Data.gov e apps.gov Esercito americano, dipartimento della difesa 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

46 Punti di attenzione Aspetti più rilevanti rispetto al panorama visto

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

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.

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

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

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

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

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

54 Sviluppo applicazioni cloud-ready

55 Cloud in CSI Alcuni aspetti del Cloud Computing calati sul contesto CSI

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

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

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

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

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

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

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

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)

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)

65 MDD e Model As A Service Risposta dell'approccio MDD allo sviluppo di soluzioni per il Cloud

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

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

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

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).


Scaricare ppt "Cloud Computing Appunti sul panorama del Cloud Computing attuale e ipotesi di contestualizzazione con il Framework di Riferimento CSI Relatore Direzione."

Presentazioni simili


Annunci Google