NASA’s Jet Propulsion Laboratory (JPL) is the premier NASA center for the robotic exploration of space. JPL has sent a robot to every planet in the solar system. NASA/JPL is also leading the way in the adoption of cloud computing across the federal government. In fact, cloud computing is an essential part of the tactical operations pipeline for the Mars Science Laboratory mission. From the control room in Pasadena, California, NASA/JPL is using Amazon Web Services (AWS) to capture and store images and metadata collected from the Mars Exploration Rover and the Mars Science Laboratory missions. The Mars Exploration rover Opportunity is still roving on Mars after landing 8 years ago, and Mars rover Curiosity landed on August 5, 2012.
On November 26, 2011, NASA launched Curiosity on an 8-month voyage to the Red Planet. This high-profile mission had a number of challenges that needed to be overcome in order to be successful. First, the landing was a huge challenge because Curiosity’s mass rendered previous landing approaches untenable. Engineers at JPL designed an innovative entry/descent/landing technique that concluded with a “sky crane” maneuver that gently lowered Curiosity to the surface. NASA wanted to ensure that this thrilling experience was shared with fans across the globe by providing up-to-the-minute details of the mission - especially during the final 7 minutes it took for the rover to descend through the Martian atmosphere and land on Mars. The availability, scalability, and performance of the mars.jpl.nasa.gov website was of the utmost essence during the landing event. Prior to working with AWS, supporting hundreds of thousands of concurrent visitors to the website would have been very difficult, requiring significant web and live video streaming infrastructure that NASA/JPL did not have.
NASA’s Jet Propulsion Laboratory used AWS to stream the images and video associated with Curiosity’s landing. Cloud computing enabled JPL to provision capacity rapidly and leverage the AWS cloud to deliver successfully engaging experiences of Mars to the public. With public users all over the globe visiting its sites, NASA/JPL served its contents from AWS regions around the world to enhance the viewers experience and scale to meet global demand. Novel use of Amazon Route 53 and Elastic Load Balancers (ELB) enabled NASA/JPL to balance the load across AWS regions and ensure the availability of its content under all circumstances imaginable. The final architecture, co-developed and reviewed across NASA/JPL and Amazon Web Services, provided NASA with assurance that the deployment model could cost-effectively scale, perform, and deliver an incredible experience of landing on another planet. With unrelenting goals to get the data out to the public, NASA/JPL prepared to service hundreds of gigabits/second of traffic for hundreds of thousands of concurrent viewers.
In just a few weeks, NASA/JPL was able to design, build, test, and deploy their web hosting and live video streaming solutions that were built using a variety of services on AWS. NASA/JPL’s live video streaming architecture was developed on a combination of Adobe Flash Media Server, Amazon Elastic Compute Cloud (Amazon EC2) instances running the popular nginx caching tier, Elastic Load Balancing, Amazon Route 53 for DNS management, and Amazon CloudFront for content delivery. AWS CloudFormation automates the deployment of live video streaming infrastructure stacks across multiple AWS Availability Zones (AZ) and regions.
Additionally, Amazon EC2 instances running the Amazon Linux AMI were configured using configuration scripts and Amazon EC2 instance metadata. Shortly before the landing, NASA/JPL provisioned stacks of AWS infrastructure, each capable of handling 25 Gbps of traffic. NASA/JPL used Amazon CloudWatch to monitor spikes in traffic volume and provision additional capacity based on regional demand. As traffic volumes returned to normal hours after the landing, NASA/JPL used AWS CloudFormation to de-provision resources using a single command. The figure below provides a diagram of the live video streaming architecture.
Figure 1: NASA/JPL Live Video Streaming Architecture
The mars.jpl.nasa.gov website is based on the open-source Content Management System (CMS) Railo, running on Amazon EC2. Shared storage for Railo is provided by Amazon EC2 instances running Gluster on a pool of Amazon Elastic Block Store (EBS) volumes for consistently high performance disk I/O. The CMS also interacts with a highly available, multi-AZ MySQL database managed by Amazon Relational Database Service (RDS). Traffic is dispersed across CMS servers by a number of Elastic Load Balancers using Amazon Route 53 to provide a weighted traffic distribution across the ELBs. Amazon CloudFront is also used to spread traffic to points of presence around the world, thereby reducing latency for international visitors and improving the overall scalability of the solution.
Furthermore, NASA leverages Amazon Simple Workflow Service (Amazon SWF) to copy the latest images from Mars to Amazon S3. Metadata is stored in Amazon SimpleDB and Amazon SWF triggers provisioning of Amazon EC2 instances to process images as each transmission from Curiosity is relayed to Earth. The diagram below illustrates NASA/JPL’s web architecture.
Figure 2: NASA/JPL Web Architecture
Operating the mars.jpl.nasa.gov website on Amazon Web Services allowed NASA/JPL to broadcast their message to the world without building this infrastructure themselves. The broad set of capabilities and ease-of-use afforded by AWS allowed NASA/JPL to construct a robust, scalable web infrastructure in only two to three weeks instead of months.
Now that Curiosity has landed safely on Mars, the mission will continue to use Amazon Web Services to automate the analysis of images from Mars, maximizing the time that scientists have to identify potential hazards or areas of particular scientific interest. As a result, scientists are able to send a longer sequence of commands to Curiosity that increases the amount of exploration that the Mars Science Laboratory can perform on any given sol (Martian day).
To find out more about NASA/JPL’s mission and explore the planet Mars, visit http://mars.jpl.nasa.gov or to read more about how NASA uses the AWS cloud for an interoperable, standards-based, secure, and cost-effective environment, visit NASA’s blog .
To learn more about how AWS supports mission critical cloud computing applications across public sector, visit http://aws.amazon.com/publicsector.
Added August 7, 2012