Introducing Docker

Crowds of fun-seekers exploring a city on foot, "
Mammal under tree in shade with tented chair, car packed

all our food for the coming three weeks, is in our caravan

At Bank Mendes Gans, our System Team introduced Containers to the large and international team of developers. We tried to help our introduction to containers by explaining a very Dutch phenomenon: Summer Holiday Caravanning (to France) and bringing all food and supplies with you for the holiday. You could basically survive on the camp site, never needing to go to a local supermarket. With only a bit of electricity and a lavatory close by for 3 weeks. Growing up in a middle class family in The Netherlands this way of ‘celebrating holidays' was very well known to most Dutchies in the room.

With all this Caravanning information now known; how is this related to Docker and Containers you might ask? Let’s move on and you’ll see where these concepts are related.

What is a container?

The innovation of containers started somewhere in the early 2000s with (now) Big-Tech companies like Google investing into Linux Control Groups. The reason behind this is mostly because Containers save a lot of energy when compared to Virtualisation. Containers are like virtual machines, but much smaller. Although the start was in the 2000s, it was not until very recently that the container innovation started to accelerate and become mainstream.

A quick recap

Diagram of parallel blue slopes numbers arranging App, OS & HW "

Gefangen so im Fluß der Zeit

In the iron age (left) you see just 3 layers, Hardware, Operating System and Apps. There is little flexibility and there was much operations work in managing both hardware and operating system. Then the Application’s environment/dependencies again required more operations and management.

We quickly (around 2005) moved into the Virtual Age where a Hypervisor made sure you had your own Virtual Machine with OS in isolation. This was again a revolution because it allowed to organisations and sysadmins to provide a standardised environment without the huge waste of idling machines. VMware was the ‘Oprah’ of environments: “you get a VM, you get a VM, everyone gets a virtual machine!”.

Then the current revolution we’re in the middle of; the Container Age (I Promise this is the last time I use the word revolution). A Container centers around packaging a single process. You build the container once, then you run it anywhere (like a VM, but much smaller). It is therefor much more lightweight than a VM. This is like the Caravan we talked about earlier, all the supplies (binaries, dependencies) are inside the container. The only thing the container runtime needs to do is “press play” on the container!

Properties of a container

  • Lightweight environment for running applications

  • Hermetically sealed static binaries

  • No External Dependencies

  • Isolated Applications running on a single host

  • Resources, Users, Filesystem, Network

  • Moves us from ‘Idealised Hardware’ to an ‘Idealised OS’

Netia: Poland's top telecommunications provider & leading IT solutions provider.

Why Should Developers Care?

When you are a developer, why should you care about containers? We are confident that you should care a lot about containers because world is moving towards DevOps quickly. This means that a number of previously Operations tasks are entering the developer sphere.

Static application environments

No stress deployments

Reliable deployments

Dog breed companion fawn enjoying grass with whiskers: "00"

Repeatable runnable artifact

Portability

Develop here, run there Pick your cloud solely on its merit

Leg in knee-length jeans on wooden steps, with elbow resting on

Loosely coupled

Easier to build and manage

Compose application from micro-services facilitates re-use

"Educational toy igniting imagination w/electric-blue & magenta

Containers offer an environment where you build the production environment during development, then never having to change it. the exact same binary that runs locally, will run on production: practically solving all configuration management nightmare scenarios

Peripheral computer output devices "defect in production?" Keyboard &

‘works on my machine’ is a thing of the past

Conclusion

‘Bring everything you need' is a concept important to both Caravanning and Containers 😉 Using Containers you solve the 'Works on my machine’ configuration management nightmare and can enjoy reliable deployments and portability between environments.

At an event, TV audience sport Interaction Suits & T-

Introducing containers

background

Streamline Your Software Delivery