IT ARCHITECTURE: COME PREPARARSI AL CLOUD Stefano Mainetti stefano.mainetti@polimi.it
L ICT come Commodity
L emergere del Cloud Computing e i nuovi modelli di delivery Trend n. 1 - ICT Commoditization (HW TLC SO DBMS Application Server Ent. Portals,.) Trend n. 2 - Nuovi modelli di delivery (In house, Housing/Hosting, Infrastructure Utility, Managed Services, )
Le molte definizioni di Cloud Computng Stile di computing in cui risorse IT sono erogate in modo scalabile a una molteplicità di clienti attraverso le tecnologie Internet e secondo il paradigma As a service Risorse IT standardizzate (servizi, software o infrastruttura), erogate attraverso le tecnologie Internet secondo modelli pay-per-use o self-service National Institute of Standards and Technology (U.S.) Il Cloud Computing è un modello architetturale che abilita l accesso on-demand tramite la rete a un pool condiviso di risorse di elaborazione configurabili (ad es. reti, server, storage, applicazioni e servizi), che possono essere erogate e liberate in modo rapido con contenute attività di gestione
I 3 modelli di delivery Saas (Application) SaaS: per i clienti è possibile utilizzare applicazioni in esecuzione su una Cloud infrastructure accessibile da vari dispositivi client attraverso un interfaccia come un browser Web (ad esempio, una web-based e- mail). Il cliente non controlla l infrastruttura della Cloud con eventuali limitate eccezioni (parametrizzazione e impostazioni di configurazione dell applicazione) PaaS (Platform) PaaS: per i clienti è possibile sviluppare edistribuire nella Cloud infrastructure applicazioni create utilizzando linguaggi di programmazione supportati dal fornitore (ad esempio, Java, Python,. Net). Il cliente non ha il controllo della base della Cloud infrastructure (rete, server, sistemi operativi, storage), ma ha il controllo sulle applicazioni sviluppate e distribuite ed eventualmente sulle configurazioni dell ambiente IaaS (Infrastructure) IaaS: per i clienti è possibile noleggiare capacità di CPU, storage, network, e altre risorse fondamentali che il cliente è in grado di implementare e gestire, che possono includere i sistemi operativi e le applicazioni. Il cliente non ha il controllo dell infrastruttura di base della Cloud, ma ha il controllo su sistemi operativi, storage, la distribuzione delle applicazioni, ed eventualmente selezionare componenti di rete (ad esempio, firewall, load balancer)
Tre modelli molto diversi fra loro Software produttività individuale Software applicativo Software infrastrutturale (Middleware, Application Server, Identity Server, IDE.) SaaS PaaS IaaS Sistema Operativo Virtualizzazione Risorse Server Networking & Firewall Data Center infrastruttura fisica
Modalità di utilizzo del Cloud per un azienda Cloud Interno Cloud Ibrido Cloud Pubblico SaaS La Direzione ICT gestisce completamente l applicazione Una combinazione fra SaaS Pubblico e Privato Un Provider esterno fornisce all azienda l applicazione (eventualmente personalizzabile) PaaS La Direzione ICT gestisce una piattaforma applicativa sulla quale sviluppare e eseguire le proprie applicazioni Una combinazione fra PaaS Pubblico e Privato Un Provider fornisce all azienda una piattaforma applicativa sulla quale sviluppare e eseguire le proprie applicazioni IaaS La Direzione ICT gestisce una infrastruttura fisica di elaborazione che mette a disposizione degli utenti Una combinazione fra IaaS Pubblico e Privato Un Provider fornisce all azienda un servizio di elaborazione su hardware che gestisce internamente
La forza della proposta commerciale Lasciando fare l IT a chi è specializzato, si risparmia Nessun investimento, si paga solo quello che si consuma Finalmente «quelli dell IT» non possono più bloccarti Nessun esigenza di programmazione, solo personalizzazione Niente infrastrutture, nessuna esigenza di assistenza tecnica Nessun upgrade di release
Le caratteristiche tecniche del Cloud Computing Il cliente può disporre unilateralmente di capacità di calcolo (come server time, capacità di banda, spazio storage, ), senza richiedere l'interazione umana con alcun fornitore del servizio Le risorse di calcolo sono messe al servizio di tutti i cleinti utilizzando un modello multi-tenant, con diverse risorse fisiche e virtuali dinamicamente riassegnate in base alla domanda. Il cliente in genere non ha alcun controllo o conoscenza dell'esatta posizione delle risorse. Esempi di risorse includono la RAM, la CPU, lo spazio disco, larghezza di banda della rete e le macchine virtuali. I Sistemi Cloud controllano e ottimizzano automaticamente le risorse, misurandole adeguatamente (ad esempio, lo storage, il consumo CPU, la banda e gli utenti attivi). L'utilizzo può essere monitorato e misurato, per offrire trasparenza al cliente del servizio Self-service On-demand Accesso ubiquo alla rete Condivisione delle risorse Elasticità rapida Servizio misurabile Le capacità sono disponibili in rete e sono accessibili tramite meccanismi standard che promuovono l'uso eterogeneo di thin o thick client (PC, Laptop, Tablet, Smartphones) Le risorse possono essere rapidamente ed elasticamente incrementate per scalare la potenza e rapidamente ed elasticamente liberate per rilasciarla. Per il cliente, la capacità delle risorse disponibili spesso sembrano essere infinite, e può esserne acquistata in qualsiasi quantità, in qualsiasi momento
La tecnica della Virtualizzazione
Cloud Enabled Architecture
Le sfide tecnologiche: Multitenancy La Multi-tenancy è un principio architetturale per cui una singola istanza del servizio (dell applicazione software) è attivabile senza dover replicare architetture isolate dedicate Data Multitenancy Application Multitenancy Infrastructure Multitenancy
I Costi della Multitenancy
Ma cosa è realmente il Cloud? Uno slogan commerciale, che fa leva sull efficacia nei confronti del business Una tecnica informatica, che punta sull innovazione e sull efficienza Rapidità Innovazione Controllo costi Elasticità Standardizzazione Contenimento costi
L Hype Cycle del Cloud Computing
I rischi del Cloud: gestire razionalmente la perdita di controllo diretto "One reason you should not use web applications to do your computing is that you lose control. It's just as bad as using a proprietary program. Do your own computing on your own computer with your copy of a freedomrespecting program. If you use a proprietary program or somebody else's web server, you're defenceless. You're putty in the hands of whoever developed that software." Richard Stallman
Come sta cambiando il Sistema Informativo Persone Applicazioni e servizi interni Soluzioni per l integrazione flessibile Applicazioni e servizi esterni Legacy/ Produttività individuale Monolita Software Three Tier (es. Web tradizionale) Livello di Presentazione Livello di Business Livello Dati Applicazioni Service Oriented Livello di Presentazione Livello di Orchestrazione Livello dei Servizi Livello Dati Web / Mobile Portal Mashup Server / Search Business Process Management Tools ESB / Rules / Registry / BAM ETL / Data Transfer SaaS PaaS IaaS Virtualizzazione/ Cloud Privata Infrastruttura fisica interna Virtual Hosting / Cloud Pubblica Infrastruttura fisica esterna Interno Esterno Fonte: Osservatorio Enterprise 2.0 School of Management - Politecnico di Milano
Cloud e SOA: quale relazione? La SOA è un importante fattore abilitante il Cloud in quanto: Processi, applicazioni e dati sono disaccoppiati fra di loro I punti di integrazione sono ben definiti I dati gestiti e le applicazioni possono essere spostati in-the-cloud Si possono facilmente integrare servizi erogati da Cloud Pubblici
L impatto sull Organizzazione della Direzione ICT CIO Architetture Project Management Nucleo Operativo