24-25 September 2018
European Space Astronomy Center (ESAC/ESA)
Europe/Madrid timezone

Docker Containers for Open Source Space Software

Not scheduled
1m
European Space Astronomy Center (ESAC/ESA)

European Space Astronomy Center (ESAC/ESA)

Camino Bajo del Castillo, s/n., Urb. Villafranca del Castillo, 28692 Villanueva de la Cañada, Madrid, Spain
Poster Space Science Data and Software Posters and Demos

Speaker

Mr Artur Scholz (LibreCube)

Description

Programming great software is one thing - to deploy it is a complete different thing. By deploying, we mean the installation or setup of the software on a different machine from where it was developed. Software deployment is necessary for production shipment but also for testing and collaboration in the same development environment.

All too often, this is a painful and unrewarding process. Commonly numerous implicit and explicit dependencies must be fulfilled by the target environment. For example, a SQL database may have to be installed or a specific version of a Python interpreter must be made available. Usually the developer would just expect the user to operate the software in the appropriate environment; but to get to this set up is often cumbersome and non-trivial task.

Docker comes to the rescue! Docker is a computer program that performs operating-system-level virtualization also known as containerization. Docker is a tool that can package an application and its dependencies in a virtual container that can run on any Linux server. Think of it as a light-weight virtual machine. It is based on Linux containers but provides a user-friendly abstraction to it, making its usage extremely simple.

Docker containers can be a useful method for building up space mission ground systems in terms of a micro-service architecture. For example, a mission control system is usually compose of various software components for telecommand preparation and telemetry checking, as well as automation and data storage. Building these components as Docker containers helps to allow for scaling and redundancy management, and an overall modularisation of the system.

This presentation will introduce the basics on how to create and run Docker containers. Using the example of an open-source NoSQL database with an REST API as developed by the author, a practical inside into the syntax and quirks of Docker will be given. Finally, a number of dockerized open source projects for use in CubeSat missions will be shown.

Primary author

Mr Artur Scholz (LibreCube)

Presentation Materials