Il Jet Propulsion Laboratory (JPL) è il principale organo della NASA per l'esplorazione robotica dello spazio. Il JPL ha inviato un robot su ogni pianeta del sistema solare. NASA/JPL, inoltre, è pioniere dell'adozione del cloud computing all'interno del governo federale. In effetti, il cloud computing è parte integrante della pipeline tattica per la missione di esplorazione Mars Science Laboratory. Dalla sala di controllo di Pasadena, California, la NASA e il JPL utilizzano Amazon Web Services (AWS) per acquisire e memorizzare le immagini e i metadati raccolti durante le missioni Mars Exploration Rover e Mars Science Laboratory. Il rover Opportunity è ancora operativo sul suolo marziano dopo 8 anni dal suo atterraggio, mentre il rover Curiosity lo ha raggiunto il 5 agosto 2012.

nasa_jpl_thumbnail
17:42
Tom Soderstrom del JPL spiega in che modo il cloud aiuta a rispondere alle nostre domande sul cosmo

Il 26 novembre 2011, la NASA ha lanciato Curiosity per un viaggio di 8 mesi verso il pianeta rosso. Per poter essere messa in pratica, questa importante missione ha posto una serie di sfide molto complesse. Innanzi tutto, l'atterraggio era una punto di attenzione fondamentale: la massa di Curiosity rendeva le tecniche utilizzate fino a quel momento impossibili. Gli ingegneri del JPL hanno perciò ideato un approccio innovativo di ingresso e discesa nell'atmosfera e di atterraggio, il sistema Sky Crane, che ha permesso di rallentare la caduta di Curiosity sulla superficie del pianeta. La NASA voleva condividere questa emozionante impresa con il pubblico di tutto il mondo, fornendo i dettagli della missione minuto per minuto, specialmente durante i 7 minuti finali necessari al rover per attraversare l'atmosfera marziana e raggiungere il suolo. Disponibilità, scalabilità e prestazioni del sito Web mars.jpl.nasa.gov sono state fondamentali. Prima di collaborare con AWS, offrire il supporto a centinaia di migliaia di visitatori unici contemporaneamente sarebbe stato un compito impossibile per il sito e avrebbe richiesto un'infrastruttura Web e di streaming video di cui semplicemente NASA e JPL non disponevano.

Il Jet Propulsion Laboratory della NASA ha impiegato AWS per mostrare in streaming le immagini e i video dell'atterraggio di Curiosity. Il cloud computing ha permesso a JPL di allocare capacità in modo rapido e di sfruttare il cloud AWS per offrire un'esperienza incredibilmente coinvolgente all'intero pubblico. I visitatori del sito Web provenivano da tutto il mondo, perciò Nasa e JPL hanno offerto i loro contenuti da diverse regioni AWS in tutto il mondo perché le prestazioni fossero ottimali per tutti gli utenti e per soddisfare l'incredibile domanda. In particolare, l'utilizzo per la prima volta di Amazon Route 53 e Elastic Load Balancer (ELB) ha permesso al JPL di bilanciare il carico tra diverse regioni AWS, garantendo la massima disponibilità dei contenuti in qualsiasi situazione. L'architettura finale, concepita e sviluppata in collaborazione tra NASA/JPL e Amazon Web Services, ha garantito alla NASA un modello di distribuzione con costi ridotti in grado di ricalibrare le risorse, offrire prestazioni elevate e mostrare l'atterraggio di un veicolo su un altro pianeta. L'obiettivo del JPL era mostrare i propri dati al pubblico senza interruzioni, perciò si è preparato per un traffico di centinaia di gigabit al secondo per centinaia di migliaia di utenti simultanei.

In poche settimane, il JPL della NASA è stato in grado di progettare, assemblare, testare e distribuire le proprie soluzioni di hosting su Web e streaming video in diretta tramite diversi servizi AWS. L'architettura di streaming video del JPL è stata sviluppata utilizzando Adobe Flash Media Server, istanze Amazon Elastic Compute Cloud (Amazon EC2) in esecuzione su un comune livello di caching nginx, Elastic Load Balancing, Amazon Route 53 per la gestione del DNS e Amazon CloudFront per la distribuzione dei contenuti. AWS CloudFormation automatizza la distribuzione degli stack di infrastruttura di streaming video in diretta in varie zone di disponibilità e regioni AWS.

Le istanze Amazon EC2 che eseguono l'AMI Amazon Linux, inoltre, erano state configurate tramite appositi script e metadati di istanze Amazon EC2. Poco prima dell'atterraggio, il JPL ha effettuato il provisioning di diversi stack infrastrutturali di AWS, ognuno in grado di gestire un volume di traffico di 25 Gb al secondo. Il JPL ha impiegato Amazon CloudWatch per monitorare i picchi di traffico e aggiungere ulteriore capacità in base alla domanda nelle diverse regioni. Quando i volumi di traffico sono tornati normali, alcune ore dopo l'atterraggio, il JPL ha invece impiegato AWS CloudFormation per annullare il provisioning delle risorse in eccesso tramite un singolo comando. L'immagine in basso mostra un diagramma dell'architettura di streaming video in diretta.

nasa-1-arch-diagram

Figura 1: l'architettura di streaming video in diretta utilizzata dal JPL

Il sito Web mars.jpl.nasa.gov è basato sul Content Management System (CMS) open source Railo, in esecuzione in Amazon EC2. Lo storage condiviso per Railo è stato fornito dalle istanze Amazon EC2 che eseguivano Gluster su un parco volumi Amazon Elastic Block Store (EBS), in modo da offrire prestazioni I/O su disco continue. Il CMS interagisce inoltre con un database MySQL ad elevata disponibilità su più zone gestito da Amazon Relational Database Service (RDS). Il traffico viene ripartito su più server CMS da una serie di sistemi di bilanciamento del carico utilizzando Amazon Route 53 per fornire distribuzione bilanciata del traffico. Amazon CloudFront viene inoltre impiegato per distribuire il traffico sui diversi punti di accesso in tutto il mondo e quindi ridurre la latenza per i visitatori di tutto il mondo, migliorando la scalabilità generale della soluzione.

Inoltre, NASA sfrutta Amazon Simple Workflow Service (Amazon SWF) per copiare tutte le immagini provenienti da Marte in Amazon S3. I metadati vengono memorizzati in Amazon SimpleDB, mentre Amazon SWF attiva il provisioning di istanze Amazon EC2 per l'elaborazione delle immagini non appena i dati inviati da Curiosity raggiungono la Terra. Il diagramma in basso illustra l'architettura Web del JPL.

nasa-2-arch-diagram

Figura 2: l'architettura Web del JPL

Eseguire il sito Web mars.jpl.nasa.gov in Amazon Web Services a consentito al JPL della NASA di trasmettere il proprio messaggio al mondo senza dover creare da zero una propria infrastruttura. L'ampio set di funzionalità e la semplicità di utilizzo offerte da AWS hanno consentito al JPL di dare vita a un'infrastruttura Web scalabile e solida in sole due o tre settimana invece che in diversi mesi.

Ora che Curiosity è atterrato su Marte, la missione continuerà a utilizzare Amazon Web Services per automatizzare l'analisi delle immagini provenienti dal pianeta rosso, consentendo di focalizzare gli sforzi sull'identificazione di potenziali pericoli o aree di particolare interesse scientifico. In questo modo, gli scienziati sono in grado di inviare sequenze di comandi più lunghe a Curiosity, accrescendo l'ambito di esplorazione della missione Mars Science Laboratory che è possibile ottenere in un sol (il giorno marziano).

Per ulteriori informazioni sulla missione di JPL e NASA e sull'esplorazione di Marte, visita http://mars.jpl.nasa.gov; per leggere in che modo NASA usa il cloud AWS per ottenere un ambiente interoperabile, sicuro, competitivo e basato su standard, consulta il blog della NASA.

Per ulteriori informazioni su come AWS supporta applicazioni di cloud computing mission critical, consulta il sito http://aws.amazon.com/government-education/.

Per ulteriori informazioni su come JPL e NASA impiegano il cloud AWS per altre missioni o studi, consulta le pagine di storie di successo NASA/JPL: Desert Research and Training Studies e Missioni MER e CARVE di NAS/JPL.