Kubernetes was initially designed with a strong focus on stateless workloads, meaning these workloads do not need to store any persistent data. Interestingly, our partner RedHat reported in 2021 that around 80% of deployed workloads are databases or data caches, storing data in persistent volume claims (PVCs). Famous examples include Redis, PostgreSQL, MySQL, and MongoDB.
For example, let’s say you have an idea for a new social network and decide to use Kubernetes as your container management platform. You also decide to run your database for storing user uploads – such as images or videos – directly in Kubernetes. You believe that your idea is going to attract millions of users immediately after the launch. Consequently, you provision large PVCs to ensure that your database is ready for the expected load.
As for many businesses, the start is hard; the expected load stays away. You quickly realize that it will take ages to fill up the overprovisioned database storage. So, you adapt the size of your PVCs just slightly above actual usage to reduce costs.
Unexpectedly, a famous influencer notices your social network and promotes it all over their other channels. Two days later, your database runs out of storage in the middle of the night. Unfortunately, you did not have any monitoring or alerting in place, and you stopped checking the system daily because you have lost faith in your idea. You realize the outage in the morning, meaning your business has been down for hours and already getting negative reviews on the web.
Protect your business with Dynatrace PVC
After this incident, your first instinct might be to ask yourself what an adequate new size for your database would be. However, you lack insights into your PVCs. Therefore, you don’t know your current growth rate and can’t estimate the required storage for keeping the database up and running for the next month.
With our Kubernetes persistent volume claims extension, Dynatrace would have protected your business and helped you to make smart decisions about resizing your storage.
In the beginning, our dashboard focusing on PVCs would have helped you find an adequate storage size by giving you insights into utilization and growth rate over time. Additionally, with an alerting safety net, you would have never overprovisioned your PVCs in the first place.
With the extension, Dynatrace would have proactively notified you of unusual growth rates and your PVCs being close to running out of space all on one dashboard. Your business would have never experienced any outage; rather, being able to handle the hype would have drastically increased your user base.
As the user sign-up rate and use of the social network took off, Dynatrace would have shown you storage growth rates over time, allowing for a fact-based estimate of required future storage for the upcoming month. Dynatrace’s PVCs extension enables you to make efficient use of your resources.
What about my persistent volume provider?
Now that you know how Dynatrace helps you to ensure your PVCs are functional, you might be interested in how to monitor the storage providing these volume claims. Looking at the cloud-native landscape part for Kubernetes storage solutions, we see that most of these solutions natively expose relevant metrics in Prometheus format. You can easily integrate these types of metrics into Dynatrace for further and enhanced analysis using our unique Davis® AI. If you’re curious to learn more, check out our blog about Prometheus-based Dynatrace extensions. Alternatively, if your Prometheus metrics are exposed by a pod running in Kubernetes, you might want to follow our cloud-native approach for ingesting them.
Dynatrace helps you keep your business up and running by ensuring a healthy, efficient state of your PVCs and persistent volume providers. Sign up for a free Dynatrace trial today and activate our Kubernetes persistent volume claims extension.
Tired of learning PromQL or other complicated query languages for common Kubernetes alerts, such as a cluster running out of CPU requests? Later this year, you will be able to configure such alerts in Dynatrace – with the flip of a single toggle – for all your Kubernetes clusters connected to Dynatrace. Stay tuned.