Docker is for microservices and app delivery
April 03, 2017

Docker is for microservices and app delivery

Anonymous | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User

Overall Satisfaction with Docker

We are using Docker today to spread multiple Tomcat instances across a single machine. Docker is currently being used by our devops team but we're a small company so that's pretty much the entire infrastructure team as well. Docker helps us keep our configs simple, easy to use, and reproducible in a really efficient manner.
  • Docker makes it very easy to reproduce a service build and configuration. This is huge for rolling out quickly and efficiently.
  • Docker can orchestrate your containers to auto scale up and down with Docker Compose. This is very useful on cloud providers where you pay for instance to keep prices down.
  • Docker's intra-container networking works well for the most part but it does leave something to be desired when attempting to weave a complex deployment of microservices across multiple bare metal machines and networks. It would be nice to introduce some sort of modeling tool into container networking.
  • A really neat feature for Docker could be to have an option to analyze container utilization and alert or notify on suggestions to improve efficiency.
  • Docker took a long time to get right. There is definitely an upfront cost in the form of a learning curve that needs to be factored into adoption.
  • Once we knew it well Docker has done a great job at saving us costs in the AWS EC2 Container space. We pay less per hour than we did on VMs and scale up and down only when needed.
Docker is a different beast in that it is not trying to solve all of your infrastructure problems or most of them, it is simply trying to provide a reliable container serviced based on linux containers in which you can easily and quickly deploy microservices. LXD does provide similar functionality to Docker and does it very well, the difference being LXD focuses more on containers while Docker is focused more on application delivery.
Docker is well suited for any environment with a microservices architecture and a need for efficient use of hardware. It is important to not try and mold a non-conforming infrastructure into containers that run more than one service or perform multiple actions. That type of infrastructure should first be ported to microservices and then containerized.