donderdag, 15 maart 2018

Docker our story

All over the web you will find people writing about containers. Its a development that has catapulted up the last several years. One of the things that is written about extensively is using Docker for development. This blog is to share our experience and make you think about the potential for you. This is not just from a technical perspective but more about exprience.

Filling the gap

As developers you are eager to learn new things and to explore. At the same time you try to find ways to make things work better for your daily work. Gaps in you development proces are there to be fixed. This is also what happened for us with Docker.

Docker filled a gap. To create a context for our problem here is some background. We are a Drupal company that created a lot of different projects throughout the years. Environments tend to differ more and more. The application stack for a webapplication has some general parts but also some specific things.

Docker build made it possible to build small compact environments that are simular to the real environment. Docker builds a containerized environment that looks a lot like a VM but is much smaller and faster because it stacks on top of your host OS instead of a virtual OS.

With a Dockerfile the Docker component builds all the stack dependencies into an image that can be run as a single container.

The stack

With Docker and the use of Dockerfiles we where able to build a standard and adjust the parts that where specific to an application. The speed with which environments are started and mapped to local directories for code is very fast. This is something we could not accomplish with VM s.

Putting things together in an application there is more then just the code that needs to run but also services around it like MySQL, Redis, Varnish, SOLR or any other Third Party tool. Many solutions are available as images on https://hub.docker.com.

The process

By implementing Docker into our development we speeded up our development process and are able to test also with new and enhanced version of particular tools.

Now we are preparing to deploy sites also into Dockerized environments online. This makes it more future proof and even prepare for scalability where needs may arise.