docker, developers take power
DESCRIPTION
How docker change organization of development and ops teams What is the point for developers when it comes to interactions with underlying system and application dependencies Lessons learnt by @EnaleanTeam on mytuleap.com experienceTRANSCRIPT
DOCKER, DEVELOPERS TAKE POWER
Manuel Vacelet @vaceletm
w w w . e n a l e a n . c o m
Bio
CTO#developer#agile#SoftwareEngineering
@EnaleanTeam
w w w . e n a l e a n . c o m
What is this all about ? - The fame
Started in January 2013 (22 months ago)Open source / 650 contributors45K docker repositories on public hubInvolved: Red Hat, Microsoft, Google, VMWare...
w w w . e n a l e a n . c o m
What is this all about ? - The use cases
PaaSContinuous deliveryContinuous integration
w w w . e n a l e a n . c o m
What is this all about ? - The techno
Virtual Machine
Docker
w w w . e n a l e a n . c o m
What is this all about ? - Terms
ImageContainerDockerfile
w w w . e n a l e a n . c o m
What is this all about ? - Dockerfile
FROM debian:jessie
RUN apt-get install apache wordpress
COPY . /var/www
CMD /usr/sbin/httpd -DFOREGROUND
w w w . e n a l e a n . c o m
Example: mytuleap.com
Sprint 2014, docker v0.94 days to pack Tuleap in a container
Demo !
w w w . e n a l e a n . c o m
mytuleap.com: Architecture
PROBLEM #1: PAPER TIGERS
Developers power
Software is cheap
w w w . e n a l e a n . c o m
Why software is cheap?
Easy to experiment, revertYou can make mistakes
w w w . e n a l e a n . c o m
Developers power...less
Software is cheap... but deployment is hard
w w w . e n a l e a n . c o m
Why deployment is hard ?
apt-get install redis npm rails bundle mongrel nginxnpm install bowerbower install angular gulp grunt...“For sure we can do it, it's software!”
w w w . e n a l e a n . c o m
Docker redefine delivery
Traditional Docker
w w w . e n a l e a n . c o m
Microservices for the masses
w w w . e n a l e a n . c o m
PROBLEM #2: PRINCESS EFFECT
How developers do Ops
Install ubuntumix with debian repobring PC to IT desk
w w w . e n a l e a n . c o m
What docker change
Shared environments
Need an elasticsearch server ?
$> docker run --name=fts enalean/elasticsearch
Need an ldap server ?
$> docker run --name=ldap enalean/ldap
Need to build your angular app ?
$> docker run -v $PWD:/build enalean/build-angular
w w w . e n a l e a n . c o m
BACK ON MYTULEAP.COM
How docker made this possible ?
4 days: low learning curveHigh density: low resources30s cold run: damn fast !
w w w . e n a l e a n . c o m
mytuleap.com / architecture
w w w . e n a l e a n . c o m
CONCLUSION
Developers take power
Infrastructure as code level upDeployment is no longer an issueUse the right tool for the right job
What's next / where to start ?
Grenoble devops meetup: next tuesday (25th) @ Wizbiidocker.io
w w w . e n a l e a n . c o m