Introduction

In 2014, HolidayCheck decided to adopt Docker and Apache Mesos. Together, these two technologies promised to reduce development time by enabling continuous delivery. At the same time they would improve the reliability of HolidayCheck’s systems while increasing the utilisation of their hardware.

In November of 2014, HolidayCheck contacted Container Solutions for expert support in this transition. We focussed on the following:

  • Increasing the general knowledge of HolidayCheck’s teams, specifically around Docker. We did this with workshops and classroom learning.
  • Providing hands on engineering support.
  • Providing strategic advice to the CEO, CTO and their executive team.
  • Supporting the adoption of Docker and Mesos withcoaching and structured offsites.

Container Solutions helped HolidayCheck implement Mesos and Docker to reduce their time to market while increasing the reliability of their deployment and development systems.

Context

HolidayCheck, like many companies, need to get ideas from the heads of their product owners and into the hands of customers as soon as possible. The practice for doing that is called Continuous Delivery. This is easy to do for a single team with just one server. However, this is an order of magnitude harder when the target system is a load-balanced, high- performing cluster of servers. It is within this context that HolidayCheck operates.

The Magic of Mesos

The magic of Mesos is that it allows developers and operations engineers to treat a cluster of servers as if they were one machine. Thus, the order of complexity that usually comes with large systems is reduced substantially by using Mesos. This is make it a great tool for a company like HolidayCheck.

The Magic of Docker

One of the oldest problems in software deployment is known as the ‘it worked on my machine’ problem. Whea development efforts start, we may set up our systems to be identical. This means that software running on a development machine will work on a production machine. However, there is a phenomenon known as ‘Configuration Drift’. Configuration Drift is what happens when small changes to hardware and software occur. When a configuration ‘drifts’ enough, the infrastructure can change enough so that a system that did work on a development machine no longer works on a production machine.

Configuration drift is often solved manually, which is extremely exhausting and demoralising. Worse than this, configuration drift is responsible for many faults, outages and unexplainable production-only defects. The magic of Docker is that it solves the configuration drift problem by using isolated containers whose configuration is stored in simple text files.

The Magic of Co-Creation

Co-creation is the act of developing an understanding of the problem along with the solution by teaming up. The real ‘magic’ at HolidayCheck was not Mesos, Docker or Container Solutions’ methods. Rather, the real magic was that HolidayCheck were open minded, and smart enough, to work together with Container Solutions to build both a solution, plan and adoption strategy.

Adoption

At HolidayCheck, we co-created a strategy that had four pillars: tool harmonisation and teaching; hands on engineering support; strategic advice; and GO-FAT – good old fashioned adoption techniques. Although each pillar is useful on its own, taken together the four pillars are extremely powerful.

Tool Harmonisation & Teaching

Container Solutions are official Docker trainers and certifiers. We helped teach all of the engineers at HolidayCheck in order to help create their organisational capability. This is specifically important in the case of Docker. One of the pillars of the DevOps movement is to standardise around the same tools. Docker is a tool used by both Dev and Ops. Having a workforce that is capable of using Docker means many of the standard (and energy sapping) fights that developers and operations engineerings have around tooling is eradicated. A DevOps organisation that is well educated in Docker has a competitive advantage.

Hands on Engineering Support

Harmonised tooling and teaching is one thing, but proper, real world experience is another. At HolidayCheck we supported the development and adoption by providing full-time engineers.
(etc.)

Results

The key results of the project were:

  • A fully functional Mesos cluster and Dockerised microservices architecture.
  • A workforce educated in Docker and Mesos.
  • A management team that became proficient in facilitating off sites

These allowed HolidayCheck to reduce their time to market at the same time as increasing the reliability of their systems.