La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


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

1 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

2 gg/mm/aaaa Titolo della presentazione 2 Principi del Cloud Computing Tassonomia e principali definizioni

3 gg/mm/aaaa Titolo della presentazione 3 Tassonomia Cloud Computing Use Cases White paper 3.0 Open Cloud Manifesto

4 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 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 Cloud Computing Use Cases - white paper _0.pdf

5 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 _0.pdf

6 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

7 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

8 gg/mm/aaaa Titolo della presentazione 8 Utility Computing vs IaaS Utility Computing ( ) – 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 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

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

11 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

12 gg/mm/aaaa Titolo della presentazione 12 IT tradizionale vs cloud

13 gg/mm/aaaa Titolo della presentazione 13 Provider e piattaforme Cloud Breve rassegna dei più noti provider di Cloud Computing e delle piattaforme proposte

14 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

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

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

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

19 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

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

21 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

22 gg/mm/aaaa Titolo della presentazione 22 LongJump - Approfondimento Pay For Performance: la piattaforma si paga in base al numero di utenti

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

24 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

25 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

26 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

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

28 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

29 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

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

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

32 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

33 gg/mm/aaaa Titolo della presentazione 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 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,...)

35 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

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

37 gg/mm/aaaa Titolo della presentazione 37 Zoho – SaaS vendor! Cloud provider che offre SaaS 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 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”

39 gg/mm/aaaa Titolo della presentazione 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 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) 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 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.

42 gg/mm/aaaa Titolo della presentazione 42 Iniziative nella PA Annunci, pianificazioni, convegni e realizzazioni sul tema Cloud Computing per la PA

43 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 CloudVoice On The Cloud FORUM PA 2009 Innovare per migliorare i servizi e ridurre i costi della PA: il Cloud Computing (13 Maggio) Innovare per migliorare i servizi e ridurre i costi della PA: il Cloud Computing FORUM PA 2010 Ontology Cloud Computing per la comprensione dei bisogni dei cittadini (17 Maggio) Ontology Cloud Computing per la comprensione dei bisogni dei cittadini Cloud Computing nella PA (19 Maggio) Cloud Computing nella PA L'opportunità del Cloud Computing nella PA:come accelerare il processo evolutivo in corso? (18 Maggio) L'opportunità del Cloud Computing nella PA:come accelerare il processo evolutivo in corso?

44 gg/mm/aaaa Titolo della presentazione 44 Cloud Computing per la PA fuori dall'Italia Giappone - Kasumigaseki CloudKasumigaseki Cloud Inghilterra - G-CLOUDG-CLOUD Canada Cloud Computing European Commission - Seventh Framework ProgrammeSeventh Framework Programme Government Cloud di Google Government Cloud Microsoft Cloud Services for GovernmentCloud Services for Government

45 gg/mm/aaaa Titolo della presentazione 45 Negli Stati Uniti Data.gov e apps.gov Esercito americano, dipartimento della difesa Magellan - US department of energy Magellan 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 gg/mm/aaaa Titolo della presentazione 46 Punti di attenzione Aspetti più rilevanti rispetto al panorama visto

47 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

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

49 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

50 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

51 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

52 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

53 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

54 gg/mm/aaaa Titolo della presentazione 54 Sviluppo applicazioni cloud-ready

55 gg/mm/aaaa Titolo della presentazione 55 Cloud in CSI Alcuni aspetti del Cloud Computing calati sul contesto CSI

56 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

57 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

58 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

59 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

60 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

61 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

62 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

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

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

65 gg/mm/aaaa Titolo della presentazione 65 MDD e Model As A Service Risposta dell'approccio MDD allo sviluppo di soluzioni per il Cloud

66 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

67 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

68 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

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


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

Presentazioni simili


Annunci Google