SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Introduction to Docker
Pini Reznik
www.uglyduckling.nl
Evolution of IT

Image courtesy of Docker Inc./ docker.io
Challenge of Multiple Environments

Image courtesy of Docker Inc./ docker.io
Cargo Analogy

Image courtesy of Docker Inc./ docker.io
Cargo Delivery Pipeline

Image courtesy of Docker Inc./ docker.io
Shipping Goods
Shipping with Containers

Image courtesy of Docker Inc./ docker.io
Scalability with Containers
Software Delivery Pipeline
Common Challenges in the Pipeline

Development

Test

Acceptance

Production

Environment
Setup

Clean
Environments

Similarity to
Production

Deployments and
Roll-back/forwards
Software in Containers

Image courtesy of Docker Inc./ docker.io
What is Docker?
• Quote from docker.io:
“Docker is an open-source engine that automates
the deployment of any application as a lightweight,
portable, self-sufficient container that will run
virtually anywhere.”
Docker Functions

Image courtesy of Docker Inc./ docker.io
Delivery Pipeline with Containers
Docker and VMs

Image courtesy of Docker Inc./ docker.io
Docker and Puppet/Chef

Image courtesy of Puppet Labs puppetlabs.com
Benefits for Development 1
Benefits for Development 2
• Easy Setup of Development Machines
• Environments versioned in Source Control and
easily maintainable by Developers
• Consistent and repeatable Environments for
Build, Test, Acceptance and Production
• Zero penalty for Re-deployment. Clean
Container for each run.
• Run each CI build and Test Suite in a Clean
Container.
Benefits for Operations
• Runs on virtually any Linux with kernel 3.8+
• All product logic belongs to Development.
Including components dependencies.
• Better resources utilization.
• Simplification of Continuous Deployment.
• Consistency between Development, Testing
and Production Environments.
Open Challenges
• Deployment of Containers on Infrastructure
• Orchestration of Multi-Container deployments
• Infrastructure is a separate challenge
Software Configuration Management
Done Right.
Everything we need to build our software
is now finally in the Version Control
Docker talk
Docker talk

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

"Workstation Up" - Docker Development at Flow by Mike Roth
"Workstation Up" - Docker Development at Flow by Mike Roth"Workstation Up" - Docker Development at Flow by Mike Roth
"Workstation Up" - Docker Development at Flow by Mike Roth
 
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
Using Docker to Develop, Test and Run Maven Projects - Wouter DanesUsing Docker to Develop, Test and Run Maven Projects - Wouter Danes
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
 
How to contribute for Docker Labs
How to contribute for Docker LabsHow to contribute for Docker Labs
How to contribute for Docker Labs
 
Demystifying Docker
Demystifying DockerDemystifying Docker
Demystifying Docker
 
CI/CD Pipeline with Docker
CI/CD Pipeline with DockerCI/CD Pipeline with Docker
CI/CD Pipeline with Docker
 
Continuous Integration of Mobile Apps with Docker and Appium
Continuous Integration of Mobile Apps with Docker and AppiumContinuous Integration of Mobile Apps with Docker and Appium
Continuous Integration of Mobile Apps with Docker and Appium
 
Testing as a container
Testing as a containerTesting as a container
Testing as a container
 
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven DevelopmentCodefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
 
Docker on Windows: From 101 to Modernizing .NET Apps
Docker on Windows: From 101 to Modernizing .NET AppsDocker on Windows: From 101 to Modernizing .NET Apps
Docker on Windows: From 101 to Modernizing .NET Apps
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
CI/CD with Docker on AWS
CI/CD with Docker on AWSCI/CD with Docker on AWS
CI/CD with Docker on AWS
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and Docker
 
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
 
Intro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler JewellIntro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler Jewell
 
Automated-Testing-inside-containers
Automated-Testing-inside-containersAutomated-Testing-inside-containers
Automated-Testing-inside-containers
 
Zalenium - SeleniumConf Austin 2017
Zalenium - SeleniumConf Austin 2017Zalenium - SeleniumConf Austin 2017
Zalenium - SeleniumConf Austin 2017
 
Eclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for DevelopersEclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for Developers
 
Sleep Peacefully as Maven Tycho Builds your Product
Sleep Peacefully as Maven Tycho Builds your ProductSleep Peacefully as Maven Tycho Builds your Product
Sleep Peacefully as Maven Tycho Builds your Product
 
Exploring Docker in CI/CD
Exploring Docker in CI/CDExploring Docker in CI/CD
Exploring Docker in CI/CD
 

Andere mochten auch

Containers in a file
Containers in a fileContainers in a file
Containers in a file
OpenVZ
 
Microservices and the future on Infrastructure
Microservices and the future on InfrastructureMicroservices and the future on Infrastructure
Microservices and the future on Infrastructure
Pini Reznik
 

Andere mochten auch (8)

Docker echosystemtelaviv
Docker echosystemtelavivDocker echosystemtelaviv
Docker echosystemtelaviv
 
Containers in a file
Containers in a fileContainers in a file
Containers in a file
 
Training SEO Presenter 23 juni 2015
Training SEO Presenter 23 juni 2015Training SEO Presenter 23 juni 2015
Training SEO Presenter 23 juni 2015
 
Docker con 2016 recap
Docker con 2016 recap Docker con 2016 recap
Docker con 2016 recap
 
Schrijven voor het web
Schrijven voor het webSchrijven voor het web
Schrijven voor het web
 
Antitude.io pitch at the Startup Weekend Amsterdam 2014
Antitude.io pitch at the Startup Weekend Amsterdam 2014Antitude.io pitch at the Startup Weekend Amsterdam 2014
Antitude.io pitch at the Startup Weekend Amsterdam 2014
 
Microservices and the future on Infrastructure
Microservices and the future on InfrastructureMicroservices and the future on Infrastructure
Microservices and the future on Infrastructure
 
'Nog vragen'? De klant in beeld. Gastcollege UU 25 oktober 2016
'Nog vragen'? De klant in beeld. Gastcollege UU 25 oktober 2016'Nog vragen'? De klant in beeld. Gastcollege UU 25 oktober 2016
'Nog vragen'? De klant in beeld. Gastcollege UU 25 oktober 2016
 

Ähnlich wie Docker talk

Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Simplilearn
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
Chris Ciborowski
 

Ähnlich wie Docker talk (20)

Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction Guide
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
C219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better TogetherC219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better Together
 
Docker
DockerDocker
Docker
 
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
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
 
Dockerizing development workflow
Dockerizing development workflowDockerizing development workflow
Dockerizing development workflow
 
SS Introduction to Docker
SS Introduction to DockerSS Introduction to Docker
SS Introduction to Docker
 
Tech Talk #2: Docker - From $1 Billion Startup to the Future Industry Standard
Tech Talk #2: Docker - From $1 Billion Startup to the Future Industry StandardTech Talk #2: Docker - From $1 Billion Startup to the Future Industry Standard
Tech Talk #2: Docker - From $1 Billion Startup to the Future Industry Standard
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
Using Docker EE in a CI/CD Workflow
Using Docker EE in a CI/CD WorkflowUsing Docker EE in a CI/CD Workflow
Using Docker EE in a CI/CD Workflow
 
Docker containers intro
Docker containers introDocker containers intro
Docker containers intro
 
Docker
DockerDocker
Docker
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker for .net developer
Docker for .net developerDocker for .net developer
Docker for .net developer
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Docker lxc win
Docker lxc winDocker lxc win
Docker lxc win
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Docker talk

Hinweis der Redaktion

  1. Opening question: how many developers? Sys-admins? DevOps? Other?
  2. I would like to start with a bit of history1995: Single HW server -> Well-Defined Middleware and OS -> Thick SW2015: Variety of HW, clouds -> Middleware based on dozens/hundreds of 3rd party components -> Thin application Since 90s we learned how to reuse existing technologies and by that increase the speed of development of new features.But increase of reliance on growing number of components made the deployment process pain in the ass.
  3. UP: Web servers, Load Balancers, DBs, queues, monitoring, …Down: VMs, cloud, Laptops, Dev/Test/Acceptance/ProductionComplexity in such environment is growing day by day. All this various SW components should fit the middleware and run on different types of HW
  4. At this point I would like to suggest cargo shipment analogy.The situation in the goods delivery logistics just about 60 years ago was very similar to our software delivery situation right now.Variety of transportation and storage means and complexity of fitting different types of goods in.
  5. Goods being shipped through delivery pipeline.Different formats, packaging. Interaction between goods. Each stage in the pipeline needs to support all possible formats. Including yet to be invented
  6. And that is how the work is typically done at such pipeline.It is manual, complicated and requires understanding of the content by the workers.Does it remind you anything? Think what would say an operational person in the picture to two teams of developers who built round barrels and square boxes. Ad what will say at the destination then coffee will smell like spices.
  7. The solution is – standardized containers.All types of storage and transportation support containers.They are always sealed and the content is separated from the content of other containers.Now developers can build anything they want as long as it fits into container and operations can focus of maintenance of the infrastructure.Maybe they can finally fix those railroads.  and finish the metro line
  8. And that is how scalability is done in the world of containers. How would you put a piano on such ship without a container? 
  9. And that is how our SW delivery pipeline typically looks like.It isn’t much different from the cargo delivery pipeline and it has similar problems related to incompatibility between different parts and very complicated dependencies between the goods and the infrastructure.
  10. I listed on this slide only one common challenges for each stage.Can you suggest few more?Draw pipeline with boxes on the board and write down all challenges.
  11. The solution will be very similar.Developers will build their stuff and place it in a standard container. Such container will be picked up by an operations and deployed to variety of different platforms without concern of dependencies and incompatibilities. This is not 100% accurate but it is definitely much better than the current situation
  12. In a very simplistic way we can say following about docker functionality.It is based on existing technologies LXC containers, cgroups and AUFSThere are dockerfiles which are similar to source code and used to build the images. Build process. Inherits an image, creates container, runs commands from Dockerfile inside and creates a new image.New image is pushed into central repo - Docker Index. Central or LocalWhen container is started it will pull the relevant image, cache it locally and create container out of it. First time includes downloading, secont time is typically around 0.100 SecContainer will run on basically any Linux with Kernel 3.8+ or in any VM with such Linux. As well as natively on some cloud systems like OpenStack and at some service providers like dotCloud and DigitalOcean
  13. The solution for many problems you suggested earlier can be Docker, which will be used to run your software quickly and consistently at all stages of the delivery pipelineContainers are easily built and can be started in fraction of a second. They provide similar protection from the external environment as shipping containers provide to the delivered goods.
  14. Basically VM can do everything Docker does and more except:It is less portable. Most of the hypervisor and clouds have different VM formats despite the attempts to standardize them.More resources required to run VMs.Building VM will take anywhere between 5-30 minutesStartup time is is typically around few minutes.This makes creation on new VMs difficult and cumbersome which in turn will create the situation where developers try to avoid recreation of VMs as much as possible
  15. Puppet and chef is like building a robot to move those barrels, boxes and pianos around.It is better than doing it manually the complexity makes it too expensive for simple situation.In typical environment VMs and puppet/chef/ansible will be used in conjunction.Both are very useful and Docker is not going to replace them, it will be added to the mix. Puppet/chef are good to manage underling infrastructure and VMs are very important for building clouds.
  16. I just wanted to show something really impressive here.More is coming at the Demo.
  17. Containers allow to run applications inside a protected bubble but it does not resolve the challenges of multi-server, multi-container setups.In this sense containers are similar to regular servers and VMs and additional orchestration and deployment tools will be required.The best candidate today for the orchestration is Ansible. It is super powerful in conjunction with Docker. Or a new tool Serf which will probably be even better, but we are not going to talk about it today.There are also many cloud manager which natively support Docker containers. The biggest ones is OpenStack and Openshift but also Deis, Flynn, Voxoz and probably others.Come over for our next meetup to hear about it.
  18. We are doing Docker Clinic at …. You can come over and explain your situation to us and we will suggest the way Docker can help, or not, your organizationYou can ask Jamie or more details.