PresentazioneCloud

Università Federico II di Napoli

Nuovi paradigmi di distribuzione delle applicazioni

dal Web al Grid, verso il Cloud Computing
Studenti del corso Ingegneria del Software II: Antonio Marino N97/34 - a a N97/45 Docente: Prof. Sergio Di Martino

Planning
Introduzione Cloud Computing Architettura Principali piattaforme Microsoft Azure Specifiche Web-Role Worker-Role Storage Presentazione Demo Conclusioni

Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid, verso il Cloud Computing

Introduzione – it architecture evolution

L'evoluzione dei sistemi per l'information tecnology si possono suddividere in:

Era I : Mainframe (1950 - 1970) Era II: Personal Computer (1970 - 1990) Era III: Network Computing (1990 - ad oggi)

Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid, verso il Cloud Computing

Introduzione – web
E' uno spazio elettronico e digitale di Internet destinato alla pubblicazione di contenuti multimediali

Nasce ufficialmente il 6 Agosto del 1991. Il 30 Aprile 1993 si rende pubblica la tecnologia alla base del Web
● ●

Caratteristiche principali: ● i suoi contenuti sono tra loro collegati ● i suoi servizi possono essere resi disponibili dagli stessi utenti di Internet

La peculiarità dei contenuti del Web è quella di non essere memorizzati su un unico computer ma di essere distribuiti su più computer.

Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid, verso il Cloud Computing

ma si estende all’accesso diretto a computer e a software ● ● ● ● Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .Introduzione – grid I sistemi Grid sono un’infrastruttura di calcolo distribuito. ● il termine “Grid” è stato coniato intorno alla metà degli anni Novanta utilizzati per l’elaborazione di grandi quantità di dati sono caratterizzati da una vasta quantità di risorse permettono la condivisione coordinata di risorse all’interno di un’organizzazione virtuale la condivisione non è limitata solo allo scambio dei file.

Introduzione – cloud Con il termine “cloud computing” si intende un insieme di tecnologie informatiche che permettono l'utilizzo di risorse hardware (Cpu. verso il Cloud Computing . ● ● “Il concetto è analogo a quello di leasing piuttosto che acquisto di un bene” Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid.È simile al SaaS. programmi.Storage) o software distribuite in remoto. librerie. ma non viene utilizzato in remoto un singolo programma. etc. Questo tipo di Cloud è quasi un sinonimo di Grid.Consiste nell'utilizzo di programmi in remoto. ma una piattaforma software che può essere costituita da diversi servizi. spesso attraverso un server web.Si distingue in 3 tipologie: ● SaaS (Software as a Service) .Utilizzo di risorse hardware in remoto. ma con una caratteristica imprescindibile: le risorse vengono utilizzate su richiesta al momento in cui un cliente ne ha bisogno. PaaS (Platform as a Service) . IaaS (Infrastructure as a Service) .

le cui caratteristiche. generalmente offrendo un valore aggiunto come ad esempio applicazioni software. verso il Cloud Computing . ● In determinati casi d'uso il cliente amministratore e il cliente finale possono coincidere. Cliente finale – Utilizza i servizi opportunamente configurati dal cliente amministratore. applicazioni complete) generalmente secondo un modello "pay-for-use". Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. non sono note all'utilizzatore. “the cloud”(nuvola). storage. ● Cliente amministratore – Sceglie e configura i servizi offerti dal fornitore. Il paradigma del cloud computing prevede tre attori distinti: ● Fornitore di servizi – Offre servizi (server virtuali. tra cui posizione geografica.Cloud Computing – cloud e casi d'uso L'implementazione delle risorse è un insieme eterogeneo e distribuito.

Cloud Computing – architettura generale 1/2 L'architettura del cloud computing prevede uno o più server reali. fisicamente collocati presso il data center del fornitore del servizio. verso il Cloud Computing . Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid.

Stack Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .Cloud Computing – architettura generale 2/2 Cloud Computing .

Cloud Computing – vantaggi Grazie alla virtualizzazione si ottiene: ● un flessibile bilanciamento del carico ● tolleranza ai guasti ● scalabilità della potenza di calcolo ● Il cloud offre alta scalabilità e affidabilità degli strumenti di sviluppo e delle applicazioni “in cloud” Notevole riduzione dei costi IT per un azienda.questo comporta l'azienda a concentrarsi su iniziative IT più strategiche piuttosto di gestirle costi del servizio sono basati sul reale utilizzo ● ● Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. che coinvolge sia l'infrastruttura interna e sia l'amministrazione . verso il Cloud Computing .

Cloud Computing – svantaggi ● problemi di violazione della privacy continuità del servizio il rischio di Lock-in. verso il Cloud Computing . ossia il rischio di restare legati al fornitore del servizio causa non portabilità di applicazioni e dati problemi legati alla connettività problemi legati a leggi locali ● es. rischio di sfruttare le elevate capacità di calcolo per compiere azioni illecite (attacchi “force brute”) ● ● ● ● ● Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. In Italia esiste una legge che richiede completa conoscenza sulla locazione dei dati.

verso il Cloud Computing ..com. Sun. IBM. .Cloud Computing – principali Piattaforme ● Amazon Google Microsoft ● ● Altre piattaforme: force.. Oracle. Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid.. HP.

utilizzando hard disk decentralizzati della “nuvola” SimpleDB permette di utilizzare i database di Amazon Simple Service Queue (SQS) per il “dialogo” tra le macchine.Cloud Computing – Amazon Componenti principali: ● ● ● ● EC2 sono i server utilizzati S3 è adibito alla memorizzazione di dati. Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .

Cloud Computing – Amazon Principali Servizi ● Permette agli utenti di noleggiare computer virtuale su cui eseguire i propri applicativi informatici Offre agli utenti il controllo sulla localizzazione geografica Ogni macchina virtuale. OpenSolaris e Windows Server 2003 Simple Storage Service è il sistema di archiviazione in cui dati sono accessibili dalle istanze di EC2 oppure direttamente attraverso la rete Amazon CloudWatch è un servizio web che offre monitoraggio in tempo reale ai clienti di Amazon sul loro utilizzo delle risorse. chiamato "istanza". ● ● ● ● ● Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. EC2 offre istanze basate su Linux. verso il Cloud Computing . funziona come un server virtuale privato.

Cloud Computing – Google Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .

verso il Cloud Computing . Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. Google App Engine (GAE) consente di creare e ospitare applicazioni web GQL è un linguaggio SQL-like per query al Datastore App Engine. per la costruzione e l'ottimizzazione di applicazioni complesse basate su browser. open source.Cloud Computing – Google Componenti Principali: ● ● ● Google Web Toolkit (GWT) è un toolkit di sviluppo.

completamente basato sul cloud computing Più di 2 milioni di aziende hanno già implementato le Google Apps ● ● ● ● Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. Google limita la scrittura di un file anche nella propria directory.Cloud Computing – Google Principali Servizi ● Principali applicazioni office già disponibili gratuitamente Possibilità di creare applicazioni Python & Java A differenza di Amazon. ● Servirsi di DataBase Google per memorizzare qualsiasi tipo di file. verso il Cloud Computing . in cui si possono avere privilegi di root di una macchina virtuale. Prossimo ad uscire Google S.O.

● Microsoft SQL Services: Estendono Microsoft Sql Server nel cloud fornendo un web-based distributed relational database. Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .Cloud Computing – Microsoft Principali componenti & servizi: ● Windows Azure è il kernel di una nuova piattoforma Microsoft che implementa un sistema operativo orientato al web ● Stretta integrazione con Visual Studio grazie ad uno specifico SDK aggiunto all'ambiente di sviluppo.

Microsoft Azure – Introduzione  La piattaforma Microsoft’s Windows Azure è costituita da un gruppo di tecnologie “cloud” Ogni tecnologia fornisce uno specifico set di servizi agli sviluppatori di applicazioni Windows Azure platform può essere utilizzata     sia da applicazioni che vengono eseguite interamente in cloud sia da applicazioni che girano in locale e richiedono servizi cloud Esempio: Applicazioni desktop che accedono a dati distribuiti nel cloud Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .

verso il Cloud Computing .Microsoft Azure – Architettura Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid.

Microsoft Azure – Piattaforma Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .

  ●SQL Azure: fornisce servizi sui dati basati su SQL Server. verso il Cloud Computing . ● Windows Azure platform AppFabric: fornisce i servizi cloud per collegare applicazioni che girano nel cloud o in locale. ● Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid.Microsoft Azure – Piattaforma Le principali componenti della piattaforma azure sono: Windows Azure: Fornisce un ambiente Windows-based per eseguire applicazioni e eseguire lo storing di dati sui server  Microsoft data centers.

Microsoft Azure – Piattaforma Ad alto livello windows azure è una piattaforma per eseguire applicazioni windows e fare lo storage dei dati nel cloud Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .

I servizi computazionali e di storage offerti da azure vengono costruiti sul top della azure fabric. verso il Cloud Computing . una windows azure fabric unifica tutta questa potenza di calcolo di questo gruppo di macchine in uno strato unico.Microsoft Azure – Fabric window azure viene eseguito da diverse macchine tutte collocate in microsoft data center accessibili via internet. Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid.

verso il Cloud Computing .5 volte la taglia di un campo di football! Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid.Microsoft Azure – Data Center Ogni Data Center è 11.

Fabric Controller .

load balancer) Replicato su diverse macchine(da 5 a 7)    . switches.Fabric controller  Software che gestisce tutte le macchine del Azure Fabric Interagisce con le applicazioni attraverso i fabric agent Completo controllo di tutti i componenti hardware(computer.

Controller Fabric  Il controller fabric istalla: .

5-1.2 GB Local Storage: 2+ TB .7GB Network: 100+ Mbps Local Storage: 500GB Fino a CPU: 8 Cores Memory: 14.7 GHz x64 Memory: 1.Ogni Virtual Machine può essere impostata con: Minimo CPU: 1.

Istallazione Piattaforma Windows Azure Su questa infrastruttura viene istallata la piattaforma Windows Azure Compute Storage .

NET Framework. Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing . e Java. • Gli sviluppatori possono creare applicazioni utilizzando . Visual Basic.  utilizzando visual studio o altri development tool. • Queste applicazioni sono scritte in genere in ordinari linguaggi Windows come C#. o altri approcci. C++.Microsoft Azure – Compute Service • Windows Azure compute service è basato su Windows.

Microsoft Azure – Compute Service Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .

Microsoft Azure – Web Role     Accetta richieste http e https Viene eseguito su una virtual machine in cui è istallata IIS 7 Si possono creare Web applications. verso il Cloud Computing . (WCF) Dot net non necessario si possono sviluppare applicazioni utilizzando anche php e java Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. utilizzando tecnologie microsoft come ASP.NET.

Web Role (continua) • Il Web Role e del tutto simile ad una web Application • Può essere utilizzato come un normale server che riceve richieste http/https • È “guidato” dall’utente: • L’utente interagisce con una pagina web che offre un servizio • questo provoca una richiesta al WebRole .

Web Role Esempio .

Microsoft Azure – Worker Role Simile al Web Role ma invece di essere eseguito in IIS viene eseguito nell’ambiente fornito dalla macchina virtuale Viene utilizzato in genere per eseguire background job Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .

Microsoft Azure – Worker Role(continua) • Simile ad un servizio Windows • Viene avviato e rimane sempre attivo • Invece di un timer usa un semplice loop di tipo While(true) e sleep statement • Utilizzato principalmente per effettuare Processi in background .

Tipico modello di applicazione .

● ● ● ● ● Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. Archiviazione supporta scritture atomiche transazionali. code e tabelle. Scalabilità è ottenuta mediante una farm di archiviazione di grandi dimensioni che viene gestita da Windows Azure Storage.HTTPS oltre al protocollo HTTP standard.. verso il Cloud Computing . L'affidabilità dei dati viene ottenuta tramite la ridondanza delle entità stored in più nodi.Microsoft Azure – Storage Windows Azure Storage ● Windows Azure Storage fornisce alle applicazioni la capacità di memorizzare dati con l'utilizzo di blob. Windows Azure Storage supporta l'accesso basato su SSL . Inoltre permette la scelta della posizione geografica per la memorizzazione dei dati..la transazione verrà completata solo dopo che tutte le repliche vengono scritte sulle unità.

naturale passaggio di Sql Server “in the cloud”. l'utilizzo di “Drivers”. verso il Cloud Computing . non sfruttando a pieno la scalabilità offerta dallo storage dell'architettura. Queues: ● Blobs: ● lo storage di Azur e permette. Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. inoltre. dove ogni tabella è composta da un set di entità ed ogni entità da un set di proprietà Fornisce uno strumento affidabile per lo scambio di messaggi tra le nostre applicazioni Fornisce un interfaccia semplificata per la memorizzazione di files. per la memorizzazione persistente di software e configurazioni associate.Microsoft Azure – Storage Tables: ● Fornisce uno storage strutturato. volume di dati in NTFS. Per i tradizionalisti c'è la possibilità di utilizzare Sql Azure.

tables Uno Storage Account può creare più tabelle. Tra le proprietà di ogni entità di una tabella esistono “PartitionKey” e “RowKey” utilizzate per identificare univocamente una entità. verso il Cloud Computing . per definire un ordinamento e per la scalabilità della applicazione Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid.Microsoft Azure – Storage.

Microsoft Azure – Storage. ma una dimensione massima pari a 8KB sul contenuto del messaggio. Le code consentono l'invio sicuro ed affidabile di messaggi in modo semplice ed asincrono. queues Uno Storage Account può creare più code. Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. Non ci sono limiti sul numero di messaggi. verso il Cloud Computing .

blobs Un oggetto di tipo blob fornisce la possibilità di memorizzare qualsiasi tipo di file. Sono disponibili due tipi di blob ● BlockBlob ● PageBlob (quest'ultimo permette lo split di un file in più parti. quindi in diverse posizioni del cloud) Esistono i tipi “container” che sono appunto contenitori di oggetti blobs dove vi è possibile impostare politiche di accesso. Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .Microsoft Azure – Storage.

Microsoft Azure – Demo Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .

● ● ● Ovviamente nazioni. Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. perché ad oggi non esiste uno standard sia per le API che per le applicazioni di supporto Il cloud entrerà a pieno regime tra qualche anno.Conclusioni ● Il cloud sembra una soluzione utile per grandi aziende. dovranno adeguarsi a breve sia per le infrastrutture di rete che per le leggi riguardanti la gestione dei dati di un azienda o di un ente pubblico(che ad oggi faticano a migrare le applicazioni e i dati verso il web). verso il Cloud Computing . in quanto porta notevoli risparmi in termini di apparecchiature e personale addetto alla manutenzione Il rischio di Lock-in è molto alto. come l'Italia.

Nuovi paradigmi di distribuzione delle applicazioni : dal Web al Grid. verso il Cloud Computing .

Sign up to vote on this title
UsefulNot useful