DockerCon - Lessons from Using Docker to Improve Web Developer Productivity
Lessons From Using Docker to
Improve Web Developer Productivity
Kevin Ready and Aater Suleman, PhD
We will discuss ...
Auto.com’s experiences with Docker and fully automated infrastructure
management in the cloud.
A new question: What does it mean to run a full stack ‘production’
environment on a developer laptop? Can it even be done?
A serial entrepreneur and author
General Manager, CoStar Group (NASDAQ: CSGP)
General Manager at Auto.com
Contributor at Forbes on Startups and Entrepreneurship
Startup mentor and advisor at TechRanch Austin.
Co-founder & CEO Flux7
Faculty, University of Texas at Austin
Flux7: Cloud and DevOps Solutions
Cloud and Devops for Web teams
Enterprise DevOps management
Auto.com’s Infrastructure Team
Senior Software Engineer,
Director of Engineering,
Managing the details of migrating Auto.com’s complex environment and
processes to the chef and docker automation platform.
Vikram Nallamala Nikos Lakoutsis
Managing the automation of Auto.com’s new developer environment.
What is auto.com?
An Innovation Initiative of Cars.com
From ad-hoc to
A move to automation...
How We Got There: Prod on A Laptop
Developer Local Test QA Production
container for each
Run a VM with folder
sync and port
Used to provision
Docker containers in
both dev and prod
run scripts on the
These Scripts Make a Working System
A Full Production Database on a Laptop?
database won’t run
on a laptop
Rule: Development uses fresh
SQS Runs In Cloud … Not A Laptop
Rule #2: No AWS
Dependencies in Dev
Modified app to use
Rule #1: Environment is
Identical in Dev to Prod
Service Addressing In Dev
static IP addresses
dev uses /etc/hosts,
prod uses Route53
Rule: Service addressing
transparent between Dev and
Prod for developers
How to provision
the environment on
a new laptop
How to edit code
and refresh in the
Innovation: Easier to Innovate when cost of being wrong is low
Continuity: Organizational ownership of operations knowledge - very
valuable for business continuity.
Faster Iteration: High fidelity and confidence in Dev and QA means
means faster iteration of product
Talent: Willingness to experiment with advanced technology like docker
attracts talented contributors to our team
Automation Changes Behavior
Automation something that we ‘have’ - it is something that we ‘are’. It
is our process.
“Use it or lose it”