Alex Wellock, a senior IT engineer at VictorOps, knows a thing or two about Docker. Before joining us in November, he worked at HP on the Docker/HP Enterprise partnership, setting up Containers as a Service with Docker Universal Control Plane.
In February, Maggie Gourlay wrote about attending her first Game Developer’s Conference after spending many years working in gaming. Now, after spending over a year implementing Docker containers, I’m about to attend DockerCon 2017.
I’m most excited about the presentations, seeing the vendors, and learning what other people are doing with Docker. There are always crazy things you can do with the technology. For example, some people put their whole desktop environment in Docker containers. It’s wild to see how the containers get spawned automagically.
We’re on the container journey
At VictorOps, we recently started using Docker containers, and like many of our customers, we are on an educational journey. As our deployment becomes more rapid, we’re increasingly breaking down monolithic services and increasing our use of microservices. My biggest goal for this event is to learn how to monitor Docker containers in a production environment.
First, hubots, then, data encryption
When I got to VictorOps, the basic Docker infrastructure was already set up. Then soon after I arrived, we started by Dockerizing our demo environment hubots. Once that was running, we decided to use a Dockerized Vault to manage data encryption keys.
As we continue to release faster and faster, Docker containers are extremely helpful because it’s easy to point traffic to a particular cluster and kill off other clusters as needed. If one breaks, you can always bring back the old one so you stay in a known state, versus an unknown state.
Moving more services to Docker
We are now evaluating whether to break our services up to move in the direction of a more microservices-oriented architecture. We have some large monolithic servers that run many of our services, and servers like this can be hard to scale. By migrating each service to its own container, we may be able to increase our ability to scale and help us along the path to a more scalable and resilient environment.
The benefits of microservices
It’s easier to manage and scale our growing infrastructure by moving to more microservices. With large infrastructure, you need to buy hardware, wait two or three weeks for shipment, then go to the data center for installation. With smaller services, the process moves faster, and we can manage infrastructure more easily, based on variables like resource intensity.
Still in the private cloud
We’re using the notion of a Docker private cloud. We’ll be running a cluster of Docker servers that will autoscale and auto-tear down and will make sure we always have the right number of containers running. This will happen within Fortrust, our private data center.
Next steps: evaluating Docker monitoring options
As we build out these containers, we’re right there alongside many of our customers, looking at the best ways of monitoring those containers. We’re using Nagios to monitor the overall health today, but will be evaluating additional systems. Perhaps we’ll get some great new ideas at the conference next week.
New to Docker? Here are some tips for getting started
If you are starting the journey of bringing Docker into your organization, I suggest that you start by getting a strong understanding of the concept of microservices. Then, it’s really helpful to understand the concept of a Docker container versus a VM. Depending on your situation, you might decide to choose one versus the other.
A VM is self-contained, like a house, with its own utilities and power, whereas a container is like an apartment in an apartment complex. All of the apartments share backbone utilities like the water line and electricity.
• You might choose a VM if you have heavy resource requirements like a Cassandra database, for example. It’s easier to get resource-intensive services set up on bare metal or VM.
• You might choose a container setup for other services that are quick and easy, and change fast. Are you iterating on that service rapidly? If so, it’s easier to use containers.
See you in the sessions, or on the conference floor
Wherever you are in your Docker journey, I hope to see you at DockerCon next week. Perhaps you can teach us a few things to help us along the way. Come find us on the conference floor near the fishbowl, or meet me in the talk I am most excited to attend, Swarm Monitoring: Best Practices.
Catch you there.