Picking a path

Picking a path through technology transitions.

Technology demo

This demo is all about containerized applications and the tools to create them.
Managing, deploying and scaling these present exciting prospects but comes with challenges of their own.

Containers

Containers are a neat trick in which an operating system uses virtualization to create a set of isolated instances. They look like real computers to the programs running inside them.

Containerized Applications

Applications are setup in an image ready to be run in a standard way.

All required dependencies are carefully added to the container image, ensuring the application will run without any further tinkering.

Deploying

Container images can be deployed in a number of environments and scenarios:

  • on your workstation
  • full-blown planet-scale infrastructure
  • private on-premise infrastructure

Scaling

This kind of infrastructure makes horizontal scaling of applications much faster and less error-prone.

Resilience

Automated monitoring in the infrastructure can re-route traffic to live containers, decommision failing containers and kick of new ones to replace them. This makes the application more resilient.

Rolling updates

Since the infrastructure keeps track of running applications and automatically routes traffic to live instances, it's possible to kill of old instances and replace them with a new application version without down-time.

Docker

In their own words, Docker is the company driving the container movement.

Docker implements a high-level API to provide lightweight containers that run processes in isolation.

Building on top of facilities provided by the Linux kernel, a Docker container, unlike a virtual machine, does not require or include a separate operating system.

Software tools are available to create, maintain and run docker containers.

Home page is docker.com

Kubernetes

Kubernetes is an open-source system for automating deployment, scaling and management of containerized applications that was originally designed by Google.

Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.

It aims to provide a "platform for automating deployment, scaling, and operations of application containers across clusters of hosts". It works with a range of container tools, including Docker.

Home page is kubernetes.io