Open Rohithzr opened 9 months ago
I face the same problem with autoscaling and was overbilled for HPA scaling up and down for 10min...
I decided to remove autoscaling rules and go for fixed nodes. Current settings does not allow to properly set the scaling down rules for hourly billing.
Same issue... HPA / Cluster Autoscaler deployed and work as expected but this Per-Hour billing undermines our efforts.
As an OVHcloud customer using Public Cloud and MKS I want OVH Cloud Billing to have per minute / instance type / region / project billing (rounded up monthly to the nearest hour) so that : :scream:
Overview
As a dedicated OVHcloud customer utilizing both the Public Cloud and Managed Kubernetes Service (MKS) offerings, I am proposing an enhancement to the OVH Cloud Billing system. Specifically, I am advocating for the introduction of a billing model that charges on a per-minute basis for instance usage, categorized by instance type, region, and project. This model would aggregate usage over the course of a month and round up to the nearest hour for each category. This billing approach aligns with modern cloud usage patterns and offers a fairer, more accurate reflection of actual resource consumption.
Background and Rationale
In my current use of OVHcloud services, particularly with MKS, I manage multiple node groups that operate on an on-demand basis. The flexibility of Kubernetes allows for dynamic scaling of these resources in response to demand, which, while operationally efficient, poses significant billing inefficiencies under the current billing system.
Scenario Analysis
Throughout a typical month, my applications experience variable demand, leading to frequent scaling events. These can range from brief spikes requiring just 10 minutes of additional compute resources, to longer periods of heightened activity extending to 70 minutes or more. Kubernetes' cluster autoscaler intelligently manages these fluctuations, not by removing the newest or oldest nodes, but by scaling down nodes based on current resource consumption. This strategy, while optimized for performance, inadvertently results in disproportionate billing under a model that charges for a full hour's usage even if a node is active for a fraction of that time.
For instance, if a node is activated for an additional 30 minutes during each hour of the day but is then scaled down, I am billed as though it was operational for the entire 24-hour period, despite actual usage totaling approximately 12 hours. This discrepancy is further exacerbated during instances of temporary over-provisioning by the cluster-autoscaler, a common occurrence during transient spikes in CPU demand. Such over-provisioning, while brief, can significantly inflate costs under the current billing model.
Comparative Analysis
It's worth noting that other major cloud providers, including AWS, GCP, and Azure, have adopted billing models that offer more granular accounting of resource usage. These systems calculate charges based on the cumulative minutes of instance usage throughout the month, rounding up to the nearest hour. This method provides a more equitable billing solution that more accurately reflects actual usage patterns.
Illustrative Calculation
To put this into perspective, let's consider a hypothetical scenario under the current OVHcloud billing model:
This calculation starkly illustrates the discrepancy between actual usage and billed amounts, highlighting the need for a more nuanced billing model.
Proposal
I am therefore proposing that OVHcloud adopt a similar billing model that charges based on actual usage, calculated to the minute and rounded up to the nearest hour. This change would not only ensure fairer billing practices but also position OVHcloud as a competitive option for cost-conscious businesses leveraging cloud and Kubernetes services.