Blog
Meet PredictKube, an Ai-based autoscaler, in the Dysnix family

Meet PredictKube, an Ai-based autoscaler, in the Dysnix family

Daniel Yavorovych
February 9, 2022

What is a PredictKube?

A PredictKube is a tool for auto-scaling and optimizing Kubernetes infrastructures based on the AI model predictions created based on both historical data of the project’s load and any additional metrics—business, public, custom.

predictkube components

We created this tool to make dynamic proactive scaling possible, as we know that practically adding resources during the traffic spike might not help the situation. We see that a lot of our customers need to know what will happen in the future and scale accordingly. To make this possible, we created an AI model with a group of machine learning scientists directed by Yurij Khoma, Head of Data Science at Dysnix, and trained the model to react to traffic fluctuations.

potential applications in FSI

Later on, we packed this model into a product, so you can use it for your own project. Also, we offer you to test PredictKube in an open-source edition and try the basic functionality applying it as a KEDA scaler.

To try it for free, you should:

  1. Visit the official PredictKube website;
  2. Follow the installation instructions;
  3. Use our free API key to turn on AI model prediction for your project.

Reasons why we created this product

The market for autoscaling solutions for Kubernetes projects is still developing. With the better performing automatic scaling tools for Kubernetes projects, projects will spend less time on setting up and tuning the infrastructure. Now, everybody uses existing solutions restrictively with a lot of manual setups.

Business is biased against autoscaling, as it’s something new and may lead to overspending on infrastructure and a loss of traffic. Currently, any project may solve this problem through overprovisioning, spending in some cases 10 times more (paying for the level of Actual nodes as seen in the image below) than they may need.

What overprovisioning typically looks like.

There’s no solution for automatic migration to become more ecological, cost-optimized, and with modern instances of zero downtime. The migration of the projects from old, but working, hardware is risky for projects, and they stay outdated but slow and inefficient.

There’s no way to react proactively to atypical traffic. Load fluctuations because of global events, unexpected outcomes of marketing campaigns, errors, and failures of the system—all these factors affect the load of clusters, and it takes time to get help from engineers.

How PredictKube works (a perfect scenario)

PredictKube is installed into the projects' Kubernetes environment with access to historical data on traffic load. Also, it absorbs any number of additional data sources with metrics data of any kind.

Proactive scaling graph based on a prediction by PredictKube.

Using this data, it learns the patterns of traffic and finds what events affect it, then builds its own predictions, finds errors in the existing structure, and offers recommendations with action points through a chatbot interface.

Any responsible DevOps picks up a decision based on offered variants, and PredictKube implements them and continues to learn. The fewer questions coming from a chatbot, the better and more automated the supervision of a project is from PredictKube’s side.

Also, it simplifies the migration to better hardware by selecting the instances with the best-fitting characteristics and optimal price and automatically migrates the current project to new instances with zero downtime.

PredictKube results in:

  • A decrease in costs on infrastructure and complementing services,
  • An error-free and surprise-ready state of infrastructure with stable zero downtime and zero traffic loss.
Predictive infrastructure scaling

Problems you can solve with PredictKube

SLA breakdowns because of instability of cloud infrastructure. Reputation damage, clients loss, constant cloud bill increase. There’s always a chance to waste money for resources you don’t need or miss valuable traffic because some resources weren’t allocated. Also, memory leaks might appear, the disk space may be overused, and what’s most horrible—your beloved client may not get the service level that was expected.

Each project wants to avoid "a painful growth". To make informed decisions about how your project will grow and what volumes of resources you will need in the future—you need a tool for planning your infrastructure. The selection of types of instances, the number, and quality of new disks, allocating resources for certain traffic patterns should be planned in order to protect your project from traffic loss when it will be too late to scale and not overpay because of overprovisioning.

Typical client pains

Costs for infrastructure are hard to predict, and CTO just has to pay for each month’s cloud bill. Too many hazards should be taken into account to make the right assumption if we’re talking about a person who’s in charge of it. Moreover, the human factor in infrastructure management is risky, and the power of tools will decide how successful the prediction of the costs will be.

Working on old non-optimized instances is not eco-friendly, but companies can’t allow any downtime for the migration period and other risks in order to get optimized by moving to better instances. So, that’s why a lot of companies do not stay eco-friendly and can’t meet sustainability standards.

Benefits in comparison to traditional methods of scaling

  • PredictKube can work in “Forecast only” mode for any time period, which allows you to prepare for changes; due to the complexity of modern technologies, you need to prepare for their deployment in advance, the forecast provides such an opportunity.
  • This tool can provide you the dynamic step of increasing instances (proactive action that the situation really requires in answer to a traffic pattern, not following the rules and restrictions of the provider).
  • Tracking any (including custom) metrics and their combinations and generating scaling recommendations based on their changes.
Feature comparison
  • PredictKube supports vertical scaling, multi-node groups, optimization of instance types—it can generate complex recommendations and optimal solutions for Kubernetes projects.
  • It has the ability to simulate changes (simulating parameter changes and getting a response based on AI model logic).
  • PredictKube softens the difficulties of the growth for the entire project (planning for the rollout of new features, forecasting the real cost of a launch).
PredictKube Techstack

The phases of PredictKube implementation

A project with PredictKube will receive value from the installation at every stage of implementation. The following two stages may be installed anytime later after the first one.

Phase 1: Recommendation ModePhase 2 (in development): Human in CyclePhase 3 (in development): Full AutomationAnalysis of the state of infrastructure

Synthesis of complex recommendations on instances and infrastructure improvements

Real-time monitoring and alerting with the prediction of load

Everything from Phase 1

Сhatbot recommendations of auto-scaling actions and performing it after specialist’s approval

Deeper education of the neural network based on making decisions for standalone mode

The PredictKube is fully in charge: it forecasts and solves any case with traffic with optimal resource allocation and without human interference.

Daniel Yavorovych
CTO and Co-founder at Dysnix
Brainpower and problem-solver, meditating and mountain hiking.
Copied to Clipboard
Paste it wherever you like