Docker, Container e Big Data: parliamone con AWS [INTERVIEW]

AWS_Interview
03 giugno 2015
0 commenti

Cloud, Container, microservizi e Big Data sono al centro dell’attenzione per i decision maker di tantissime aziende.

Ne abbiamo parlato con Danilo Poccia, Technical Evangelist di AWS che abbiamo incontrato alla CloudConf a Torino.

Ciao Danilo, ci spieghi il tuo ruolo come Technical Evangelist di Amazon Web Services (AWS)?

Come Technical Evangelist in Amazon Web Services (AWS), lavoro con startup e aziende di qualsiasi dimensione per sviluppare o migrare le loro soluzioni IT nel Cloud. Metto a disposizione la mia esperienza per aiutare i clienti a “costruire” le proprie idee utilizzando la piattaforma AWS, focalizzandomi sugli impatti dei sistemi Mobile/IoT e sull’analisi dei dati.

Qual era l’argomento del tuo speech alla CloudConf a Torino?

La Cloud Conf è stata una giornata entusiasmante! Durante il keynote ho spiegato come disegnare architetture a microservizi usando container Docker e servizi come AWS Lambda, che permette di eseguire il proprio “codice” gestendo in modo automatico le risorse computazioni. Decomponendo una applicazione in piccole parti indipendenti si semplifica lo sviluppo e si migliorano la gestione e la sicurezza.
Nel pomeriggio ho tenuto una presentazione sui servizi Mobile di AWS, mostrando un’applicazione che permette di interagire direttamente da un dispositivo mobile con i servizi di storage e database di AWS, in modo da avere un back-end “senza server” con costi ridotti, ma in grado di scalare e crescere assieme al proprio business.

Secondo te i Container sostituiranno le tradizionali VM? Pensi che Docker rappresenti il futuro della virtualizzazione? 

Io credo che entrambe le tecnologie, container gestiti da un Sistema Operativo e virtual machine (VM) eseguiti su un Hypervisor, conviveranno e si evolveranno nel futuro perché rispondono ad esigenze differenti. L’aspetto più interessante dei container Docker è che forniscono un formato standard per la distribuzione e il deployment delle applicazioni. Per questo abbiamo integrato il supporto per Docker in AWS Elastic Beanstalk, un servizio – usato da clienti come Nike e Coca Cola – che permette di fare un deployment rapido di un’applicazione partendo dal codice sorgente o, appunto, da container Docker. Per semplificare la gestione dei container al crescere dei volumi, abbiamo introdotto Amazon EC2 Container Service (ECS), con un supporto integrato da altri servizi e funzionalità AWS come l’Elastic Load Balancing, i volumi EBS e i ruoli IAM.

Cosa sono i Big Data per Amazon e quali scenari di integrazione infrastrutturale vedi in ambito Big Data?

Le soluzioni IT, in particolare negli ambiti Mobile e IoT, generano molti dati che possono essere utili per fornire un servizio migliore ai propri utenti; ma estrarre informazioni da una grossa mole di dati può essere costoso. Amazon Web Services fornisce strumenti in grado di analizzare dati che per volumi, variabilità o velocità non riescono ad essere elaborati con strumenti IT tradizionali.
L’ecosistema di soluzioni di analisi di AWS è specificamente progettato per gestire questa crescente quantità di dati e per mettere in evidenza le modalità in cui la propria azienda può raccoglierli e studiarli. Alcuni esempi concreti di soluzioni AWS: Amazon Redshift fornisce una soluzione di “data warehouse” senza costi iniziali che può crescere assieme ai dati da analizzare oppure Amazon Elastic MapReduce (EMR), un framework Hadoop gestito che può essere utilizzato solo per poche ore o essere sempre attivo. Un altro esempio è Amazon Machine Learning, che permette agli sviluppatori di creare in modo semplice modelli e previsioni senza dover conoscere gli algoritmi e le tecnologie di Machine Learning (ML) utilizzati dal servizio stesso. Il servizio Amazon Machine Learning è stato disegnato partendo da un servizio simile che Amazon utilizza al proprio interno. Ci siamo infatti resi conto che utilizzare algoritmi di analisi complessi richiede “skill” che non è facile avere all’interno di ogni team di sviluppo. Rilasciando il servizio Amazon Machine Learning abbiamo reso disponibili queste potenzialità per tutti gli sviluppatori.

Pensi che l’approccio dell’architettura a microservizi sia quello migliore? Quali vantaggi e svantaggi?

Le metodologie con cui si disegnano le applicazioni si sono evolute negli anni, probabilmente assieme alle potenzialità che Internet e i servizi Cloud mettono a disposizione. Ogni microservizio copre un aspetto specifico legato al business e ha un contesto definito da un’interfaccia applicativa. Utilizzando una architettura a microservizi è quindi possibile modificare o addirittura riscrivere completamente uno dei componenti dell’applicazione in tempi molto più brevi di quelli di un’architettura monolitica tradizionale, eventualmente cambiando lo stack tecnologico utilizzato per quel particolare microservizio, ad esempio da Java a Scala, o da Ruby a Node.js. In questo modo è più semplice per un’azienda adottare tecnologie innovative e attrarre talenti nel proprio staff. D’altra parte i microservizi fanno crescere di alcuni ordini di grandezza i componenti da gestire, penso in particolare a test, deployment e monitoring. Paradossalmente questo non è un aspetto negativo, perché di solito favorisce l’adozione di tecniche di automazione e avvicina le aziende alle pratiche di Continuous Integration e Continuous Delivery che le rendono più agili nello sviluppo e più rapide nella messa in produzione di nuove funzionalità.

Quali saranno i trend del Cloud nei prossimi due anni?

Il Cloud Computing ha cambiato il modo di pensare l’IT. L’offerta di AWS permette alle startup di partire con investimenti iniziali ridotti e alle aziende di sperimentare in modo continuo per innovare. AWS sta favorendo una lunga serie di innovazioni in diversi settori a livello europeo per aiutare le aziende, dalle più piccole alle più grandi, dalle startup alle imprese e dalle organizzazioni del settore pubblico a quelle no-profit. Ad esempio, alcune startup come Airbnb e Spotify hanno rivoluzionato il segmento di mercato in cui operano. Aziende più tradizionali come Kellogg’s e Shell hanno guadagnato in competitività. Non ci sono quindi segmenti che non possano utilizzare e sfruttare le analisi dei Big Data.
Da una parte ci attendono nuove rivoluzioni tecnologiche, penso ad esempio all’IoT, dall’altra le aziende si sono rese conto che è più utile investire nel loro business che nella costruzione di data center. AWS continuerà ad ascoltare i feedback dei propri clienti e a rilasciare servizi e nuove funzionalità che permetteranno di innovare in modo sempre più semplice e scalabile.

Luca  Zucconi Web Product Manager