Kubernetes: distinctive features and monitoring requirements

Table of contents:
● What is Kubernetes?● Main uses of Kubernetes● Essential requirements for monitoring● Prometheus for Kubernetes● Dynatrace – a proprietary monitoring platform for Kubernetes● A comparison of Dynatrace and open-source solutions for Kubernetes monitoring● How Dynatrace helps manage Kubernetes with Davis AI

What is Kubernetes?

Kubernetes, also known as K8s, is an open-source container orchestration platform for managing containerized applications in cloud, virtual, physical, and hybrid environments. It automates certain steps of a container’s lifecycle, such as provisioning, deployment, network creation, scaling, and load balancing.
Kubernetes and containers optimize the deployment process, eliminating dependencies on the main technology stack. Such independence from the infrastructure simplifies the regular release management and automation, dynamic scaling, and resource distribution.

K8s flexibility makes the entire development process more reliable and stable. This allows DevOps teams to take full advantage of containers without any operational or management difficulties that usually affect team productivity.

Main uses of Kubernetes

Kubernetes and containers are better for creating microservice architecture than virtual machines due to their small size, productivity, instant access to and efficient use of system resources, and quick deployment. This makes the infrastructure more compact. Other benefits include shorter CI/CD pipelines, high availability, uninterrupted operation regardless of the environment, and system self-healing through automatic restart or container replication.
Kubernetes is useful for solving the following issues and limitations:
• A siloed and slow development process interferes with the release schedule• Insufficient scalability compared to the growing customer demand• Lack of container app management specialists• High costs of the existing infrastructure resource optimisation
The following cloud providers offer Kubernetes as a managed service and allow using the platform in your organization regardless of the scale and infrastructure type:
• Azure Kubernetes (AKS)• Amazon Elastic Kubernetes (EKS)• IBM Cloud Kubernetes• Red Hat OpenShift• Google Cloud Kubernetes Engine (GKE)
If your company doesn’t want to use the cloud or there’s no possibility to do so, you can also implement Kubernetes on-premises with the help of tools, such as:
• Red Hat OpenShift Container Platform• Rancher Kubernetes Engine• Mirantis Docker Kubernetes Service (formerly Docker EE)• VMWare Tanzu Kubernetes Grid (formerly Pivotal Container Service – PKS)• D2iQ Konvoy
The flexibility and portability of containers are a huge advantage, but using containers for microservice architecture comes with some challenges for DevOps teams:
• The architecture becomes more distributed, which makes it harder to manage and analyse during crashes and performance issues.• The amount and types of metadata that require analysis become incredibly large.
In addition to this, IT and Operations teams are constantly under pressure due to shorter release cycles. Microservices and containers allow using advanced frameworks, but supporting the new technologies may be difficult due to time constraints and a lack of qualified specialists.
You can overcome the challenges with a suitable monitoring solution that provides automated data analysis and complete visibility of your Kubernetes infrastructure. It will simplify work and accelerate the IT transformation of all processes.
We’ll have a closer look at the monitoring methods, requirements, and capabilities of different solutions and approaches.

Essential requirements for monitoring

It’s more common now to use the term “complete visibility” instead of monitoring, but what does it entail? We analysed different resources and client needs to compile a list of requirements for an ideal monitoring solution:
1. Full stack visibility.Functionality that monitors every single thing that happens in the new stack reduces the risk of losing sight of possible issues in a more distributed and extended infrastructure.2. Process and code management.Monitoring for issues in the code and processes reduces the time you need to find bugs and improve performance.3. Ease of use.While advanced and powerful, the system should be easy to use, so you don’t waste time constantly configuring, extending, and upgrading it. Rather, you improve cost-efficiency and streamline CI/CD processes.4. Automatic scalability.A suitable solution should automatically scale with the changes in your infrastructure, without constant control or manual settings.5. Cloud and on-premises support.Sooner or later, all companies will switch to cloud services, fully or partially, so it’s good to factor in the possibility of hybrid monitoring.6. Automatic issue analysis.The solution should not only detect and notify about errors but specify their origin and cause to avoid unnecessary alerts.7. User experience monitoring.User experience is an essential KPI that allows you to prioritize feature updates and bug fixes, so monitoring it gives you a competitive advantage over businesses that don’t factor in the changes in user needs.8. Optimal licence cost.Proprietary monitoring solutions offer an optimal price, while open-source ones end up costing more time for your specialists to configure the solution and use it to find issues. Ultimately, you waste funds that could be invested in innovation.
We considered these requirements when comparing Prometheus and the Dynatrace proprietary solution for Kubernetes monitoring.

Prometheus for Kubernetes

Prometheus is an open-source monitoring system that became one of the first tools used when companies started transitioning to the cloud. It’s a multidimensional data model with time series identified by metric names and a key-value pair.
The system works as a pull model – a server sends requests to each node that requires monitoring. Prometheus stores all the collected information locally and executes rules for this data — aggregates and records new time series from the available data or creates notifications based on the set rules.

Prometheus architecture and some of its ecosystem components:

Illustration

There are plenty of materials about its integrations on the internet. But the key out-take is that you will need a lot of time and resources to build a suitable system out of the myriad of extensions and add-ons there are for Prometheus. Moreover, the platform stores data locally, consuming a lot of RAM.
Prometheus is a good tool if you have the resources for its maintenance and development. Like any open-source solution, it requires constant involvement in extension, upgrading, and scaling. It also has other limitations.

You can find detailed information about Prometheus here.

Dynatrace – a proprietary monitoring platform for Kubernetes

Dynatrace is a Davis AI-based monitoring platform that ensures complete infrastructure visibility regardless of its deployment method (cloud, on-premises, or hybrid). It automatically monitors microservice dependencies, application performance, and resource consumption without the need for any configurations and integrations.

Illustration

*Dynatrace Kubernetes monitoring structure.

There are two options for using Kubernetes with Dynatrace:
1. Delegate monitoring entirely to the platform without implementing an open-source solution. In this case, it will automatically define the infrastructure and install agents for all Kubernetes clusters and other infrastructure elements in minutes.
2. If you have already implemented Prometheus-based monitoring, you can integrate it with Dynatrace thanks to the Prometheus OpenMetric module. All values will be automatically delivered to a unified data processing centre and analysed with AI. This means you won’t have to collect and analyse information from different resources, and there will be more possibilities to control the infrastructure state and fix issues.

Installation and scaling are automatic for both options. The solution contains all required functionality and doesn’t require additional settings or integrations. It even provides a range of pre-set dashboards that satisfy most case scenarios. You get a detailed analysis of each error down to its cause, saving time and effort for the IT team and allowing your specialists to work on real issues.

With the above-mentioned information in mind, we’ll compare and comment on the two solutions.

A comparison of Dynatrace and open-source solutions for Kubernetes monitoring

The monitoring process usually consists of five stages: data collection, analysis, consolidation, data use (processing for alerts), scaling, and reporting. We created a concise comparison table of the capabilities that both approaches provide based on available sources and technical expertise.

Illustration

If your company doesn’t have a similar requirements list, the open-source approach may ensure basic Kubernetes and infrastructure monitoring needs. Of course, if optimising resources isn’t critical for your business.
On the other hand, if you need a more balanced approach aimed at strengthening and scaling the role of IT in business, it’s better to consider proprietary solutions and compare the capabilities of each.

Kubernetes monitoring from Dynatrace makes it easy to manage and work with microservices. It saves resources thanks to the AI algorithms that provide real-time and automatic task resolution.

How Dynatrace helps manage Kubernetes with Davis AI

Here, we’ll summarise and tell you more about what a company will get if it chooses an AI-powered monitoring tool for managing Kubernetes infrastructure. So, you can expect the following smart management benefits:
VisibilityA dashboard provides a full-circle view of the Kubernetes workload and all container metrics. It can also dynamically evaluate the workload – insufficient and excessive. This eliminates any blind spots in Kubernetes cluster management, making Dynatrace more cost-, time-, and resource-efficient.
TrackingCause and effect-based AI provides detailed insights into the response time and server bandwidth. Davis detects specific issues, like decreasing response time, and links them to specific business impacts and metric anomalies. This helps isolate issues instead of receiving a storm of alerts from all the services involved. Better yet, Davis AI identifies the root cause of the problem, which allows for fixing it as soon as possible without wasting excess resources.
For example, the solution can specify whether the current system resource allocation slows down the services (i.e., how one process affects another), which can cause poor customer experience. Davis is the only AI, at present, that can link the services and understand how small changes can influence complex systems.
AutomationComplex access to the entire infrastructure, on-premises or in the cloud and integration into CI/CD processes allows Davis AI to perform basic auto-fixes or self-recovery. For example, it can add a new service in case of a CPU overload, so it doesn’t cause issues for users. Or imagine that users were experiencing issues with your product after the latest release, and you managed to find the bug that caused it only after two days. The AI, having identified the issue, can roll back to the previous version, so users have a working service, and you have time to fix the error. This means less stress for the business and less hassle for the IT team.
If you want to have a closer look at Dynatrace’s capabilities for monitoring Kubernetes, watch this short demo.

Subscribe to Dynatrace newsletter

Thank you for your subscription!


Can't send form.

Please try again later.