CloudEntTech meets Ethan Tuttle, lead engineer at Zoosk, to chat about container tech ahead of Container World 2017.
As an engineer, what most interests you about container technology?
In the abstract, it’s hard to explain why containers are a big deal: lightweight VMs that run together on the same kernel? So what? But in practice, containers solve so many problems, and bring a lot of efficiency and agility to a dev pipeline. I think it’s largely thanks to Docker’s tools, which made containers accessible for everyone to work with. Once Docker established that building block, we’re seeing orchestration systems being built on top, which have revolutionized how everyone ships code to servers in just a few years. It’s an exciting time!
Why is Docker your tool of choice?
When Zoosk started packaging our apps in containers, Docker was the only game in town. I am happy that we started with Docker and stuck with it, over the period when kubernetes was not yet “production ready” and there was a new container PAAS coming out every other day. Docker’s tools aren’t perfect, but I think they are very good — they are well thought out, easy for developers, and promote repeatability and decomposing an app into small units.
In your presentation you’re going to discuss the journey from bare metal to full containerization, don’t give away all the juicy bits, but can I have an overview?
Sure. I’m going to go through the story of getting containers into production at Zoosk. It starts with the “why”. A few years ago, we found ourselves with a microservices architecture but no good way to manage all of the services. Then I’ll talk about the “how”. We set up some infrastructure, built a few integrations, and started repackaging services. Before long, we had our own basic PAAS build on Docker. It works great for us. I’ll talk about how our container workflow has fixed the problems we were trying (and failing) to fix with config management.
I’ll also share some tools that we built along the way. One in particular is an image builder that is inspired by docker but builds VM images. We used it migrate an existing VM from an mutable, config-management model to an immutable, image based model.
How do you see the industry continuing to evolve?
Certain choices will become easier. It seems like kubernetes is winning the orchestration race, and homegrown orchestration like ours will become a relic. The “serverless” concept is also interesting, but it seems somewhat like a container hosting platform with a more constrained API.
What technologies/developments are you most looking forward to using in 2017?
I think we’ll start seeing systems that safely run stateful services on replicated, ephemeral instances in the cloud. Software like cockroachdb and uber’s ringpop will allow us to effortlessly scale the backend, across regions and around the world. Someday this will all be simpler but we have a ways to go!
Where have you seen the biggest effect from containerisation in your product pipeline?
If I had to choose one it would be testing. These days when we want to make a “platform” change — like upgrading php or nodejs – it’s an in-container change that ships through QA like anything else. In the old days it was a circus trying to coordinate config management changes on the environments where we do testing.
What kinds of custom Docker implementations are you using and how/why?
We did an integration with custom secret store that we use at Zoosk. We built it since we already had a secret store and we needed some way to inject secrets into containers. I think the way that we did it is unusual — we implemented the docker registry API in the secret store, so we can pull data containers right out of the service, and no “docker build” is necessary. We did another integration with our load balancers. We already had load balancers, so we wrote a sync script that creates LB pools for each container version that we launch. Our deploy process also calls the docker API directly on the appropriate hosts in production.
What are you most looking forward to discussing at Container World?
I’m looking forward to getting new perspectives on the container ecosystem. Conferences always surprise me. I always learn something new and impactful, but it’s never in the talk that sounds like it will be the best one. So, we’ll see! I’m looking forward to it.