What is our primary use case?
Using Docker for most of the environments that I worked for. As an expert, I am working on different environments each time depending on the customer requirements. Development, staging, pre-production and production, each one of them having at least 25 servers implemented on different solutions sometimes like VMware, AWS, Azure and Oracle Cloud.
Docker allows me to automate everything for these environments which saves a lot of time to sync the environment with each other and keep them up to date anytime.
How has it helped my organization?
By using Docker and introducing this tool to different organizations, it provides repeatable development, build, test, and production environments, and allows every team member to work in a production parity environment, include to that, app isolation, simplicity, and faster configurations. And the most important benefits for most organizations is continuous deployment and testing.
What is most valuable?
Different features, but the most valuable is Docker images that allows you to build your own image and upload it to a repository, and use it again anytime.
Another feature which is Docker scaling using a docker-compose file: It's very simple and easy to use in preventing any human interaction.
The last one is Docker Swarm that manages a cluster of Docker Engines.
What needs improvement?
- I would love to see if more supported applications could be used under Docker.
- Improving scalability, technical debt, and making it easier to troubleshoot and monitor.
- One last thing which is the performance tuning issue.
For how long have I used the solution?
More than five years.
What do I think about the stability of the solution?
Using this solution for a production environment that should be working 24/7 is the biggest proof of stability.
What do I think about the scalability of the solution?
Very easy to use, all you need to have is the basic knowledge with Docker Compose.
How are customer service and technical support?
Since I've begun using Docker EE, I have full access to Docker's enterprise technical support team. I can manage cases, and view entitlements using the Docker support site.
Which solution did I use previously and why did I switch?
I started using Docker more than five years ago and before that, LXC (Linux Containers), also Google Kubernetes as I mentioned before. It all depends on the customer requirement and what they want from the application, and which features they will use.
How was the initial setup?
Depends on the environment and what you need to use. Most of the features have full online documentation with live examples.
What about the implementation team?
We are the vendor, so technically we are providing the solution for the client each time: different client, different requirements and different infrastructure.
What was our ROI?
You will notice a big difference for sure. Also, the below link will allow you to calculate the ROI.
What's my experience with pricing, setup cost, and licensing?
For the features and benefits of using Docker, the price is very reasonable, but the licensing is not easy. But to be honest this is a very promising technology, include to that a very fast growing technology. So within the next five years, the licensing will not be an issue.
Which other solutions did I evaluate?
What other advice do I have?
I recommended the tech guys that haven't used it so far, or if their company is still using the transitional infrastructure, they should give it a try.