Engineering the Future of Software
16–18 October 2017: Conference & Tutorials
18–19 October 2017: Training
London, UK

Container zen: 12 steps to enlightenment

Nils Magnus (LinuxTag Association and Open Telekom Cloud)
15:5016:40 Tuesday, 17 October 2017
Location: Buckingham Room - Palace Suite
Secondary topics:  Best Practice, Overview, Theoretical
Average rating: **...
(2.71, 7 ratings)

Prerequisite Knowledge

  • Familiarity with container virtualization

What you'll learn

  • Learn best practices and anti-patterns to avoid when designing container-based applications


Containers: they’re easy to start with and deliver astonishing progress, but it’s hard to go on from there. Creating your first image is great, but dealing with dozens of containers soon gets nasty, and managing your containers with shell scripts turns into a nightmare even worse than those times when services run on old-fashioned servers.

Nils Magnus outlines the 12 stages of self-awareness that lead to ultimate container enlightenment. It’s a long and winding road: while usual suspects like system engineers, developers, and system designers understand container virtualization fairly well, its architectural pattern remains a different cup of tea, and orchestration frameworks and auxiliary tools make it hard to see to the bottom. But having mastered the 12 stages, you’ll be ready to immerse yourself into the flow of container virtualization. In other words, you’ll be enlightened.

The 12 steps on the path to container enlightenment:

  1. Starting your first container makes you appreciate seemingly cheap virtualization.
  2. Eagerly studying, you dive into fundamental knowledge like namespaces, capabilities, or process isolation.
  3. You discover the challenges of networking and feel the pain of storage mapping.
  4. You learn how to automate image creation with Dockerfiles.
  5. Then you realize there is no need to write Dockerfiles, as images can be pulled from registries.
  6. You move all your services to containers.
  7. You acknowledge the need for orchestration, since your zoo of scripts easily loses control over your containers.
  8. You spread your containers over many servers to make your services less dependent on hardware.
  9. You negotiate consensus with your containers.
  10. You begin discovering services and working with dynamic management of containers fleets to ensure high availability.
  11. You turn your software into stateless, ephemeral containers.
  12. You refactor your monolithic applications into microservices.
Photo of Nils Magnus

Nils Magnus

LinuxTag Association and Open Telekom Cloud

Nils Magnus is a system architect and journalist. He has a 15+-year track record in open source security architecture, engineering, and cloud infrastructure. He believes in scalable, sustainable software solutions and cooperative, Agile development. In his role as a board member at LinuxTag Association and the German Unix Users Group, Nils organizes conferences and workshops on these topics. He works for Open Telekom Cloud, the simple, affordable, and secure IaaS framework. Nils lives in Munich and Berlin.