Great open source software for reliable automation.
April 19, 2017

Great open source software for reliable automation.

Anudeep Palanki | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User

Overall Satisfaction with Docker

Recently at Monsanto, there is a big push towards a DevOps model and micro-services. As our first step towards moving to the cloud, we started using docker to spin up new databases for various micro-services. When moving towards micro-services, we need a simple and consistent way to spin up database instances that do not affect each other. We needed consistency because we want the instances to be same across different environments.
  • Simple and reliable way to replicate instances.
  • Not needing to worry about internal workings of the instance as Docker takes care of managing the instance.
  • Very well documented API with large community support.
  • Verifiable Docker files, that allow us to look at what exists within a Docker file.
  • Managing backups of Docker instances does not scale well as the size of instance grows. The entire Docker instance needs to be stopped for the backups to happen and it's not always scalable.
  • While there are a lot of useful methods on CLI. The API for CLI is slow to evolve, leaving much to be desired. For example executing commands on the Docker instances, maintaining instances requires hacks using the CLI.
  • Writing a Docker file and debugging it is not always intuitive. Requires some trial and error to get it right.
  • Simplifying executing and managing instances across environments.
  • Being able to easily execute instances locally and setup 'Production ready' databases for easy testing.
  • Switching to Docker and using open source databases allowed us to reduce infrastructure cost by millions.
  • Shared and reliable Docker files minimize developer time configuring instances and allows them to focus on writing actual code.
Vagrant is another software that offers similar [features that] stack to Docker. It offers an isolated container similar to Docker but Docker is lighter weight because it does not have the additional overhead of a VM Container. Docker has a much larger community of developers supporting it and hence there is a larger suite of docker files that offers many out-of-box solutions.
Amazon Elastic Compute Cloud (EC2), Heroku, CloudFoundry, Neo4j
Well suited for:

  • Small scale persistent databases.
  • Replicating the runtime environment.
  • It's also well suited for use with micro-services, where multiple small size databases need to spin up easily and consistently across environments.
It's less appropriate for database instances where backing up instances is not always scalable. It also does not fit well where monitoring instances is important, it requires a lot of additional code to manage instances.