La ricchezza e raffinatezza raggiunta dal labirinto di servizi cloud AWS arriverebbe forse a disorientare anche i tecnici più smaliziati, ‘computer boffins’, ed è stata dunque certo proficua, per imprese e sviluppatori, la panoramica scelta da Amazon sui principali trend tecnologici che stanno segnando l’attuale fase di evoluzione della trasformazione digitale: serverless computing, container, machine learning, Internet of Things, gestione di big data.
Architetture serverless in forte crescita
Il fatto di essere presentata subito per prima fa comprendere quanto la tecnologia serverless stia diventando importante per AWS, e i suoi utenti. Le architetture serverless permettono agli sviluppatori di creare ed eseguire applicazioni e servizi IT senza doversi preoccupare dell’infrastruttura hardware sottostante, e senza gestire alcun server, perché è il cloud provider ad occuparsi dell’allocazione dinamica delle risorse di computing. “Abbiamo registrato un grande interesse in questo ambito” sottolinea Danilo Poccia, Senior Technical Evengelist di AWS: il settore sta crescendo anno su anno, con centinaia di migliaia di clienti attivi.
Ci sono gli studenti e sviluppatori che costruiscono le Skill Alexa, ossia le funzionalità del servizio vocale Alexa, basato su cloud, l’intelligenza che guida, ad esempio, Amazon Echo ed altri dispositivi che integrano Alexa. E ci sono varie startup, come ad esempio stdlib, che sfrutta il modello serverless di AWS per fornire servizi di sviluppo di web app ed API; IOpipe, una piattaforma DevOps serverless in grado di abilitare attività di sviluppo più rapide, e fornire profonda visibilità sulle applicazioni serverless che girano in produzione; serverless.com, un toolkit per costruire applicazioni serverless.
I servizi utili agli sviluppatori, mostra Poccia, sono ormai ‘building blocks’ sempre più numerosi: con Amazon API Gateway ora si possono costruire API pubbliche, regionali, private; ed è possibile accedere a queste ultime dall’interno del proprio Amazon Virtual Private Cloud (VPC). AWS Lambda permette di eseguire codice applicativo o servizi di back-end senza dover amministrare risorse server e, ad esempio, viene utilizzato da Enel per gestire i propri workload di fatturazione elettronica e generare le fatture stesse. Le AWS Step Functions, invece, consentono di creare ed eseguire flussi di lavoro divisibili in fasi diverse e in grado di raggruppare differenti servizi, come AWS Lambda e Amazon ECS (Elastic Container Service), per semplificare in tal modo lo sviluppo applicativo. Usando il database non relazionale Amazon Dynamo DB – appartenente alla categoria di database, noti anche come NoSQL, che non seguono il modello relazionale dai tradizionali RDBMS (relational database management system), – l’istituto bancario Capital One è riuscito a ridurre la latenza delle applicazioni mobile, spostando le transazioni del mainframe su un’architettura serverless, capace di scalare senza difficoltà. Amazon Cognito fornisce strumenti di accesso, registrazione e controllo degli accessi in modo semplice e sicuro, ed è in grado di gestire le funzioni di autenticazione anche di milioni di utenti, per consentire agli sviluppatori di concentrarsi solo sulle peculiarità delle proprie app.
Interessante il caso di Amada Engineering Europe (AEE), azienda del gruppo Amada, fornitore di macchine per la lavorazione della lamiera, con 80 sedi nel mondo e 8mila addetti a livello globale: AEE fornisce soluzioni software adattate ai requisiti del mercato europeo e, dovendo soddisfare il crescente interesse dei clienti per il paradigma Industria 4.0, aveva l’obiettivo di creare un sistema strutturato di accesso in tempo reale ai dati delle macchine, in grado di fornire dashboard intuitive di monitoraggio dei KPI, sistemi di notifica, garanzie di sicurezza, senza comportare installazioni aggiuntive lato cliente. Lo sviluppo, in collaborazione con il partner beSharp, di una soluzione ‘cloud-native’ su AWS ha permesso ad AEE di trasformarsi da software factory in SaaS provider, minimizzando l’effort di gestione della piattaforma; ad oggi, i clienti sottoscrittori del servizio sono oltre 130, con più di 230 macchine connesse e oltre 10 terabyte di dati nel data lake. Tra i progetti futuri, AEE ha in programma l’uso del machine learning per realizzare applicazioni di manutenzione predittiva, ma anche auto-update software, funzioni di manutenzione remota e implementazioni multiregionali.
Semplificare l’orchestrazione dei container
Grazie alla tecnologia container, la piattaforma software Docker permette di creare build, testare e distribuire applicazioni con rapidità in qualsiasi ambiente, spiega Massimo Re Ferré, Principal Solutions Architect di AWS. Ma gestire Docker in ambienti di produzione può rivelarsi laborioso nelle implementazioni di molteplici container: perciò è stato creato il servizio di orchestrazione di contenitori Amazon ECS (Elastic Container Service), che elimina la necessità di installare e usare software specifico di orchestrazione dei container e, inoltre, tramite il motore di elaborazione AWS Fargate, evita allo sviluppatore operazioni come la selezione e il provisioning di istanze EC2 o il dimensionamento dei cluster di macchine virtuali per eseguire i contenitori.
Tra i servizi di ‘control plane’ per i container, da ricordare anche Amazon EKS (Elastic Container Service for Kubernetes), lanciato l’anno scorso,
Machine learning più fruibile
“La nostra missione – esordisce Giuseppe Porcelli, Solutions Architect di AWS – è mettere il machine learning (ML) nelle mani di ogni sviluppatore e data scientist”: missione compiuta rendendo disponibile uno stack tecnologico fatto di servizi applicativi (Rekognition, Polly, Transcribe, Translate, Comprehend, Lex), piattaforme (Amazon SageMaker, Amazon Mechanical Turk, Spark on Amazon EMR), framework e componenti infrastrutturali (Caffe2, CNTK, PyTorch, TensorFlow, Keras, Gluon, GPU Nvidia Tesla V100). Il punto è, chiarisce Porcelli, che “un data scientist impegnato nello sviluppo di sistemi di ‘deep learning’ non vuol spendere tempo nella gestione di istanze, ma disporre di un ambiente pronto per il design del proprio algoritmo”, e SageMaker fa proprio questo, installando l’environment necessario e rendendo disponibili 15 algoritmi base per indirizzare una serie di casi d’uso, dai più semplici, ai più complessi. Ciò permette di addestrare e distribuire con rapidità i modelli di ML, pagando costi commisurati al tempo di esecuzione del training e alle risorse di storage, elaborazione e ML consumate.
Connubio tra IoT e gestione di workload big data
Quasi al termine della giornata di lavori, è ancora Poccia a illustrare i benefici di business ottenibili, in termini di efficienza operativa e crescita, con le applicazioni IoT (Internet of Things). In questo spazio, la soluzione per connettere e far comunicare i vari device in modo sicuro è il servizio gestito AWS IoT, le cui funzionalità vengono estese a livello locale, nella rete edge, attraverso AWS Greengrass.
Altro tema cruciale per gli sviluppatori, affrontato da Giorgio Nobile, Solutions Architect di AWS, è la migrazione di workload big data sul cloud di Amazon. La complessità di gestione dei cluster Hadoop on-premise, tipicamente caratterizzati da hardware high-end, la pesantezza e tipologia dei workload gestiti e le problematiche di security, rendono vantaggiosa, spiega Nobile, l’adozione di un servizio gestito come Amazon EMR. Un esempio, dice, è Finra (Financial Industry Regulatory Authority), che, migrando la gestione di data set contenenti trilioni di record verso Apache HBase su Amazon EMR, ha potuto ridurre i costi di oltre il 60%, e abbattere i tempi di recovery o upgrade.