Published on

Saving Hundreds by Using Containers

Authors

From Startup... To Scale

Admittedly, this post is mostly talking about cleaning up technical debt. We didn't worry about having the cleanest or fastest deployment pipeline in the beginning. We were worried about solving all the problems that we were facing and figuring out the best ways to implement the features we needed. This meant deployments were thrown together and not well planned. We ended up with dozens of VMs running different applications and services and none of it really made any sense. Managing all of this was a nightmare, and incident response was slower.

Containerize + Colocate

Since we've mostly adopted a microservice architecture, many of the apps we need to run our network are small and perform one or a few tasks only. Additionally, most of these applications run in a "hot-cold" deployment, where there is one instance running that is in use and another one, fully replicated, in a different region. Ultimately the best way to do this was obvious: deploy two large Docker hosts, one is "hot" and runs all the currently-in-use instances. The other is "cold" and on standby in case a single primary instance or the entire primary Docker host fails, or if the cloud provider's region goes down.

Why Not (something else)?

It's probably not necessary. While everyone (rightfully) thinks that CDNs are all about high scalability, and we are, but these microservices simply don't need to scale horizontally as we grow. If we needed more features, we'd look at other tools that have them, but just using Docker Compose and automating the entire process with Ansible is enough for us here.

Results

Builds are automated now, and deployments can happen with a few keystrokes. Monitoring and managing the services is easier, and of course, we're saving a ton of money. It really feels like 2013 again.

Budget Reduction

You can expect that since we were wasting so many resources before, this move significantly reduced our cloud bill for our backend systems. We went from nearly 400/motolessthan400/mo to less than 80.

Check Out What We've Built

Sign up for Skip2

Create your account