SlideShare a Scribd company logo
Does it matter
for Java Dev?
● just baked father
● SA at EPAM Systems
● primary skill is Java
● hands-on-coding with Groovy, Ruby
● trying to get in touch with Erlang/Elixir
● passionate about agile, clean code and devops
Izzet Mustafayev@EPAM Systems
@webdizz webdizz izzetmustafaiev
http://webdizz.name
Agenda
● what is docker?
● concepts
● how to
● dev env
● demo time
● what’s next
● summary
● q&a
Docker. Does it matter for Java developer ?
Docker https://www.docker.com/
Docker - An open platform for
distributed applications for
developers and sysadmins.
● Develop an app with any language and any
toolchain
● Ship the “Dockerized” app and
dependencies anywhere
● Scale, move between data centers, update
with zero downtime and more
1.6.2
released
Virtualization
Containerisation
Virtualization vs Containerisation
Container under the hood
Running containers
Concepts
Automation
● Build automation
● Provisioning automation
● Configuration automation
● Delivery Automation
● Environment as a code
● Prohibition of ad-hoc changes
Immutability
● Build
● Run
● Destroy
Disposability
Containerisation
● Container as deployment artifact
● Environment agnostic
● New version - new container
● All dependencies built in
Docker. Does it matter for Java developer ?
Installation
# apt-get update
# wget -qO- https://get.docker.com/ | sh
Assumption: Ubuntu
Dockerfile
FROM phusion/baseimage:0.9.12
RUN apt-get -y update 
&& apt-get -y install software-properties-common python-software-
properties 
&& add-apt-repository ppa:webupd8team/java 
&& apt-get clean
RUN apt-get -y update 
&& echo oracle-java8-installer shared/accepted-oracle-license-v1-
select true | /usr/bin/debconf-set-selections 
&& apt-get -y install oracle-java8-installer 
&& apt-get clean 
&& update-alternatives --display java
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
1
3
4
5
Command Line
$ docker build -t webdizz/baseimage-java8 .
$ docker images
$ docker run -d --name=java8 
webdizz/baseimage-java8
$ docker ps
$ docker logs java8
$ docker stop java8
$ docker start java8
$ docker top java8
Docker Hub
● User accounts and Authentication
● Public namespaces
● Automated builds
● Registry for images with checksums
● Meta-data store (comments, stars, list public
repositories)
Official images
Official images for Java
Official images for Java...
● Clojure
● Tomcat
● Jruby
● Maven
● Glassfish
● Elasticsearch
● Jenkins
● SonarQube
● And more non-official
Dev Env
Perfect together
Routine is boring
Docker-compose is our way
● YAML syntax
● Configuration inclusion/inheritance
● Comprehensive CLI
● Bash completion
Docker-compose YAML
● image
● command
● links
● ports/expose
● volumes
● environment
● ...
Docker-compose CLI
● build
● up
● logs
● ps
● run
● start/stop
● scale
● ...
Demo Time
Docker. Does it matter for Java developer ?
Service Discovery
● Configuration registry
● DNS
● Health checking
Tools
● Consul
● Etcd
● Zookeeper
Resource Management
● Scheduling
● Task execution
● Auto scale
Tools
● Mesos
● Flynn
● Fleet
Monitoring
● Failures and Outages are expected for
distributed apps
● Business aware metrics matters
Tools
● Dropwizard Metrics
● Netflix Servo
● cAdvisor
Logging
● Critical for operation
● Even more critical for distributed operation
● Remains critical with operation in Docker
Tools
● Elasticsearch Logstash Kibana
● Elasticsearch Fluentd Kibana
Continuous Delivery
● Container as deployable artifact
● New container for new application version
● Start/stop proper version of container for proper
version of application
Tools
● Ansible
● Docker Swarm
Summary
● Easy and fast building of images
● Easy to share in your team
● Easy to scale
● Easy to work with new technologies
● Of course learning curve
● Production like dev env*
● http://docs.docker.com/
● https://hub.docker.com/
● http://www.fig.sh/
● https://mesosphere.com/
● http://www.consul.io/
● https://flynn.io
● https://github.com/coreos/fleet
● http://goo.gl/NEAfF2
● http://goo.gl/gfi94z
References
Q&A
Izzet Mustafayev@EPAM Systems
@webdizz webdizz izzetmustafaiev
http://webdizz.name

More Related Content

What's hot (20)

PDF
#GeodeSummit: Easy Ways to Become a Contributor to Apache Geode
PivotalOpenSourceHub
 
PDF
#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"
PivotalOpenSourceHub
 
PPTX
Typesafe Reactive Platform: Monitoring 1.0, Commercial features and more
Legacy Typesafe (now Lightbend)
 
PDF
Whirlpools in the Stream with Jayesh Lalwani
Databricks
 
PDF
Akka A to Z: A Guide To The Industry’s Best Toolkit for Fast Data and Microse...
Lightbend
 
PPTX
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Lightbend
 
PPTX
"Introduction to Sparkling Water" — Jakub Hava, Senior Software Engineer, at ...
Provectus
 
PDF
Full Stack Reactive In Practice
Lightbend
 
PPTX
Kafka On YARN (KOYA): An Open Source Initiative to integrate Kafka & YARN
DataWorks Summit
 
PDF
Akka at Enterprise Scale: Performance Tuning Distributed Applications
Lightbend
 
PDF
Apache Zeppelin & Cluster
Jongyoul Lee
 
PDF
Non-blocking IO to tame distributed systems ー How and why ChatWork uses async...
TanUkkii
 
PDF
Developing Secure Scala Applications With Fortify For Scala
Lightbend
 
PPTX
Introducing Kubernetes
VikRam S
 
PDF
Kafka Streams at Scale (Deepak Goyal, Walmart Labs) Kafka Summit London 2019
confluent
 
PDF
Stateful, Stateless and Serverless - Running Apache Kafka® on Kubernetes
confluent
 
PDF
Securing the Message Bus with Kafka Streams | Paul Otto and Ryan Salcido, Raf...
HostedbyConfluent
 
PPT
Lspe
Arpit Tak
 
PDF
Hadoop Summit - Interactive Big Data Analysis with Solr, Spark and Hue
gethue
 
PDF
Inside Kafka Streams—Monitoring Comcast’s Outside Plant
confluent
 
#GeodeSummit: Easy Ways to Become a Contributor to Apache Geode
PivotalOpenSourceHub
 
#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"
PivotalOpenSourceHub
 
Typesafe Reactive Platform: Monitoring 1.0, Commercial features and more
Legacy Typesafe (now Lightbend)
 
Whirlpools in the Stream with Jayesh Lalwani
Databricks
 
Akka A to Z: A Guide To The Industry’s Best Toolkit for Fast Data and Microse...
Lightbend
 
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Lightbend
 
"Introduction to Sparkling Water" — Jakub Hava, Senior Software Engineer, at ...
Provectus
 
Full Stack Reactive In Practice
Lightbend
 
Kafka On YARN (KOYA): An Open Source Initiative to integrate Kafka & YARN
DataWorks Summit
 
Akka at Enterprise Scale: Performance Tuning Distributed Applications
Lightbend
 
Apache Zeppelin & Cluster
Jongyoul Lee
 
Non-blocking IO to tame distributed systems ー How and why ChatWork uses async...
TanUkkii
 
Developing Secure Scala Applications With Fortify For Scala
Lightbend
 
Introducing Kubernetes
VikRam S
 
Kafka Streams at Scale (Deepak Goyal, Walmart Labs) Kafka Summit London 2019
confluent
 
Stateful, Stateless and Serverless - Running Apache Kafka® on Kubernetes
confluent
 
Securing the Message Bus with Kafka Streams | Paul Otto and Ryan Salcido, Raf...
HostedbyConfluent
 
Lspe
Arpit Tak
 
Hadoop Summit - Interactive Big Data Analysis with Solr, Spark and Hue
gethue
 
Inside Kafka Streams—Monitoring Comcast’s Outside Plant
confluent
 

Viewers also liked (8)

PDF
Akka in Practice: Designing Actor-based Applications
NLJUG
 
PDF
PSUG #52 Dataflow and simplified reactive programming with Akka-streams
Stephane Manciot
 
PDF
Reactive programming on Android
Tomáš Kypta
 
PPTX
Reactive Streams and RabbitMQ
mkiedys
 
PDF
Tachyon and Apache Spark
rhatr
 
PDF
Resilient Applications with Akka Persistence - Scaladays 2014
Björn Antonsson
 
PPTX
xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)
Claudiu Barbura
 
PPTX
Micro services, reactive manifesto and 12-factors
Dejan Glozic
 
Akka in Practice: Designing Actor-based Applications
NLJUG
 
PSUG #52 Dataflow and simplified reactive programming with Akka-streams
Stephane Manciot
 
Reactive programming on Android
Tomáš Kypta
 
Reactive Streams and RabbitMQ
mkiedys
 
Tachyon and Apache Spark
rhatr
 
Resilient Applications with Akka Persistence - Scaladays 2014
Björn Antonsson
 
xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)
Claudiu Barbura
 
Micro services, reactive manifesto and 12-factors
Dejan Glozic
 
Ad

Similar to Docker. Does it matter for Java developer ? (20)

PDF
[Szjug] Docker. Does it matter for java developer?
Izzet Mustafaiev
 
PDF
Best Practices for Developing & Deploying Java Applications with Docker
Eric Smalling
 
PDF
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
PDF
codemotion-docker-2014
Carlo Bonamico
 
PDF
DockerPenang Meetup#1
Sujay Pillai
 
PPTX
Cont0519
Samuel Dratwa
 
PDF
What is this "docker"
Jean-Marc Meessen
 
PPTX
Docker introduction
dotCloud
 
PPTX
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Radulescu Adina-Valentina
 
PDF
Docker for Java Developers
Imesh Gunaratne
 
PDF
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
dotCloud
 
PDF
Application Deployment on Openstack
Docker, Inc.
 
PPTX
Developer workflow with docker
Wyn B. Van Devanter
 
PDF
Containers and microservices for realists
Karthik Gaekwad
 
PDF
Containers and Microservices for Realists
Oracle Developers
 
PDF
Docker and OpenStack Boston Meetup
Kamesh Pemmaraju
 
PPTX
The challenge of application distribution - Introduction to Docker (2014 dec ...
Sébastien Portebois
 
PPTX
Docker
Narato
 
PPTX
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
PPTX
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
[Szjug] Docker. Does it matter for java developer?
Izzet Mustafaiev
 
Best Practices for Developing & Deploying Java Applications with Docker
Eric Smalling
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
codemotion-docker-2014
Carlo Bonamico
 
DockerPenang Meetup#1
Sujay Pillai
 
Cont0519
Samuel Dratwa
 
What is this "docker"
Jean-Marc Meessen
 
Docker introduction
dotCloud
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Radulescu Adina-Valentina
 
Docker for Java Developers
Imesh Gunaratne
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
dotCloud
 
Application Deployment on Openstack
Docker, Inc.
 
Developer workflow with docker
Wyn B. Van Devanter
 
Containers and microservices for realists
Karthik Gaekwad
 
Containers and Microservices for Realists
Oracle Developers
 
Docker and OpenStack Boston Meetup
Kamesh Pemmaraju
 
The challenge of application distribution - Introduction to Docker (2014 dec ...
Sébastien Portebois
 
Docker
Narato
 
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Ad

More from Izzet Mustafaiev (20)

PDF
Overcome a Frontier
Izzet Mustafaiev
 
PDF
Web Security... Level Up
Izzet Mustafaiev
 
PDF
Kotlin strives for Deep Learning
Izzet Mustafaiev
 
PDF
Can I do AI?
Izzet Mustafaiev
 
PDF
Consumer-Driven Contracts to enable API evolution
Izzet Mustafaiev
 
PDF
Functional web with elixir and elm in phoenix
Izzet Mustafaiev
 
PDF
Fabric8 CI/CD
Izzet Mustafaiev
 
PPTX
Don’t let your code to be illiterate along with your colleagues
Izzet Mustafaiev
 
PDF
Performance testing for web-scale
Izzet Mustafaiev
 
PDF
Fault tolerance - look, it's simple!
Izzet Mustafaiev
 
PDF
µServices Architecture @ EPAM WOW 2015
Izzet Mustafaiev
 
PDF
Continuous Development Pipeline
Izzet Mustafaiev
 
PDF
Gradle - the Enterprise Automation Tool
Izzet Mustafaiev
 
PDF
Microservices Architecture
Izzet Mustafaiev
 
PDF
“Bootify your app - from zero to hero
Izzet Mustafaiev
 
PDF
Metrics by coda hale : to know your app’ health
Izzet Mustafaiev
 
PDF
Buildr - build like you code
Izzet Mustafaiev
 
PDF
Groovy MOPping
Izzet Mustafaiev
 
PDF
TDD with Spock @xpdays_ua
Izzet Mustafaiev
 
PDF
Development environment agile way
Izzet Mustafaiev
 
Overcome a Frontier
Izzet Mustafaiev
 
Web Security... Level Up
Izzet Mustafaiev
 
Kotlin strives for Deep Learning
Izzet Mustafaiev
 
Can I do AI?
Izzet Mustafaiev
 
Consumer-Driven Contracts to enable API evolution
Izzet Mustafaiev
 
Functional web with elixir and elm in phoenix
Izzet Mustafaiev
 
Fabric8 CI/CD
Izzet Mustafaiev
 
Don’t let your code to be illiterate along with your colleagues
Izzet Mustafaiev
 
Performance testing for web-scale
Izzet Mustafaiev
 
Fault tolerance - look, it's simple!
Izzet Mustafaiev
 
µServices Architecture @ EPAM WOW 2015
Izzet Mustafaiev
 
Continuous Development Pipeline
Izzet Mustafaiev
 
Gradle - the Enterprise Automation Tool
Izzet Mustafaiev
 
Microservices Architecture
Izzet Mustafaiev
 
“Bootify your app - from zero to hero
Izzet Mustafaiev
 
Metrics by coda hale : to know your app’ health
Izzet Mustafaiev
 
Buildr - build like you code
Izzet Mustafaiev
 
Groovy MOPping
Izzet Mustafaiev
 
TDD with Spock @xpdays_ua
Izzet Mustafaiev
 
Development environment agile way
Izzet Mustafaiev
 

Recently uploaded (20)

PDF
Executive Business Intelligence Dashboards
vandeslie24
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PDF
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
DOCX
Import Data Form Excel to Tally Services
Tally xperts
 
PPTX
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
PPTX
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PDF
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PPTX
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
PPTX
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
PDF
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
PPTX
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Executive Business Intelligence Dashboards
vandeslie24
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Import Data Form Excel to Tally Services
Tally xperts
 
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 

Docker. Does it matter for Java developer ?