Microservices Application Deployment with Docker
#BrownBag Sessions29th Aug 2017
Swapnil Dahiphale
Sr. DevOps Engineer, Crevise Technologies
Agenda
• Microservices
• Containers
• A container pipeline
• Docker-compose
• Use-case
• Demo
Microservices
Containers
“automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere”
What are containers?
OS virtualization
Process isolation
Automation
Images
Why use Docker?
With Docker we can solve many problems
• “it works on my machine”• reducing build & deploy time• Infrastructure configuration – automation!• Libs dependency hell• Cost control and granularity
A container pipelineIT Operations
BaseImage
PatchesUtilities
A container pipelineIT Operations
BaseImage
PatchesUtilities
Ruby
Redis
Logger
A container pipelineIT Operations Developer
BaseImage
PatchesUtilities
Ruby
Redis
Logger
App
A container pipeline
BaseImage
PatchesUtilities
IT Operations Developer
Ruby
Redis
Logger
App
Guest OS
Server
Bins/Libs Bins/Libs
App2App1
$ docker run myimage
MultiContainer Apps is a hussle
Docker-compose
Get an microservices app running in one command!
Use-case
https://github.com/swapnildahiphale/docker-workflow.git
docker-compose file
nginx:
build: ./nginx
links:
- node1:node1
- node2:node2
- node3:node3
ports:
- "80:80"
node1:
build: ./node
links:
- redis
ports:
- "8080"
node2:
build: ./node
links:
- redis
ports:
- "8080"
node3:
build: ./node
links:
- redis
ports:
- "8080"
redis:
image: redis
ports:
- "6379"
Q&A
Demo
Thank You
github.com/swapnildahiphale
Swapnil Dahiphale
@Swapnil2233