We’ve been hard at work this year building out Quadra, our internal Platform as a Service (PaaS), for our engineering teams. Quadra relies heavily on Docker for application deployment. Last night at OpenLate, OpenDNS Infrastructure Engineer Jessica Gadling presented a talk and demo of our progress so far.
Below is a quick summary of Jessica’s talk.
Motivations
At OpenDNS we have many engineering teams working on a range of products and internal services. We take pride in the fact that engineers can choose tools and technologies that best meet their needs. We also have a number of environments (dev, staging, production) across our own dedicated infrastructure and Amazon’s AWS. This can make dependency management difficult when sharing compute resources.
Why Docker?
We chose to Docker (http://docker.io) as a central component in our PaaS. Containerization makes software packaging and deployment simple by bundling applications with their dependencies and isolating both from unrelated applications. Virtualization was another option, but efficiently utilizing shared resources and the management overhead can become costly. We’re able to deploy hundreds of instances to individual hosts easily with low overhead.
Quadra
We’ve provided our engineers with a CLI tool to work with Quadra. This is a simple and human-friendly interface that gives our engineers enough power and control to build and deploy applications directly or from a CI tool such as Jenkins.
Base images are provided for common dependencies. We’ve also created pre-baked load balancers that can talk to the PaaS and keep proxy configurations up to date, so new projects can be up and running quickly.
Behind the scenes Quadra takes care of scheduling application instances to appropriate hosts based upon host utilization. Routing traffic to Quadra instances is fully automated by our software based routing layer.
Future
Improvements and features added to Docker are quickly incorporated into our PaaS. It’s an exciting time to be working with this technology. We look forward to talking in more detail about Docker and the rest of Quadra!
And we will continue to innovate and add to our capabilities to ensure we provide the best secure DNS to our customers.