Cloud Computing PaaS, come si utilizza

Abbiamo gia precedentemente introdotto il PaaS (Platform as a Service) che rappresenta una tipologia di servizio cloud in cui, ad essere fornito come servizio, non c'e solo l'hardware, ma anche la piattaforma che astrae l'hardware stesso e permette di usufruire di un set di funzionalita che consentono di ottenere load balancing, storage, reti, virtual machine, deployment. Si tratta come gia visto del passaggio successivo alla cloud IaaS, un approfondimento in questo articolo: Il confine tra PaaS e SaaS in continua evoluzione.

Abbiamo già precedentemente introdotto il PaaS (Platform as a Service) che rappresenta una tipologia di servizio cloud in cui, ad essere fornito come servizio, non c’è solo l’hardware, ma anche la piattaforma che astrae l’hardware stesso e permette di usufruire di un set di funzionalità che consentono di ottenere load balancing, storage, reti, virtual machine, deployment. Si tratta come già visto del passaggio successivo alla cloud IaaS, un approfondimento in questo articolo: Il confine tra PaaS e SaaS in continua evoluzione.

 

Il PaaS offre il vantaggio all’utente di concentrarsi solo ed esclusivamente sullo sviluppo dell’applicazione tralasciando tutte le problematiche legate all’ambiente in cui dovrà essere distribuita, ciò riduce notevolmente il time to market dell’applicazione ed i costi di sviluppo.

 

Spesso accade che il provider di servizi cloud PaaS metta a disposizione dell’utente delle API tramite le quali  l’utente può scrivere applicazioni che interagiscono con il servizio. Le specifiche funzionalità offerte dalla API dipendono dal servizio offerto, e la loro esecuzione viene assicurata dal fornitore del servizio; in aggiunta può essere messo a disposizione dell’utente anche un ambiente di sviluppo.

Windows Azure, il cloud secondo Microsoft

Non è possibile oggi ignorare la cloud, ed anche un big del mercato come Microsoft ha preso coscienza di questa realtà. La soluzione di cloud di tipo PaaS di Microsoft è Windows Azure Compute, che permette di utilizzare il framework .NET per sviluppare applicazioni; utilizzando il web server IIS7,  rende possibile la gestione di applicazioni sviluppate in ASP.NET e Windows Communication Foundation (WCF) e fornisce il supporto anche a PHP e Java.

 

Il fatto che Microsoft, market reference per l’ICT, abbia deciso di sviluppare il servizio cloud Azure, e quindi di investire su questo tipo di tecnologia, la dice lunga sul fatto che l’interesse per questa tecnologia non è legato ad una moda del momento. Sono diverse le aziende che hanno deciso di migrare le proprie piattaforme sul cloud PaaS di Microsoft, e vediamo ora alcuni esempi di soluzioni che hanno avuto successo tale da non far trnare indietro sui propri passi i clienti che ne hanno usufruito.

Caso di studio: 3M VAS su Azure

3M è una multinazionale che opera nel settore dell’industria manifatturiera, dell’high tech ed dell’elettronica. Attualmente con circa 75.000 dipendenti e sedi operative in oltre 60 paesi, 3M sviluppa una vasta gamma di prodotti consumer e industriali. I brand 3M più conosciuti includono Scotch, Post-it, Thinsulate e Scotch-Brite.

Leader mondiale riconosciuto nel settore della ricerca e sviluppo IT, 3M desiderava mettere a disposizione dei clienti la sua esperienza pluridecennale nel campo delle scienze visive, offrendo ai  propri clienti la propria tecnologia Visual Attention Service (VAS) come applicazione basata sul Web, con livelli elevati di prestazioni e scalabilità e bassi costi di infrastruttura e gestione.

Utilizzando la piattaforma Windows Azure, 3M ha creato un’applicazione basata sul Web che permette ai designer di richiamare algoritmi complessi per analizzare l’efficacia di una progettazione in base alla risposta dell’occhio umano. Inizialmente iI prototipo, un’applicazione Web ospitata nei server di data center di 3M, consentiva agli utenti di caricare fotografie di un ambiente fisico o di un design grafico su VAS. Il motore di elaborazione dell’applicazione valutava quindi i contenuti salienti dell’immagine e restituiva una mappa in cui erano indicate, mediante contrassegni simili a quelli utilizzati nelle mappe termiche, le aree che con maggiore probabilità avrebbero attratto l’attenzione dell’osservatore.

La necessità che si è posta però ad un certo punto è stata di raggiungere questo obiettivo: l’applicazione doveva funzionare in maniera efficiente come parte integrante dei processi di design dei clienti 3M. Per diventare un’offerta appetibile, l’applicazione VAS doveva essere disponibile per i clienti in tempo reale, essere in grado di elaborare immagini e restituire risultati quasi immediati, essere rapidamente scalabile nei periodi di picco, ad esempio in prossimità del lancio delle campagne pubblicitarie per le vacanze, e comportare un rischio di investimento iniziale minimo per 3M.

I vantaggi della scelta di 3M

 

 

Windows Azure è un sistema operativo di servizi cloud che funge da ambiente di sviluppo, hosting di servizi e gestione di servizi per la piattaforma Windows Azure. Windows Azure offre agli sviluppatori funzionalità di elaborazione e archiviazione on-demand per ospitare, scalare e gestire le applicazioni Web in Internet mediante i data center Microsoft. Per questo motivo la scelta finale è ricaduta sull’ambiente Microsoft.

 

Quali sono stati i vantaggi della scelta di questa soluzione? In definitiva 3M ha ottenuto:

 

    • Deployment semplice ed efficiente

 

    • Costi ridotti e scalabilità elevata

 

    • Soluzione eccellente per i clienti

 

Con l’hosting dell’applicazione nei data center Microsoft, 3M ha messo un servizio innovativo a disposizione di un pubblico globale, abbattendo al contempo gli investimenti in infrastrutture hardware e attività di gestione continuative. La soluzione, che ha permesso agli sviluppatori di valutare frequenti iterazioni dell’applicazione, ha consentito all’azienda di di eseguire deployment efficienti (accelerando i tempi di commercializzazione del servizio) e ridurre i costi di infrastruttura, ottenendo risultati di qualità superiore in modo più rapido rispetto a un ambiente di sviluppo tradizionale. Il web service altamente scalabile consentirà ai clienti di 3M di ottimizzare le progettazioni in base alle analisi scientifiche e di trarre maggiore profitto dalle campagne di marketing

Struttura dell’applicazione

Per preparare l’applicazione VAS per il rilascio in commercio, 3M ha creato una nuova interfaccia utente in base alle specifiche di Windows Azure. Il team di sviluppo ha utilizzato inoltre l’infrastruttura di sviluppo di Windows Azure per simulare l’ambiente Windows Azure in computer locali, semplificando l’esecuzione e il testing dell’applicazione VAS prima del deployment. Nell’applicazione VAS sono incorporate diverse librerie di software per l’elaborazione delle immagini non gestite e a prestazioni elevate sviluppate da 3M. In figura 1 è possibile vedere una rappresentazione grafica dell’architettura di VAS su Azure.

 

L’interfaccia di VAS e il sito Web utilizzato dagli utenti per accedervi sono stati sviluppati con Microsoft ASP.NET 2.0. Il plug-in del browser Microsoft Silverlight è stato utilizzato per creare controlli dell’applicazione che consentano agli utenti di modificare le immagini inviate al motore di elaborazione VAS. I controlli basati su Silverlight sono incorporati nel framework applicazione ASP.NET. L’applicazione VAS si basa sul servizio Access Control Service di Windows Azure per autenticare gli utenti nel sistema, fornendo l’accesso a vari componenti del servizio in base alle credenziali dell’utente. Per gestire le immagini caricate dagli utenti, è stato scelto Microsoft SQL Azure, una piattaforma di database relazionali basata su cloud creata con le tecnologie di SQL Server, utilizzato anche per distribuire i risultati analitici dal motore di elaborazione delle immagini.

 

 

3M Azure

Google App Engine

Google App Engine è la piattaforma di hosting e sviluppo di applicazioni di Google che consente di creare applicazioni web senza dover gestire l’infrastruttura. Le tue applicazioni costruite su Google App Engine utilizzano la stessa tecnologia che fornisce velocità e affidabilità ai siti web di Google”. Questa è la definizione di Google App Engine fornita da Google stessa.

 

In sostanza però, Google App Engine è l’offerta cloud PaaS di Google. L’accesso e l’utilizzo di questo servizio  è estremamente semplice, in quanto è sufficiente avere o creare un account per far girare le proprie applicazioni direttamente e in modo gratuito sulle infrastrutture di Google, su diversi ambienti di runtime, per applicazioni Java e Python, e con la disponibilità di un datastore per memorizzare i dati.

 

L’utilizzo della piattaforma è inizialmente gratuito, con l’accesso in un secondo momento, a pagamento, a risorse computazionali aggiuntive, di memoria e di banda in funzione delle esigenze. In Google App Engine, le applicazioni sono in esecuzione in un ambiente protetto, una sorta di sandbox, necessario per poter garantire la corretta esecuzione delle applicazioni in un contesto distribuito e dinamico di questo tipo. L’ambiente pone però alcune limitazioni, legate all’impossibilità per le applicazioni di poter accedere in scrittura al file system; le applicazioni possono leggere solo da file che sono caricati in Google App Engine insieme al codice applicativo, ma possono al contempo memorizzare dati utilizzando il datastore, memcache o gli altri servizi offerti come blobstore.

 

 

 

google

 

 

 

Figura 2: Architettura di Google App Engine

 

 

 

Un incentivo agli utenti che scelgono questa soluzione è sicuramente un utile plug-in  che Google fornisce per ambienti di sviluppo Java basati su Eclipse ed un ambiente di simulazione di Google App Engine per applicazioni Python. Queste due features permettono agli sviluppatori di semplificare il processo di scrittura del codice usando un ambiente familiare alla maggior parte degli sviluppatori (Eclipse) e di testare le applicazioni localmente prima di caricarle sulla piattaforma di Google. In aggiunta a questi strumenti (e ne sono presenti molti altri), esistono poi altri strumenti offerti da terze parti che consentono di monitorare lo stato dell’infrastruttura. Per approfondimenti http://www.hostingtalk.it/articoli/cloud-computing/3325/google-app-engine-scopriamo-la-cloud-di-google-per-le-nostre-applicazi?page=2

Il caso di BestBuy e Google AppEngine

Il secondo caso che prendiamo in considerazione è quello di Best Buy un rivenditore al dettaglio multinazionale di elettronica di consumo, prodotti elettronici per ufficio ed abitazione, entertainment software  ed elettrodomestici, 180.000 impiegati circa, oltre 1000 negozi tra USA, Canada, Europa, Cina e Messico.

 

Nel 2008 il team di sviluppatori di Best Buy ha lanciato Giftag, una social application che consente agli utenti  di creare online delle liste dei desideri da condividere con gli amici tramite e-mail, Facebook, Twitter e altri siti di social media. L’applicazione si è dimostrata promettente e con potenzialità dall’inizio al punto da giustificarne lo sforzo di investimento di otto sviluppatori per più di un anno. Al termine dello sviluppo, l’aggiunta di nuove features e di una maggiore scalabilità sono state un’attività impegnativa ed onerosa.

 

Per ridurre i colli di bottiglia, aumentare le prestazioni e semplificate l’iter di manutenzione, Best Buy ha iniziato a cercare, così una nuova piattaforma di sviluppo. Uno dei problemi che possono affliggere questi progetti è che le persone coinvolte spesso si legano ad una particolare tecnologia, impedendo di trovare qualcosa di meglio.

 

Una volta che il team di Best Buy ha switchato a Google App Engine, il risultato è stato immediato. Gli sviluppatori di Best Buy hanno riscritto l’applicazione Giftag da zero, ottimizzando e migliorando il codice originale, mentre hanno dovuto solo procedere ad estrarre, trasformazione e caricare i dati esistenti. L’intero processo ha richiesto 11 settimane e la metà del team di sviluppo originale; questa riduzione dei tempi di sviluppo ha consentito a Best Buy di lanciare l’applicazione prima dello shopping natalizio dell’anno 2008.

 

L’applicazione Giftag ha iniziato a girare senza intoppi, senza necessità di manutenzione. Ma il risultato più importante di passare a Google App Engine, a detta detta dei responsabili di Best Buy è stato di aver trasformato la mentalità del team di Best Buy su come costruire le proprie apps. Questo nuovo approccio ha aperto la porta per lo sviluppo di altre applicazioni molto di più, dando un assaggio di ciò che è possibile fare con la cloud, infatti i passi successivi sono stati proprio il lancio di applicazioni come:

 

    • BBY Scan: un generatori di codici QR;

 

    • BBY Offer: un’ applicazione eal-time app che cattura i dati delle offerte da altri sistemi e gestisce l’upload delle offerte;

 

    • Universal View: un’ applicazione che riconosce il format del device dell’utente collegato (mobile, laptop, tablet, etc.) e adatta la vista del sito alla modalità di schermo del device, senza la necessità per gli sviluppatori di creare siti diversi per schermi diversi.

 

I benefici avuti dal passaggio alla cloud di Google per Best Buy sono stati notevoli, in termini di  riduzione dei tempi di sviluppo e dei costi, oltre che una riduzione del time to market che ha consentito all’azienda di “piazzare” sul mercato la propria applicazione in tempi utili per sfruttare il periodo degli acquisti natalizi

 

Facci sapere cosa ne pensi!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *