Successfully reported this slideshow.
Lessons From Using Docker to
Improve Web Developer Productivity
Presented by:
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 q...
Today’s Presenters:
Kevin Ready
A serial entrepreneur and author
General Manager, CoStar Group (NASDAQ: CSGP)
General Mana...
Today’s Presenters:
Aater Suleman
Co-founder & CEO Flux7
Faculty, University of Texas at Austin
Flux7: Cloud and DevOps So...
Auto.com’s Infrastructure Team
Rick Saenz
Senior Software Engineer,
Auto.com
Chuck Lemons
Director of Engineering,
Auto.co...
Flux7’s Team
Vikram Nallamala Nikos Lakoutsis
Cloud Engineer,
Flux7
Managing the automation of Auto.com’s new developer en...
What is auto.com?
An Innovation Initiative of Cars.com
Our Technology Stack At A Glance
Auto.com’s “Big Plan” for Cloud
Push-Button deployment of infrastructure:
Inclusive of everything from
Security
App and Da...
Local Dev Environment That Matches
Production
The “Holy Grail” of dev environment management
Now possible in all its compl...
Production Environment at a glance
Environment Management
Dev
QA
SandBox
Production
Amazon AWS
From ad-hoc to
automated via
docker
A move to automation...
How We Got There: Prod on A Laptop
Developer Local Test QA Production
One Docker
container for each
application tier
Run a VM with folder
sync and port
forwarding
Isolates dev
environment from...
Shared
folder for
code and
logs
AppWeb
DB
LogStash
Mem
$
HTTP
SSH
Virtualbox VM
App Code
and Logs
Laptop
run scripts on th...
These Scripts Make a Working System
bootstrap_container
bootstrap_containers
build_base_image
build_from_scratch
clean_for...
A Full Production Database on a Laptop?
Multi-GB Production
database won’t run
on a laptop
Strategically sampled
data set
...
SQS Runs In Cloud … Not A Laptop
Production uses
Amazon SQS
Rule #2: No AWS
Dependencies in Dev
Modified app to use
Rabbit...
Service Addressing In Dev
Production uses
static IP addresses
dev uses /etc/hosts,
prod uses Route53
Rule: Service address...
Demo
How to provision
the environment on
a new laptop
How to edit code
and refresh in the
browser
Automation Benefits
Innovation: Easier to Innovate when cost of being wrong is low
Continuity: Organizational ownership of...
Automation Changes Behavior
Automation something that we ‘have’ - it is something that we ‘are’. It
is our process.
“Use i...
Thank You!
Twitter: @officialautocom @Flux7Labs
Website: www.auto.com www.flux7.com
More Docker Resources: http://flux7.co...
DockerCon - Lessons from Using Docker to Improve Web Developer Productivity
DockerCon - Lessons from Using Docker to Improve Web Developer Productivity
DockerCon - Lessons from Using Docker to Improve Web Developer Productivity
Upcoming SlideShare
Loading in …5
×

DockerCon - Lessons from Using Docker to Improve Web Developer Productivity

9,918 views

Published on

Talk Co-presented by Auto.com and Flux7 at DockerCon 2014

Published in: Technology, Business

DockerCon - Lessons from Using Docker to Improve Web Developer Productivity

  1. 1. Lessons From Using Docker to Improve Web Developer Productivity Presented by: Kevin Ready and Aater Suleman, PhD
  2. 2. 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?
  3. 3. Today’s Presenters: Kevin Ready 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.
  4. 4. Today’s Presenters: Aater Suleman Co-founder & CEO Flux7 Faculty, University of Texas at Austin Flux7: Cloud and DevOps Solutions Cloud and Devops for Web teams Enterprise DevOps management Clients:Partners:
  5. 5. Auto.com’s Infrastructure Team Rick Saenz Senior Software Engineer, Auto.com Chuck Lemons Director of Engineering, Auto.com Managing the details of migrating Auto.com’s complex environment and processes to the chef and docker automation platform.
  6. 6. Flux7’s Team Vikram Nallamala Nikos Lakoutsis Cloud Engineer, Flux7 Managing the automation of Auto.com’s new developer environment. DevOps Engineer, Flux7
  7. 7. What is auto.com? An Innovation Initiative of Cars.com
  8. 8. Our Technology Stack At A Glance
  9. 9. Auto.com’s “Big Plan” for Cloud Push-Button deployment of infrastructure: Inclusive of everything from Security App and Database servers Load Balancing SOA Queues Data Processing
  10. 10. Local Dev Environment That Matches Production The “Holy Grail” of dev environment management Now possible in all its complexity due to Docker.
  11. 11. Production Environment at a glance
  12. 12. Environment Management Dev QA SandBox Production Amazon AWS From ad-hoc to automated via docker A move to automation...
  13. 13. How We Got There: Prod on A Laptop Developer Local Test QA Production
  14. 14. One Docker container for each application tier Run a VM with folder sync and port forwarding Isolates dev environment from developer’s laptop Used to provision Docker containers in both dev and prod
  15. 15. Shared folder for code and logs AppWeb DB LogStash Mem $ HTTP SSH Virtualbox VM App Code and Logs Laptop run scripts on the laptop for interacting with the environment Docker Containers Redis
  16. 16. These Scripts Make a Working System bootstrap_container bootstrap_containers build_base_image build_from_scratch clean_for_docker copy_etc_hosts create_etc_hosts create_etc_hosts_for deploy_app help plumb_container plumb_containers prep_vm provision_container push_etc_hosts restart_container restart_unicorn retry_thrice rm_containers run_container run_container_raw run_containers setup_ssh_keys stop_container stop_containers
  17. 17. A Full Production Database on a Laptop? Multi-GB Production database won’t run on a laptop Strategically sampled data set The Solution Rule: Development uses fresh production data
  18. 18. SQS Runs In Cloud … Not A Laptop Production uses Amazon SQS Rule #2: No AWS Dependencies in Dev Modified app to use RabbitMQ Rule #1: Environment is Identical in Dev to Prod The Solution
  19. 19. Service Addressing In Dev Production uses static IP addresses dev uses /etc/hosts, prod uses Route53 Rule: Service addressing transparent between Dev and Prod for developers The Solution
  20. 20. Demo How to provision the environment on a new laptop How to edit code and refresh in the browser
  21. 21. Automation Benefits 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
  22. 22. Automation Changes Behavior Automation something that we ‘have’ - it is something that we ‘are’. It is our process. “Use it or lose it”
  23. 23. Thank You! Twitter: @officialautocom @Flux7Labs Website: www.auto.com www.flux7.com More Docker Resources: http://flux7.com/docker/

×