Datadog did some research to understand how container launch environments work today and the most popular technologies for managing them. We have selected seven exciting facts that will help you understand how modern companies work with containers.
1. Container Management Is Impossible Without Orchestration Systems, And Kubernetes Is Deployed In Half Of The Container Environments
As container runtimes are becoming more complex, orchestration is becoming increasingly important for managing dynamic workloads. Research shows that a variety of orchestration systems manage nearly 90% of containers.
At the same time, Kubernetes has become the de-facto standard for container orchestration. Half of the companies that use containers manage them with Kubernetes. Since the beginning of 2017, the number of containerized environments powered by Kubernetes has doubled and continues to grow.
2. About Half Of Kubernetes Installations Use Only A Third Of The Allocated Resources
Kubernetes allows you to specify the minimum amount of resources required to schedule pods. Here it would help if you found a balance between resource cost and performance. If too many resources are requested, then Kubernetes will not efficiently schedule pods, and expensive resources will be idle.
The researchers compared the requests of the containers with the actual CPU and memory resources used. It turned out that in most cases, the resources are not used to their full potential. The graph shows that almost half of the containers use less than 30% of the requested CPU power.
3.The Larger The Cluster, The Larger Its Nodes
In addition to optimal resource allocation, it is also essential to choose the right size of the cluster nodes. If there are only a couple of large nodes in the cluster, the failure of one of them can create serious problems. And many small nodes add complexity and overhead to manage. There is no single rule on how to determine the size of a node.
As a result of the study, a clear relationship was revealed: as the size of clusters increases, their nodes also become more extensive. This reduces the complexity of cluster management and reduces the scale of the overhead of provisioning resources to each node.
4. DaemonSets Are Used For Networking
Kubernetes DaemonSets deploy node-level utilities such as monitoring agents, log collectors, and the cluster storage daemon. It also turned out to be used for networking and routing.
5. Companies Used Kubernetes A Year And A Half Ago
A new minor version of Kubernetes is released every few months. But often, companies are in no hurry to update their installations and continue to use older versions. Now the most popular version of Kubernetes is 1.15; it was released in June 2019, 17 months ago.
This is because the new version is not always the most reliable. For Kubernetes users as a service, the cloud provider is responsible for updates, and the migration of clusters to updated versions can be done automatically. However, in this case, for work stability, they use not such new but tested versions.
6. Service Mesh Is Just Starting To Gain Popularity
As you can see in the graph, most companies are just getting started with Service Mesh. But analysts believe the technology will grow in popularity as containerized environments become more complex. Now Service Mesh is most often used where there are more than 100 containers.
7. Nginx, Redis And PostgreSQL Are The Most Popular Container Images
Researchers compiled a list of the ten most popular container images in November 2020:
- Nginx. The web server has been at the top since its inception in 2015.
- Redis is consistently among the top three. This database is often used as a cache.
- PostgreSQL. This database occupies different places but is always present at this top.
- Elasticsearch. It is a distributed data warehouse and full-text search engine; it remains one of the most widely used applications in containerized environments.
- MySQL. This database continues to be popular with developers for its simplicity and performance.
- RabbitMQ, Calico. Two projects share sixth place. RabbitMQ is a message broker that is widely used in a microservice architecture.
- MongoDB. This document-oriented database is considered a classic example of a NoSQL system.
- Kafka is a distributed software message broker that can handle trillions of messages per day.
- GitLab, Jenkins. These technologies entered the top 10 for the first time, which means that containers now play an essential role in CI / CD.
- Vault is an increasingly popular service for keeping secrets and controlling access to them.
Also Read: How Docker Images And Containers Work