What is our primary use case?
As a database administrator, my main use case for Docker on Ubuntu 20.04 LTS is to test many client situations and scenarios in a real production database environment. I use many containers to have database servers and database clusters to generate real-time scenarios and achieve test results.
I find working with multiple containers for my database clusters makes my testing process easier because having multiple EC2 instances or machines has many cost constraints. Having Docker containers with minimal configurations makes my testing easier, more cost-effective, and much faster. Having these in a cluster helps me to connect them easily and achieve connectivity very efficiently.
Docker on Ubuntu 20.04 LTS is really helpful compared with the previous version because it has many features. My main use case is for testing purposes on database containers.
How has it helped my organization?
Docker on Ubuntu 20.04 LTS has positively impacted my organization in many ways because having multiple machines for multiple people costs more. We made our employees use Docker, and after they used Docker containers, we achieved many test cases through this. We don't need to assign so many machines for testing purposes, and we can generate use cases before they cause production issues. Overall, this improves the productivity of the workflow and prevents many production issues before they occur.
Since I started using Docker on Ubuntu 20.04 LTS, we have improved significantly and achieved time efficiency. We also saved some cost related to assigning machines. The main benefit is that we saved significant time because assigning a new machine for testing requires internal approvals. Having Docker within our environment helps to assign containers easily to employees for testing and other purposes. This saved both time and cost, although I don't have exact numbers.
What is most valuable?
Docker on Ubuntu 20.04 LTS contains many features such as container isolation, and I can run database servers without installing them on the main servers. It preserves database data in the Docker environment and allows me to use many application servers. When it comes to resource management, I can configure a minimum of 2GB limit and maximum CPU allocation of two CPUs with two cores.
The main feature I have seen in Docker on Ubuntu 20.04 LTS is resource management because I cannot afford so many machines with minimum configuration since these are not useful after testing. Having Docker with minimum configuration allows me to reuse the container for any other purposes. I can remove the Docker container after testing and then use it for other application purposes. Reuse is the main feature that I found very useful.
What needs improvement?
Docker on Ubuntu 20.04 LTS is far better compared with the previous version, so I don't see any significant disadvantages. Docker on Ubuntu feels very comfortable for me.
Docker on Ubuntu 20.04 LTS requires extensive commands knowledge because as a beginner, it is difficult to connect containers and create Docker images. The main challenge is the troubleshooting complexity and memorizing commands for beginners. When it comes to security configurations, if a person who is not aware of security things is configuring the system, it may cause security breaches. There are also some problems in installation with older versions because they sometimes do not have the actual repository. Additionally, an inbuilt monitoring feature would be helpful for beginners and for those who are not coming from a pure technical infrastructure background.
If Docker on Ubuntu 20.04 LTS needs improvement, I suggest having inbuilt monitoring rather than using something like Grafana. Having that monitoring will help beginners who are working on this. Additionally, if I configure Docker on a low machine configuration, sometimes I cannot change the configuration on the running Docker. I have to re-initiate the machines from the beginning, which is something that needs improvement.
For how long have I used the solution?
I have been using Docker on Ubuntu 20.04 LTS for more than two years for my UAT and other testing purposes.
What do I think about the stability of the solution?
Docker on Ubuntu 20.04 LTS is stable in my experience, but I have faced some issues. Whenever I found some over-resource consumption, I noticed that the machine is going to crash, and suddenly the IPs are changing on the container internally. These problems sometimes occur on the database server. After that, we thought about how to save costs, reduce resource usage, and address the dynamic IP changes.
What do I think about the scalability of the solution?
Docker on Ubuntu 20.04 LTS's scalability is overall nice, but it is based on the machine configuration. If there are multiple containers on a single machine that is running with low configuration, it causes crashes, and suddenly the IPs and data are changing.
How are customer service and support?
I haven't used customer support for Docker on Ubuntu 20.04 LTS much, but when I requested assistance, I got the results from them. The community is adequate for my needs.
Which solution did I use previously and why did I switch?
I previously used VMware virtual machines for having more machines on a single physical machine. In that way, I achieved some things, but when compared with Docker on Ubuntu 20.04 LTS, I don't think that VM is more efficient.
What was our ROI?
Docker on Ubuntu 20.04 LTS has saved significant time because setting up new machines takes a long time, and it saved some cost compared to the previous setup I had. There is no problem with licensing. I don't have exact numbers, but I can see improvements in the workflow. I have found many useful things when using Docker containers for testing compared to physical machines. With Docker on Ubuntu 20.04 LTS, there is no need to ask for permissions; I can independently work on my machine.
Which other solutions did I evaluate?
I evaluated virtual machines, which is also a good solution, but after using Docker on Ubuntu 20.04 LTS, I found this to be more comfortable for my needs.
What other advice do I have?
I would rate Docker on Ubuntu 20.04 LTS around eight out of ten.
I chose eight out of ten for Docker on Ubuntu 20.04 LTS because, as I mentioned, the inbuilt monitoring will be useful, and the version compatibility may pose installation difficulties for older versions. If I remove these drawbacks, I would surely give it nine out of ten or nine point five out of ten.
Regarding Docker on Ubuntu 20.04 LTS's security capabilities, it is based on the configuration that I am configuring because a person who is not aware of security will cause problems in the security system. It needs user-level privilege checks and security connectivity for long-term use. When generating images, I have to give all the security configurations before initializing the container. Security is more important to consider, even if the person is not aware of those concerns.
Regarding Docker on Ubuntu 20.04 LTS's accuracy, I think it is more accurate in giving results because all the database systems I'm running are running smoothly compared to machines before version 20. There is no problem with the consistency.
I deploy Docker on Ubuntu 20.04 LTS on-premises with no cloud environments. I did it mainly on physical machines, and the cloud environments are less when compared with the physical machines.
Which deployment model are you using for this solution?
On-premises