SlideShare a Scribd company logo
Docker for development
Why and how to use docker for development
Nelis Boucké
+32 486 76 12 71
@nelisboucke
in/nelis
Erik Talboom
+32 498 43 29 67
@talboomerik
in/talboomerik
Dev, no ops!
First we show, then you do
Content
● Why a session on docker?
● What is docker?
● Usage during development?
● What did we discover?
SHOW, DON’T TELL
Demo 1: Develop a website
Demo: Develop a website
Goal: use docker during development of a website
a. Html, php, javascript
b. Use volume to share website content between host and docker
What is docker?
“Docker - build, ship and run any app. Anywhere”
“Docker is a platform for developing, shipping and running applications using container virtualization
technology”
“Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run:
code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will
always run the same, regardless of the environment it is running in.”
What is docker?
“Docker - build, ship and run any app. Anywhere”
“Docker is a platform for developing, shipping and running applications using
container virtualization technology”
“Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run:
code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will
always run the same, regardless of the environment it is running in.”
What is docker?
“Docker - build, ship and run any app. Anywhere”
“Docker is a platform for developing, shipping and running applications using container virtualization
technology”
“Docker containers wrap up a piece of software in a complete filesystem that
contains everything it needs to run: code, runtime, system tools, system libraries –
anything you can install on a server. This guarantees that it will always run the
same, regardless of the environment it is running in.”
Virtual machines vs Containers
Containers are like onions
Containers share
What are the different components?
Docker engine
Docker hub
Docker machine
Docker swarm
Docker compose
Kitematic
What does it mean for development?
● Lightweight
● Simple test environment
● One person makes it work
○ All external packages included!
● Different version in parallel
Demo 2: Multiple servers
Demo: Java Spring bootstrap
Goal: use docker during development of a java application
a. Database
b. Building and package your app in docker
What are the different components?
Docker engine
Docker hub
Docker machine
Docker swarm
Docker compose
Kitematic
Demo: Microservices
Goal: setup a scalable microservice app
https://github.com/docker/example-voting-app
Imagine…
Imagine: architecture landscape
CRM Billing Finance
Angular app
Market appBPM ServiceMix
Identity
MySql Postgres
Reverse proxy Admin access gatewaySquid
SFTP
server
Imagine: scenario to onboard a customer
CRM Billing Finance
Angular app
Market appBPM ServiceMix
Identity
MySql Postgres
Reverse proxy Admin access gatewaySquid
SFTP
server
● Lightweight!
● Easy test environment with multiple servers!
● Real ‘container’
Difference with Vagrant?
● External packages encapsulated (build time of Docker)
● Less resources
What does it mean for development?
Artifacts
What are the different components?
Docker engine
Docker hub
Docker machine
Docker swarm
Docker compose
Kitematic
Demo 3: CI
Imagine…
Imagine: lots of people...
Demo: Per branch testing
Goal: simplify testing for each branch
What does it mean for development?
● Isolated environments for focused testing
● Fast end users testing and feedback!
● No need to run complex environment locally
Demo 4: AWS
Demo: AWS swarm
● Transparent app over a set of nodes
● Scale
● Update a node
What are the different components?
Docker engine
Docker hub
Docker machine
Docker swarm
Docker compose
Kitematic
What does this mean for development?
● Enables mixed technologies
● Plays really well with microservices
● Higher flexibility
○ Deployment options
○ Scaling
○ Updates
→ More fundamental shift then some people realise
Data storage
Docker volumes
“A volume is a designated directory in a container, which is designed to persist data,
independent of the container’s lifecycle”
+ Volume changes are excluded when updating an image
+ Persist when a container is deleted
+ Can be mapped to a host folder
+ Can be shared between containers
How to use volumes?
What to use volumes for?
Closing remarks
● Reproducible and reliable
● Easy and fast to build, test, release
● Potentially shippable product focus
Underlying principles
How to solve this?
Challenges introducing docker
● Learning curve for your developers and ops team.
○ You really need some Ops knowledge to set this up.
● Not everything is easy to dockerize well (e.g. Jenkins)
● Docker for dev != Docker in production
● Docker environment is fast changing, and comes with a whole new set of tools
● Docker stability in production (disk drivers, network setup, connection with
Kernel)
● Docker security?
What’s next?
Dev + ops!
Thank you
Nelis Boucke
+32 486 76 12 71
@nelisboucke
in/nelis
Erik Talboom
+32 498 43 29 67
@talboomerik
in/talboomerik
http://urls.colearn.be/2fYkokI

More Related Content

What's hot

Docker in Production
Docker in ProductionDocker in Production
Docker in Production
Jirayut Nimsaeng
 
Intro to Docker (hands-on session)
Intro to Docker (hands-on session)Intro to Docker (hands-on session)
Intro to Docker (hands-on session)
Nilesh ☁ Londhe
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Jirayut Nimsaeng
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
Jaran Flaath
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
sparkfabrik
 
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker ComposeContainers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Raziel Tabib (Join our team)
 
Docker Non Technical Presentation
Docker Non Technical PresentationDocker Non Technical Presentation
Docker Non Technical Presentation
Jérôme Petazzoni
 
Docker 101
Docker 101Docker 101
Docker 101
Hung-Che Lo
 
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyContribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Docker, Inc.
 
Docker for dummies
Docker for dummiesDocker for dummies
Docker for dummies
SIVALINGAPANDIAN VELAYUTHAM
 
Kube what? for NodeJs developers
Kube what? for NodeJs developersKube what? for NodeJs developers
Kube what? for NodeJs developers
All Things Open
 
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-ComposeTales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Docker, Inc.
 
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
damovsky
 
VASCAN - Docker and Security
VASCAN - Docker and SecurityVASCAN - Docker and Security
VASCAN - Docker and Security
Michael Irwin
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
Yajushi Srivastava
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to docker
Dr Ganesh Iyer
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 
Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...
Docker, Inc.
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Adam Štipák
 

What's hot (20)

Docker in Production
Docker in ProductionDocker in Production
Docker in Production
 
Intro to Docker (hands-on session)
Intro to Docker (hands-on session)Intro to Docker (hands-on session)
Intro to Docker (hands-on session)
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker ComposeContainers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
 
Docker Non Technical Presentation
Docker Non Technical PresentationDocker Non Technical Presentation
Docker Non Technical Presentation
 
Docker 101
Docker 101Docker 101
Docker 101
 
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyContribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
 
Docker for dummies
Docker for dummiesDocker for dummies
Docker for dummies
 
Kube what? for NodeJs developers
Kube what? for NodeJs developersKube what? for NodeJs developers
Kube what? for NodeJs developers
 
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-ComposeTales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
 
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
 
VASCAN - Docker and Security
VASCAN - Docker and SecurityVASCAN - Docker and Security
VASCAN - Docker and Security
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to docker
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
 
Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 

Viewers also liked

Componentes del universo
Componentes del universoComponentes del universo
Componentes del universo
Elida Capetillo La Hoz
 
Act1 ev
Act1 evAct1 ev
Act1 ev
esteban vela
 
Modernizacion 2013
Modernizacion 2013Modernizacion 2013
Modernizacion 2013ANA CODINA
 
Theoretical genre
Theoretical genreTheoretical genre
Theoretical genre
imunoztorre
 
ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...
ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...
ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...
Інститут післядипломної педагогічної освіти КУБГ
 
Virus informatico 306
Virus informatico 306Virus informatico 306
Virus informatico 306
Donovan Cano
 
ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...
ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...
ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...
Інститут післядипломної педагогічної освіти КУБГ
 
(Erika) iphone 4 rey david
(Erika) iphone 4 rey david(Erika) iphone 4 rey david
(Erika) iphone 4 rey davidJessicalvarez
 
Sürgülü dolap satmak istiyorum
Sürgülü dolap satmak istiyorumSürgülü dolap satmak istiyorum
Sürgülü dolap satmak istiyorum
Köşe koltuk takımı alanlar
 
Liturgia 4
Liturgia 4Liturgia 4
Tallerpractico 10 subgrupo 5 g1
Tallerpractico 10 subgrupo 5  g1Tallerpractico 10 subgrupo 5  g1
Tallerpractico 10 subgrupo 5 g1
saimer antonio sarabia guette
 
Inspirational Lecture - Philippe De Backer - Privacy
Inspirational Lecture - Philippe De Backer - PrivacyInspirational Lecture - Philippe De Backer - Privacy
Inspirational Lecture - Philippe De Backer - Privacy
Tom Fleerackers
 
Chava y sergio
Chava y sergioChava y sergio
Chava y sergio
salvadoryedgar
 
Final pro modelpfs2015loop
Final pro modelpfs2015loopFinal pro modelpfs2015loop
Final pro modelpfs2015loop
ProModel Corporation
 

Viewers also liked (19)

Curso de historia
Curso de historiaCurso de historia
Curso de historia
 
Componentes del universo
Componentes del universoComponentes del universo
Componentes del universo
 
Act1 ev
Act1 evAct1 ev
Act1 ev
 
Modernizacion 2013
Modernizacion 2013Modernizacion 2013
Modernizacion 2013
 
Theoretical genre
Theoretical genreTheoretical genre
Theoretical genre
 
ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...
ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...
ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...
 
Virus informatico 306
Virus informatico 306Virus informatico 306
Virus informatico 306
 
Resume
ResumeResume
Resume
 
Capítulo 9 grupo 10
Capítulo 9   grupo 10Capítulo 9   grupo 10
Capítulo 9 grupo 10
 
ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...
ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...
ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...
 
(Erika) iphone 4 rey david
(Erika) iphone 4 rey david(Erika) iphone 4 rey david
(Erika) iphone 4 rey david
 
Sürgülü dolap satmak istiyorum
Sürgülü dolap satmak istiyorumSürgülü dolap satmak istiyorum
Sürgülü dolap satmak istiyorum
 
BCV16.3
BCV16.3BCV16.3
BCV16.3
 
Liturgia 4
Liturgia 4Liturgia 4
Liturgia 4
 
Tallerpractico 10 subgrupo 5 g1
Tallerpractico 10 subgrupo 5  g1Tallerpractico 10 subgrupo 5  g1
Tallerpractico 10 subgrupo 5 g1
 
Inspirational Lecture - Philippe De Backer - Privacy
Inspirational Lecture - Philippe De Backer - PrivacyInspirational Lecture - Philippe De Backer - Privacy
Inspirational Lecture - Philippe De Backer - Privacy
 
Matematicas ENSJ
Matematicas ENSJMatematicas ENSJ
Matematicas ENSJ
 
Chava y sergio
Chava y sergioChava y sergio
Chava y sergio
 
Final pro modelpfs2015loop
Final pro modelpfs2015loopFinal pro modelpfs2015loop
Final pro modelpfs2015loop
 

Similar to Docker for dev

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
zekeLabs Technologies
 
Docker - An Introduction
Docker - An IntroductionDocker - An Introduction
Docker - An Introduction
Knoldus Inc.
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
Shubhrank Rastogi
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Aditya Konarde
 
Why to docker
Why to dockerWhy to docker
Why to docker
Karthik Gaekwad
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
Jordan Open Source Association
 
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 2013dotCloud
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
Anvay Patil
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
Vishwas N
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
damovsky
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao
 
Docker slides
Docker slidesDocker slides
Docker slides
Jyotsna Raghuraman
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
BalaBit
 
DCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and ArchitectureDCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and Architecture
Docker, Inc.
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
Yusuf Hadiwinata Sutandar
 
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
zekeLabs Technologies
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
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
Yusuf Hadiwinata Sutandar
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
Ankit Gupta
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
Oracle Developers
 

Similar to Docker for dev (20)

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
 
Docker - An Introduction
Docker - An IntroductionDocker - An Introduction
Docker - An Introduction
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Why to docker
Why to dockerWhy to docker
Why to docker
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
 
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
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker slides
Docker slidesDocker slides
Docker slides
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 
DCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and ArchitectureDCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and Architecture
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
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 - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
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
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 

More from Erik Talboom

Gamestorming (opnieuw) leren samen spelen
Gamestorming  (opnieuw) leren samen spelenGamestorming  (opnieuw) leren samen spelen
Gamestorming (opnieuw) leren samen spelen
Erik Talboom
 
Why agile - ING bootcamp
Why agile - ING bootcampWhy agile - ING bootcamp
Why agile - ING bootcamp
Erik Talboom
 
AgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: KeynoteAgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: Keynote
Erik Talboom
 
AgileTour2010 Ghent Keynote
AgileTour2010 Ghent KeynoteAgileTour2010 Ghent Keynote
AgileTour2010 Ghent Keynote
Erik Talboom
 
Agile software developement
Agile software developementAgile software developement
Agile software developement
Erik Talboom
 
The agile state of mind
The agile state of mindThe agile state of mind
The agile state of mindErik Talboom
 

More from Erik Talboom (7)

Gamestorming (opnieuw) leren samen spelen
Gamestorming  (opnieuw) leren samen spelenGamestorming  (opnieuw) leren samen spelen
Gamestorming (opnieuw) leren samen spelen
 
Cqrs in babysteps
Cqrs in babystepsCqrs in babysteps
Cqrs in babysteps
 
Why agile - ING bootcamp
Why agile - ING bootcampWhy agile - ING bootcamp
Why agile - ING bootcamp
 
AgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: KeynoteAgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: Keynote
 
AgileTour2010 Ghent Keynote
AgileTour2010 Ghent KeynoteAgileTour2010 Ghent Keynote
AgileTour2010 Ghent Keynote
 
Agile software developement
Agile software developementAgile software developement
Agile software developement
 
The agile state of mind
The agile state of mindThe agile state of mind
The agile state of mind
 

Recently uploaded

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 

Recently uploaded (20)

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 

Docker for dev

  • 1. Docker for development Why and how to use docker for development Nelis Boucké +32 486 76 12 71 @nelisboucke in/nelis Erik Talboom +32 498 43 29 67 @talboomerik in/talboomerik
  • 3. First we show, then you do
  • 4. Content ● Why a session on docker? ● What is docker? ● Usage during development? ● What did we discover?
  • 6. Demo 1: Develop a website
  • 7. Demo: Develop a website Goal: use docker during development of a website a. Html, php, javascript b. Use volume to share website content between host and docker
  • 8. What is docker? “Docker - build, ship and run any app. Anywhere” “Docker is a platform for developing, shipping and running applications using container virtualization technology” “Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.”
  • 9. What is docker? “Docker - build, ship and run any app. Anywhere” “Docker is a platform for developing, shipping and running applications using container virtualization technology” “Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.”
  • 10. What is docker? “Docker - build, ship and run any app. Anywhere” “Docker is a platform for developing, shipping and running applications using container virtualization technology” “Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.”
  • 11. Virtual machines vs Containers
  • 14. What are the different components? Docker engine Docker hub Docker machine Docker swarm Docker compose Kitematic
  • 15. What does it mean for development? ● Lightweight ● Simple test environment ● One person makes it work ○ All external packages included! ● Different version in parallel
  • 16. Demo 2: Multiple servers
  • 17. Demo: Java Spring bootstrap Goal: use docker during development of a java application a. Database b. Building and package your app in docker
  • 18. What are the different components? Docker engine Docker hub Docker machine Docker swarm Docker compose Kitematic
  • 19. Demo: Microservices Goal: setup a scalable microservice app https://github.com/docker/example-voting-app
  • 21. Imagine: architecture landscape CRM Billing Finance Angular app Market appBPM ServiceMix Identity MySql Postgres Reverse proxy Admin access gatewaySquid SFTP server
  • 22. Imagine: scenario to onboard a customer CRM Billing Finance Angular app Market appBPM ServiceMix Identity MySql Postgres Reverse proxy Admin access gatewaySquid SFTP server
  • 23. ● Lightweight! ● Easy test environment with multiple servers! ● Real ‘container’ Difference with Vagrant? ● External packages encapsulated (build time of Docker) ● Less resources What does it mean for development?
  • 25. What are the different components? Docker engine Docker hub Docker machine Docker swarm Docker compose Kitematic
  • 28. Imagine: lots of people...
  • 29. Demo: Per branch testing Goal: simplify testing for each branch
  • 30. What does it mean for development? ● Isolated environments for focused testing ● Fast end users testing and feedback! ● No need to run complex environment locally
  • 32. Demo: AWS swarm ● Transparent app over a set of nodes ● Scale ● Update a node
  • 33. What are the different components? Docker engine Docker hub Docker machine Docker swarm Docker compose Kitematic
  • 34. What does this mean for development? ● Enables mixed technologies ● Plays really well with microservices ● Higher flexibility ○ Deployment options ○ Scaling ○ Updates → More fundamental shift then some people realise
  • 36. Docker volumes “A volume is a designated directory in a container, which is designed to persist data, independent of the container’s lifecycle” + Volume changes are excluded when updating an image + Persist when a container is deleted + Can be mapped to a host folder + Can be shared between containers
  • 37. How to use volumes?
  • 38. What to use volumes for?
  • 40. ● Reproducible and reliable ● Easy and fast to build, test, release ● Potentially shippable product focus Underlying principles
  • 41. How to solve this?
  • 42. Challenges introducing docker ● Learning curve for your developers and ops team. ○ You really need some Ops knowledge to set this up. ● Not everything is easy to dockerize well (e.g. Jenkins) ● Docker for dev != Docker in production ● Docker environment is fast changing, and comes with a whole new set of tools ● Docker stability in production (disk drivers, network setup, connection with Kernel) ● Docker security?
  • 44. Thank you Nelis Boucke +32 486 76 12 71 @nelisboucke in/nelis Erik Talboom +32 498 43 29 67 @talboomerik in/talboomerik