Docker is a frontier technology for DevOPs who spend a large amount of their time maintaining applications running on multiple geo-graphically distributed servers. Docker offers features to compose the applications in a single package and allow DevOPs engineer to control these applications' status right away.
7. | 7
What if we have Microservice system like this?
For n number of
μ-service container, I
have to run and stop
containers by hand?
Container 1
Container 2
Container 3
8. | 8
Docker Compose
One YML file solves multi container problem
Compose files typically are like this:
version: '3'
services:
service 1:
build: .
ports:
- "5000:5000"
service 2:
build: .
ports:
- "5001:5001"
redis:
image: "redis:latest"
rabbitMQ:
image:"rabbitMQ:latest"
Service based
Scaling problem
fixed….
10. Features of Docker Swarm
• Cluster management integrated with Docker Engine
• Decentralized design
• Scaling
• Desired state reconciliation
• Load balancing
• Secure by default
11. | 11
Dockerhub
These are the
steps of
deployment cycle
where Dockerhub
comes into play
image source: https://trishnag.wordpress.com/2016/04/28/publish-docker-image-with-automated-build/
13. | 13
Advantage of Docker Container
● Speed
● Portability
● Scalability
● Rapid Delivery
● Density
14. | 14
Disadvantage of Docker Container
● Security concern
● Dependency on Operating system
● Not compatible with older machines
● Difficult to manage
15. Kubernetes
• Cluster management Tool
• Decentralized design
• Scaling
• Desired state reconciliation
• Load balancing
• Secure by default
Isn’t this the same
thing we saw for
Docker Swarm?
16. | 16
Yes it is...
▪ Robustness, Maturity and Community Support
▪ Autoscaling
▪ Self healing
▪ GUI available
▪ Built-in Logging and Monitoring tool
▪ Example: Pokemon Go saved by K8s
17. | 17
References
[1] Joy, A. M. (2015). Performance comparison between Linux containers and virtual machines. Paper presented at the Computer Engineering
and Applications (ICACEA), 2015 International Conference on Advances in.
[2] Russell, B. (2015). Passive Benchmarking with docker LXC, KVM & OpenStack.
[3] Scheepers, M. J. (2014). Virtualization and containerization of application infrastructure: A comparison.
[4] Turnbull, J. (2014). The Docker Book: Containerization is the new virtualization.
[5] Docker official Documentation
[6] https://geekflare.com/docker-architecture/