What is our primary use case?
My main use case for Docker on Ubuntu has been for many reasons, running any type of application on Docker in Kubernetes clusters. Usually, Ubuntu is the operating system that I use. One example is running a web application on Ubuntu on Docker.
I have used a specific web application for marketing events where users go onto the website, place reservations for the event, and read information about the event. It's a classic web application with different web pages, and the setup I used in that example was zero to three EC2 instances on AWS running Ubuntu and Docker, scaling based on the number of users trying to access the webpage to meet availability requirements.
What is most valuable?
The best features Docker on Ubuntu offers include really good support as Canonical, the makers of Ubuntu, and Docker, the company, work closely together. Ubuntu is definitely the most widely used operating system for Docker, so when new features come about or security patches are released, they usually go to Ubuntu first, which is good. I have also found personally that when using documentation to build out applications, most of the documentation references using Ubuntu, making it easier. There is a lot of documentation and community support, including many Stack Overflow articles, to help someone use Ubuntu and Docker.
The performance is good, and Docker and Ubuntu are designed to work together very effectively since Docker likely chose Ubuntu as its reference OS. The functionality of the two working together is very good, and it's easy to install packages using Ubuntu's apt package manager when using Docker. If you wanted to install adjacent tools like Docker Compose or NVIDIA Docker for GPUs, it's very easy to do those types of things, and there's also a lot of documentation available on how to do it.
Docker on Ubuntu has positively impacted my organization because it really serves as a bedrock combination for building applications on top of it. You need a solid, stable base, and Docker, as a container platform, is very stable and widely used, much of like Ubuntu, making for a strong foundation to build on.
What needs improvement?
Docker on Ubuntu can be improved because Ubuntu is not minimalist at all; it comes with a lot of software by default. This has led some individuals, including myself, to try using Alpine, which is more lightweight, allowing the container to run on a more lightweight operating system that potentially uses fewer resources and reduces costs. If Ubuntu were a little more minimalist, that would be good, but it's not really aiming for that since it intends to be the baseline. Also, Ubuntu moves very fast, possibly faster than other operating systems like Debian, which could demand operational heavy upgrades to major versions every couple of years if there are many applications running.
For how long have I used the solution?
I have been using Docker on Ubuntu for around five years.
What do I think about the stability of the solution?
Docker on Ubuntu is very stable. Docker is continually optimized by the Docker company, and Ubuntu is also continually optimized. They link very well together, so it's stable currently, and I imagine it will continue to be long into the future.
What do I think about the scalability of the solution?
Docker on Ubuntu is highly scalable, but it really depends on how you're deploying Docker and Ubuntu and what you're deploying it on. Using Docker on Ubuntu together is a common configuration, and you can deploy it directly on server hardware using virtual machines or in the cloud, scaling however you wish, so I rate it ten out of ten for scalability.
How are customer service and support?
My customer support experience was on AWS, and Amazon's customer support is brilliant, with very quick response times, so I give it ten out of ten.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
I tried using Docker on CentOS before, but CentOS became deprecated, which is why I switched to Ubuntu, as I believe it won't become deprecated anytime soon due to its wide usage. So, Ubuntu is more stable for that requirement.
Before choosing Docker on Ubuntu, I evaluated using Docker on CentOS as the other option.
How was the initial setup?
My experience with pricing, setup cost, and licensing is that the costs can vary for purchasing machine images, but it's very cheap for open source operating systems like Ubuntu, and I can't remember if it was free or very low cost. It might have even been free since it's open source, making it very good.
What about the implementation team?
My company does not have a business relationship with this vendor other than being a customer.
What was our ROI?
I wouldn't say that using Ubuntu and Docker directly saves money, time, or requires fewer employees. It's more about forming a baseline so that whatever application you are building on top of it can deliver those benefits. You need some type of operating system and a container engine, and these two are best in class; it allows whatever you build on top of it to achieve return on investment metrics.
What other advice do I have?
I would say there are fewer errors, and organizations could see at least a ten percent reduction in their errors if they use a popular OS like Ubuntu compared to less known or less documented ones. Additionally, easier scaling is definite, as Ubuntu is very easy to use and scales nicely. Organizations can leverage cloud auto-scaling groups, leading to cost savings, at least ten percent to maybe twenty percent from the scaling.
I advise others to use Docker on Ubuntu if they have a standard use case. If they need a highly secure operating system on a container engine, they might want something more security-focused, or if they want something lightweight, they might choose Linux Alpine, but for most use cases, it's brilliant.
I give this product a rating of ten out of ten.
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)