Docker Is Mission Critical

Written by:
Date Posted:
27 July 2018

Within NASA there is a department called the Planetary Defense Coordination Office. Their job is to save the world if an asteroid looks like it is going to blow up Earth. The office tracks asteroids that come too close to the blue planet, logs them, and tries to find a method to deflect one if it was seen to be headed this way.

The favoured method for avoiding being hit by an asteroid is called DART (Double Asteroid Redirection Test). The team leading this from Johns Hopkins Applied Physics Laboratory has selected a possible dangerous asteroid to try and hit in an attempt to calculate exactly how effective this method would be in the real world. 

Creating the software for this mission critical application is incredibly difficult – this is because of the physics in space, which has very low bandwidth and extremely low density memory due to the impact of radiation. The team has only one chance to destroy the asteroid.

The team selected Docker because their main issue is the hardware deployed for this costs in excess of $300,000. Clearly, not everyone on the team can be given their own system, which led to a huge time constraint. The thirty strong development team had to share 5 systems, which clearly would have a negative impact on the time taken to release the product. 

The team created a hack to be able to emulate the hardware so the team could work on their own laptops and test on the production hardware. They used both an X-11 and a VNC server inside a Docker container. This meant anyone on the team could access the GUI from any container they chose, whilst maintaining any constraints imposed by the NASA security policies. 

The dev environment consisted of four components for flight software, COSMOS open-source GUI ground system, testbed software and the Docker environment. The flight software connects to the testbed container. The testbed connects to the COSMOS container and behaves as the radio. Then the COSMOS container is connected to the VNC container and utilises Openbox to provide the GUI. This provides full hardware emulation and lets the development team work on their own laptops – this saves months of dev time and resources. Allowing for cost saving and considerably increased deployment timescales. 

The video explaining the hack is below.

No votes yet.
Please wait...

Recommended Videos

Find out why Safestore adopted Hyve as their hosting provider

Case Studies

Hyve are 100% carbon neutral. We use carbon offsetting to balance out the release of carbon dioxide from our offices and infrastructure.