You have probably heard all about Docker containers by now. But are you wondering how Docker is actually being used to solve real-world problems? If so, keep reading for insights on current Docker use cases, and tips on how MSPs can leverage Docker containers.
In case you somehow have not yet hard of Docker, here's a very brief intro: Docker is an open source platform for running applications inside software containers. Containers are (relatively) platform-agnostic. They can also spin up and down quickly. And they don't carry as much overhead as traditional virtual machines.
All of this means that Docker makes software deployment more agile, which is its key selling-point.
Docker use cases
That all sounds neat. But how does it translate into real-world use?
Currently, the main answer is that software developers and admins are using Docker containers to streamline the process of testing and deploying software. On this front, Docker provides a big advantage because it makes the environment in which an app runs consistent.
In other words, if software is tested inside a Docker container and then run in production inside a Docker container, the container environment does not change. That means more consistency and predictability between development and production use of an app, which in turns makes the app more stable.
This advantage is making Docker popular as a way for developers to create and ship new apps.
Docker and legacy apps
However, Docker is currently less popular as a solution for building and shipping legacy apps. Few organizations so far are rewriting existing applications so that they can run in containers.
There are exceptions. Goldman Sachs, which reports that it is migrating 90 percent of its software to run using Docker, is probably the biggest example to date of a large enterprise converting legacy apps to containers. (Goldman has also invested $95M in Docker the company, so its eagerness to adopt Docker is not exactly a shock.)
Still, by and large, organizations are not in a rush to port existing apps so that they can run inside containers. In most places, only new apps are being treated as candidates for containerization.
That makes sense. Although in theory containerizing an app is as simple as writing a Dockerfile and building a container image based on it, in practice the process is often much more complicated when you're dealing with a legacy app. The code itself needs to be adjusted so that the app can be deployed as a series of microservices, rather than as a monolithic app.
Docker and MSPs
What does this mean for MSPs? A few things:
- If you're going to offer Docker as a service to clients, don't expect a lot of interest unless your clients develop software and can benefit from a Docker-driven software delivery workflow.
- Docker containers might be a good service for some customers with legacy apps, but make sure you understand how difficult it will be to containerize their apps before you try to sell them on this idea.
- Whether or not you offer Docker as a service to your customers, you can always use it yourself to help build your own infrastructure. If you manage apps as a service for clients, for example, you could migrate those apps to run inside containers.
A final note: As Docker use expands, and the current generation of legacy apps is replaced by alternatives written from scratch, there is a good chance that Docker will become the default software delivery solution. MSPs should therefore prepare for the Docker-centered future. But for now, Docker's main use case still lies with software development teams. There is no rush to containerize everything immediately.
Send tips and news to [email protected].