What is our primary use case?
In our case, Docker is a prerequisite to deploy on Kubernetes. We utilize and integrate Docker along with Jenkins. When we trigger the pipeline, it triggers and runs the Docker build to create the image. It's a JAAS service. Before deployment, everything is on a non-AWS platform. Once the image is created and deployed on Kubernetes, it will be hosted on AWS.
We started creating images on Jenkins as a service, which is on a different cloud. Once it's deployed on Kubernetes, it's placed on AWS. We have also deployed the Artifactory server using ECS.
It's deployed on the cloud. The cloud provider is AWS.
What needs improvement?
The security layer is very vulnerable, although they are working to improve the system hardening and image hardening. They need to provide a simple solution for a user to implement these two security features while creating the Docker image. It's not easy for simple users.
I'm part of the operations team, so I understand how Docker images are created using Unix features. Docker itself creates a snapshot of the existing infrastructure. Docker's features should be simplified enough so that developers can understand and implement them.
For how long have I used the solution?
I have worked with Docker for eight years.
What do I think about the stability of the solution?
I would rate the stability as five out of five. I have seen end-to-end performance with Docker. It's a great tool, and it's the most popular container service in the market.
What do I think about the scalability of the solution?
It's not very scalable. In order to handle scalability, Docker Swarm is the available solution with Docker. Docker Swarm is another service, but it isn't stable. For multi-containers, they have introduced Docker Compose. One deployment set will trigger multiple containers. There isn't a scaling feature, but a single host can run multiple containers.
I would rate the scalability as two out of five.
How was the initial setup?
Installing Docker on individual systems is pretty simple. Docker needs to be installed for each user so they can access Docker testing, MS testing, and deployment testing.
I would rate setup as five out of five.
What about the implementation team?
Deployment was done in-house. Three people were needed for deployment. We have two people for maintenance.
Deployment was basically done by the IT team. We just needed to create a ticket to trigger the deployment from the IT team. It's pretty simple.
What's my experience with pricing, setup cost, and licensing?
We pay for a license. To make it more scalable, you need to pay for Docker Swarm, which is an additional cost.
If an organization utilizes a service free of cost, then the cost of Docker is like overhead for an organization. Docker was freeware, and they started asking for licensing costs about seven months ago. As soon as that news was published, many organizations started thinking about other free container services.
My company started uninstalling Docker from everybody's system to minimize the cost, and the proof of concept for other container services is still in progress. For commercial use, it's about $30 per month. The license itself isn't expensive, but if there are many users, the price becomes high.
My company is thinking about different open source solutions.
What other advice do I have?
I would rate the solution as eight out of ten.
Docker is a prerequisite for utilizing Kubernetes. If somebody doesn't have experience with Docker, then they can't create the Docker image. Having the application image is a prerequisite for deploying on Kubernetes.
Once we started utilizing Kubernetes, the official website recommended using Docker as a container service, but now they've removed that recommendation. You can utilize any of the available container services in the market.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Amazon Web Services (AWS)
Disclosure: My company does not have a business relationship with this vendor other than being a customer.