I'm a Backend Engineer focused on Go, Kubernetes and CI/CD.

My Articles

Feb 1

Docker Image Layers

Docker images and their layers explained

To enable fast builds and efficient usage of disk space, Docker introduced the image layer model. This article is an in-depth explanation on how the layer model is implemented.

read more

Jul 23

Docker Networking

The Basics of Docker Network Drivers

Docker does a great job when it comes to connecting containers among each other or to the outside world. This functionality is powered by pluggable network drivers.

read more

Jul 15

Docker Dockerfile

Dockerfile RUN vs. CMD vs. ENTRYPOINT

What do these Dockerfile instructions have in common, and what are the differences? When should I use each instruction?

read more

Jul 8

Docker Build Cache

How the Docker Build Cache works

The build speed for a Docker image largely depends on whether the instructions are cached or not. Understanding the build cache is crucial for building efficient images.

read more

Jul 3

Docker Image Registry

Running a private Docker image registry

Registries are the common way to store and distribute Docker images on a network. Operating a private on-premises registry isn't as hard as you probably think.

read more

Jul 2

Docker Volumes

Docker Volumes: A quick summary

Volumes are another convenient way for decoupling data from containers. Compared to bind mounts, they offer some advantages you should be familiar with.

read more

Jul 1

Docker Bind Mounts

Docker Bind Mounts: A quick summary

Bind Mounts are a simple and efficient way to share data between a container and its host. They're particularly useful for developers working with Docker containers.

read more

My Principles

Over the past years, I've discovered some principles and approaches that helped me increase the reliability and maintainability of software. Whenever I'm writing code, I strongly attach importance to these principles.

  1. Build often, build early. Release often, release early.
  2. Prefer »simple«, avoid »clever«.
  3. If »clever« can't be avoided, it has to be tested and well-documented.
  4. YAGNI: Don't implement it if you haven't been asked for it.
  5. Special cases aren't special enough to break the rules.