SlideShare une entreprise Scribd logo
1  sur  29
Why to Docker?
Karthik Gaekwad
Senior Engineer
Previous
11 years of building software for large
and small enterprises
Karthik Gaekwad
•Lead Organizer Devopsdays Austin
•Lead Organizer CloudAustin
•Agile Conference 2014/15:
•DevOps track reviewer
Objectives
•What is Docker
•Why is it so popular
•How are enterprises using it today
•Questions!
Quick Note:
Feel free to ask any questions you may have
in the question box. If I can’t answer it during
the presentation, I’ll write a blog with
answers on stackengine.com
What is Docker?
Open source platform for developers and
sysadmins to build, ship and run distributed
applications anywhere.
Docker Ecosystem
•Docker Engine
•Runtime and packaging tool
•Installed on hosts that run Docker
•Docker Hub
•Cloud Service for storing and sharing
applications
•Saving images (public/private)
Docker Features
•Portability
•Standardized Environments
•Rapid scale-up/scale-down
•Ability to build a continuous delivery (CD)
pipeline
•Dependency management
Portability
•Idea of writing once and running anywhere.
•As long as your application is Dockerized, you
can run it anywhere that has the Docker
Engine installed.
•Easy to change from 1 host to another.
•Flexibility to change underlying
infrastructure/operating systems etc.
•Change from 1 cloud provider to another.
Standardized Environments
• Coding environments can be made consistent from
development ->staging->QA->production.
• Per environment configurations are fed in the same
way to each container which reduces configuration
issues.
• Time spent debugging environmental issues is
reduced drastically.
• Developers understand the production environment
better, which leads to better code quality.
No more this:
Scaling
•Containers take seconds to deploy.
•Scale up and down your infrastructure is a
lot faster than traditional configuration
management tools.
Continuous Delivery/Deployment
• Docker API’s and Docker Hub make it easy to build a
deployment pipeline.
• After successful builds, a CI system can build and push a
Docker image to the Hub/private Docker repo.
• Deploy new containers to desired environment on a periodic
basis/trigger webhooks to deploy.
• Detailed example later..
Minimize Dependency Hell
•Dependency hell happens when:
•2 running Java or Ruby applications that depend on
different versions of the same library…..
•How Docker can help:
•Isolate each application (along with it’s
dependencies) so that they can be loaded in their
own container.
•1 container for 1 application or service (micro
service architecture)
Standardized Environments
• Starting point for most organizations to use Docker.
• Take existing (or new) applications, containerize them, run
them the same way on dev/stage/production.
• Examples on Docker.com: Orbitz, Uber
• @StackEngine:
• All our infrastructure run in containers.
• Every code push builds a new container for the application.
• All environments uses the same command to run the application:
• sudo docker run -d -p 7777:7777 -e SE_DB=‘db_val’
stackengine/admin
Pipelines
• Most common usecase of how people use Docker today.
• Examples on Docker.com: Business Insider, Spotify, Yelp
• @StackEngine:
• Code is commit to github; triggers a build with CircleCI.
• Successful build results in a built container that is deployed to a
private registry.
• Successful push to registry triggers a webhook to the StackEngine
product.
• StackEngine redeploys new container to production.
• 4 minute turnaround from commit->running in production.
Multi tenancy applications
•Single Tenant application-> Multi tenant
application by launching multiple instances
of the same application in different
containers.
•http://flux7.com/docker/
Other use cases
•Running a PaaS
•Running entire datacenters using Docker.
•EngineYard/Yandex/Baidu are great examples
of this.
•Hosting Legacy Applications
•Containerizing hard to run applications is
becoming a frequent usecase.
Docker in Production?
•Great blog post summarizing current
challenges: http://sirupsen.com/production-
docker/
•Already made huge strides in
networking/log management.
•Recommendation:
•Start small, learn, adapt, expand.
Players in the space
Resources for learning Docker:
•Docker 101 (@behemphi):
http://stackengine.com/docker-101-01-docker-
development-environments/
•Docker Tutorials by John Willis:
https://blog.docker.com/author/john-willis/
•The Docker Book- James Turnbull
Why to docker

Contenu connexe

Tendances

Tendances (20)

Docker Networking
Docker NetworkingDocker Networking
Docker Networking
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Docker architecture-04-1
Docker architecture-04-1Docker architecture-04-1
Docker architecture-04-1
 
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
 
Stateful set in kubernetes implementation & usecases
Stateful set in kubernetes implementation & usecases Stateful set in kubernetes implementation & usecases
Stateful set in kubernetes implementation & usecases
 
Azure AKS
Azure AKSAzure AKS
Azure AKS
 
Nginx
NginxNginx
Nginx
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
 
Docker Networking Overview
Docker Networking OverviewDocker Networking Overview
Docker Networking Overview
 
AWS VM import / export ハンズオン
AWS VM import / export ハンズオンAWS VM import / export ハンズオン
AWS VM import / export ハンズオン
 
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefits
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Aks pimarox from zero to hero
Aks pimarox from zero to heroAks pimarox from zero to hero
Aks pimarox from zero to hero
 
Understanding docker networking
Understanding docker networkingUnderstanding docker networking
Understanding docker networking
 
Automate DBA Tasks With Ansible
Automate DBA Tasks With AnsibleAutomate DBA Tasks With Ansible
Automate DBA Tasks With Ansible
 

Similaire à Why to docker

Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
Chris Ciborowski
 

Similaire à Why to docker (20)

Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Docker
DockerDocker
Docker
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Up & Running with Docker
Up & Running with DockerUp & Running with Docker
Up & Running with Docker
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
 
Docker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsDocker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOps
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshift
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
 
Docker Overview
Docker OverviewDocker Overview
Docker Overview
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
 
Intro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conferenceIntro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conference
 

Plus de Karthik Gaekwad

Agile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devopsAgile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devops
Karthik Gaekwad
 

Plus de Karthik Gaekwad (20)

Why to Cloud Native
Why to Cloud NativeWhy to Cloud Native
Why to Cloud Native
 
DevSecOps in a cloudnative world
DevSecOps in a cloudnative worldDevSecOps in a cloudnative world
DevSecOps in a cloudnative world
 
Mental Health studies and devops
Mental Health studies and devopsMental Health studies and devops
Mental Health studies and devops
 
This is your community
This is your communityThis is your community
This is your community
 
Practical Approaches to Cloud Native Security
Practical Approaches to Cloud Native SecurityPractical Approaches to Cloud Native Security
Practical Approaches to Cloud Native Security
 
10 tips for Cloud Native Security
10 tips for Cloud Native Security10 tips for Cloud Native Security
10 tips for Cloud Native Security
 
Kube Apps in action
Kube Apps in actionKube Apps in action
Kube Apps in action
 
KubeSecOps
KubeSecOpsKubeSecOps
KubeSecOps
 
Kubernetes Security
Kubernetes SecurityKubernetes Security
Kubernetes Security
 
Kubernetes security and you
Kubernetes security and youKubernetes security and you
Kubernetes security and you
 
Kube applications in action
Kube applications in actionKube applications in action
Kube applications in action
 
Devops and Dadops
Devops and DadopsDevops and Dadops
Devops and Dadops
 
13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications
 
Docker management
Docker managementDocker management
Docker management
 
Agile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devopsAgile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devops
 
Devopsdays Austin 2014 Ignite: Keep devops weird
Devopsdays Austin 2014 Ignite: Keep devops weirdDevopsdays Austin 2014 Ignite: Keep devops weird
Devopsdays Austin 2014 Ignite: Keep devops weird
 
Cloud Austin 2013: Conferenced2013
Cloud Austin 2013: Conferenced2013Cloud Austin 2013: Conferenced2013
Cloud Austin 2013: Conferenced2013
 
LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!
LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!
LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!
 
Agile 2013 Talk: How DevOps Changes Everything
Agile 2013 Talk: How DevOps Changes EverythingAgile 2013 Talk: How DevOps Changes Everything
Agile 2013 Talk: How DevOps Changes Everything
 
DevOps at the CIA
DevOps at the CIADevOps at the CIA
DevOps at the CIA
 

Why to docker

  • 2. Karthik Gaekwad Senior Engineer Previous 11 years of building software for large and small enterprises
  • 3. Karthik Gaekwad •Lead Organizer Devopsdays Austin •Lead Organizer CloudAustin •Agile Conference 2014/15: •DevOps track reviewer
  • 4. Objectives •What is Docker •Why is it so popular •How are enterprises using it today •Questions!
  • 5. Quick Note: Feel free to ask any questions you may have in the question box. If I can’t answer it during the presentation, I’ll write a blog with answers on stackengine.com
  • 6. What is Docker? Open source platform for developers and sysadmins to build, ship and run distributed applications anywhere.
  • 7. Docker Ecosystem •Docker Engine •Runtime and packaging tool •Installed on hosts that run Docker •Docker Hub •Cloud Service for storing and sharing applications •Saving images (public/private)
  • 8. Docker Features •Portability •Standardized Environments •Rapid scale-up/scale-down •Ability to build a continuous delivery (CD) pipeline •Dependency management
  • 9.
  • 10. Portability •Idea of writing once and running anywhere. •As long as your application is Dockerized, you can run it anywhere that has the Docker Engine installed. •Easy to change from 1 host to another. •Flexibility to change underlying infrastructure/operating systems etc. •Change from 1 cloud provider to another.
  • 11.
  • 12. Standardized Environments • Coding environments can be made consistent from development ->staging->QA->production. • Per environment configurations are fed in the same way to each container which reduces configuration issues. • Time spent debugging environmental issues is reduced drastically. • Developers understand the production environment better, which leads to better code quality.
  • 14.
  • 15. Scaling •Containers take seconds to deploy. •Scale up and down your infrastructure is a lot faster than traditional configuration management tools.
  • 16.
  • 17. Continuous Delivery/Deployment • Docker API’s and Docker Hub make it easy to build a deployment pipeline. • After successful builds, a CI system can build and push a Docker image to the Hub/private Docker repo. • Deploy new containers to desired environment on a periodic basis/trigger webhooks to deploy. • Detailed example later..
  • 18.
  • 19. Minimize Dependency Hell •Dependency hell happens when: •2 running Java or Ruby applications that depend on different versions of the same library….. •How Docker can help: •Isolate each application (along with it’s dependencies) so that they can be loaded in their own container. •1 container for 1 application or service (micro service architecture)
  • 20.
  • 21. Standardized Environments • Starting point for most organizations to use Docker. • Take existing (or new) applications, containerize them, run them the same way on dev/stage/production. • Examples on Docker.com: Orbitz, Uber • @StackEngine: • All our infrastructure run in containers. • Every code push builds a new container for the application. • All environments uses the same command to run the application: • sudo docker run -d -p 7777:7777 -e SE_DB=‘db_val’ stackengine/admin
  • 22. Pipelines • Most common usecase of how people use Docker today. • Examples on Docker.com: Business Insider, Spotify, Yelp • @StackEngine: • Code is commit to github; triggers a build with CircleCI. • Successful build results in a built container that is deployed to a private registry. • Successful push to registry triggers a webhook to the StackEngine product. • StackEngine redeploys new container to production. • 4 minute turnaround from commit->running in production.
  • 23. Multi tenancy applications •Single Tenant application-> Multi tenant application by launching multiple instances of the same application in different containers. •http://flux7.com/docker/
  • 24. Other use cases •Running a PaaS •Running entire datacenters using Docker. •EngineYard/Yandex/Baidu are great examples of this. •Hosting Legacy Applications •Containerizing hard to run applications is becoming a frequent usecase.
  • 25. Docker in Production? •Great blog post summarizing current challenges: http://sirupsen.com/production- docker/ •Already made huge strides in networking/log management. •Recommendation: •Start small, learn, adapt, expand.
  • 26. Players in the space
  • 27.
  • 28. Resources for learning Docker: •Docker 101 (@behemphi): http://stackengine.com/docker-101-01-docker- development-environments/ •Docker Tutorials by John Willis: https://blog.docker.com/author/john-willis/ •The Docker Book- James Turnbull