Linux Day 2009 24/10/09 Cloud Computing Diego Feruglio
Cos è il Cloud Computing? An emerging computing paradigm where data and services reside in massively scalable data centers and can be ubiquitously accessed from any connected devices over the internet. Businesses, from startups to enterprises Web 2.0- enabled PCs, TVs, etc. 2
Cos è il Cloud Computing? A computing cloud is a set of network enabled on demand IT services, scalable and QoS guaranteed, which could be accessed in a simple and pervasive way. 3
Definizione di Cloud Computing Tra le varie definizioni quella del NIST (National Institute of Standards and Technology) è particolarmente completa: Cloud computing è un modello per abilitare un accesso tramite rete conveniente, on-demand ad un pool condiviso di risorse computazionali configurabili (e.s., network, server, storage, applicazioni, e servizi) che possono essere rapidamente acquisiti e rilasciati con un minimo sforzo di gestione o interazione con il fornitore di servizi Questo modello di cloud promuove la disponibilità ed è composto da cinque caratteristiche essenziali, tre modelli di servizio e quattro di deploy 4
5 Caratteristiche Essenziali del Cloud Self-service on demand Accesso alla rete sempre disponibile Gestione delle risorse in pool Indipendenza dalla localizzazione fisica Omogeneità della piattaforma Elasticità e rapidità Servizio misurabile 5
3 Modelli di Servizio del Cloud Cloud Software as a Service (SaaS) Accesso e uso delle applicazioni di un provider tramite rete Cloud Platform as a Service (PaaS) Deploy di applicazioni di un provider su Cloud Cloud Infrastructure as a Service (IaaS) Affitto di capacità di calcolo, di storage, di rete e di altre risorse fondamentali di calcolo Questi modelli per essere considerati cloud devono essere deployati su un infrastruttura di tipo cloud che ha le caratteristiche essenziali 6
Cloud Infrastructure SaaS Cloud Infrastructure PaaS SaaS Architetture del Modello di Servizio Cloud Infrastructure IaaS PaaS SaaS Software as a Service (SaaS) Architectures Cloud Infrastructure PaaS Cloud Infrastructure IaaS PaaS Platform as a Service (PaaS) Architectures Cloud Infrastructure IaaS Infrastructure as a Service (IaaS) Architectures 7
4 Modelli di Deploy del Cloud Cloud Privato Proprio o affittato ma dedicato ad una sola organizzazione Community Cloud Infrastruttura condivisa da una communità specifica Cloud Pubblico Venduto al pubblico, infrastruttura ad ampia scala Cloud Ibrido Composto da due o più modelli di Cloud 8
Caratteristiche Comuni del Cloud Il Cloud Computing ha anche le seguenti caratteristiche: Scala massiva Virtualizzazione Non-stop computing Free software Distribuzione geografica Service oriented software Autonomic computing Tecnologie avanzate per la gestione della sicurezza 9
Tassonomia di Cloud Computing 10
Cloud Computing per esempi Google App Engine Softwareplatform-as-aservice Appcomponents-asa-service Virtual- Infrastructureas-a-Service Physical infrastructure Hardware Resources GCDS Akamai Compute Storage Networking Content Delivery 11 11
Cloud Computing per esempi 12
Esempio di Cloud (Open Cirrus) 13
Esempio di Cloud (Nebula) 14
Confronto architetture Google e Amazon 15
Motivi dell adozione del Cloud Computing Ci sono diversi benefici che si possono ottenere con l adozione del Cloud Computing: Riduzione dei costi Minori consumi di energia elettrica Minor impatto ambientale (GreenIT) Maggior flessibilità per il delivery delle applicazioni Continuità del servizio Flessibilità per l acquisizione delle risorse 16
Utilizzo generale Quale tipologia di Cloud voglio utilizzare? Infrastruttura (IaaS): Amazon (EC2, S3), GoGrid, 3TERA Piattaforma (PaaS): MS Azure, Google (AppEngine) Servizi (SaaS): SalesForce.com, Flickr, Facebook, Google (Gmail) In futuro: Utility computing 17
Utilizzo personale E la singola persona? Applicazioni di uso diretto: Google Apps, Flickr, Facebook, Animoto, YouTube Minori costi hardware e pacchetti software (payper-use) Storage illimitato e backupato Facilità d accesso (device e rete) In futuro: Utility computing 18
Utilizzo sviluppatore E per chi sviluppa? Nuovi ambienti dedicati qualche esempio: Windows Azure Tools for Microsoft Visual Studio Apex per SalesForce.com Google App Engine Aptana (RoR, Python, PHP) Heroku (Cloud Platform for Ruby) Engine Yard per RoR Linguaggi: PHP Python Java Ruby 19
Cloud Computing sperimentale in CSI-Piemonte Progetto di R&S sul Cloud Computing Infrastruttura per Cloud privato Strumenti Open Source Prima fase focalizzazione su infrastruttura: Eucalyptus per compatibilità con API di Amazon Strumenti di gestione WEB (ElasticFox) Predisposizione di immagini Linux e MS Windows Seconda fase focalizzazione su applicazioni: AppScale (Google App Engine Open Source) 20
L architettura di Eucalyptus Amazon EC2 and S3 Interface Client-side API Translator Database Cloud Controller Cluster Controller Node Controller 21
ElasticFox 22
Segnalazioni Nicholas Carr: The Big Switch Intervista di Stallman al Guardian NIST Definition of Cloud Computing Portale di applicazioni USA: Apps.Gov Eucalyptus (open.eucalyptus.com) NEBULA (nebula.nasa.gov) 23
Grazie! Diego.Feruglio@csi.it 24