Professional Documents
Culture Documents
Dockersessionvit18march 190319180723
Dockersessionvit18march 190319180723
$whoami
Principal Development Engineer at DellEMC
DockerLabs Incubator
Process Organization
Successful Software Development
Architecture
Process Organization
Small
Autonomous
team
Successful Software Development
Architecture
Process Organization
Agile Small
Continuous Delivery Autonomous
team
Successful Software Development
Architecture
Monolthic Vs Microservices
Process Organization
Agile Small
Continuous Delivery Autonomous
team
A Close Look at Monolithic
Storefront UI
Browser HTML Module
Catalog
Module Database
Client
App Reviews
REST/JSON
Module
Orders
Module
A Close Look at Monolithic
WAR
Storefront UI
Browser HTML Module
Catalog
Module Database
Client Reviews
App REST/JSON
Module
Orders
Module
Tomcat
Benefits of Monolith
Simple to Develop, Test, Deploy & Scale
- Simple to develop because of all the tools and IDEs support to that kind
of application by default.
- Easy to deploy because all components are packed into one bundle.
Data
Storage
Microservice Architecture
Storefront UI Catalog Catalog
REST Service Database
HTML
Reviews Reviews
REST
Browser API Service Database
Gateway
Order Order
REST Service Database
Mobile … …
Device Service Database
Benefits of Microservices
- Can scale independent microservices separately. No need to scale
the whole the system
Docker as a “Company”
Docker as a “Product”
Docker as a “Platform”
Guaranteed to run the same way - Your development desktop, a bare-metal server,
virtual machine, data center, or cloud
Today Docker runs on
Traditional Software
Development WorkFlow
(without Docker)
Traditional Software
Development WorkFlow
(with Docker)
Docker Vs VM
Docker Containers are NOT VMs
Virtual Machine
Containers
Docker Container Vs VM
Comparing Docker & VM
Virtual Machines Docker
Each VM runs its own OS Container is just a user space of OS
Install Requirements
Copy Requirements
Upgrade Pip
Alpine Linux
Kernel
Basic Docker CLIs
Pulling Docker Image
$ docker pull ajeetraina/hellowhale
Copy Requirements
Upgrade Pip
Alpine Linux
Kernel
Docker Compose
Compose is a tool for defining and running multi-container Docker applications
Demo
- Running WordPress Application using Docker Compose
Getting Started with
Docker Swarm
Let’s start with Single Docker Host
A Docker Host
http://collabnix.com/getting-started-with-docker-swarm/
You start adding more hosts..
http://collabnix.com/getting-started-with-docker-swarm/
But Wait..
High
Availability Rolling Updates
Service
Scalability
Discovery
Scheduling Failure
Management
Container Security
Docker Swarm comes for rescue..
http://collabnix.com/new-docker-1-12-comes-with-built-in-distribution-orchestration-system/
What is Swarm Mode?
• A swarm consists of one or more nodes: physical or virtual machines running Docker Engine.
• It enables the ability to deploy containers across multiple Docker hosts, using overlay networks for
service discovery with a built-in load balancer for scaling the services.
http://collabnix.com/docker-1-12-swarm-mode-under-the-hood/
Building Docker Swarm
Topology
Demo
Building Swarm Cluster on Raspberry Pi
https://docs.docker.com
http://www.collabnix.com
Thank You