Enable automation

Continuously enhance performance and resiliency, optimize resource utilization, minimize waste, and streamline the management of your Kubernetes infrastructure with PerfectScale Automation

The fundamental principles of PerfectScale Automation

PerfectScale's PodFit Automation continuously optimizes your Kubernetes environment by autonomously adjusting workloads' CPU and memory to optimal values. Built to support highly dynamic production environments and HPA, PodFit Automations safely and accurately adjusts workload resources to improve stability and cost-effectiveness without the need for manual intervention from your team.

What type of automated actions will be taken

⚠️ Resiliency Issues

When a workload consumes more resources than allocated, PrefectScale's automation immediately provisions the necessary resources.

💸 Wasted Resources

When PerfectScale identifies resource waste and its recommendations are significant, PrefectScale's automation will gradually reduce resources. The system carefully monitors the proper workload functioning after each resource-decreasing step to ensure the best availability.

Effortless and flexible configuration

Cluster-level automation configuration allows the definition of global settings that apply to all workloads within the cluster.

Cluster-level automation configuration is a mandatory step.

Namespace-level automation configuration allows customization of automation settings for specific namespaces to meet application-specific needs. Automation configured on the namespace level overrides a global (Cluster-level) configuration.

Workload-level automation configuration allows for the fine-tuning of resource management for individual workloads. Automation configured on the workload level overrides cluster and namespace-level configuration.

Optimization Policy

In order to support the needs of your workloads, it is important to select the proper Optimization Policy.

The optimization policies allow you to specify how your resources should be allocated in order to support the individual needs of your workloads. Define the policies that best suit your environment and business goals, depending on whether you want to maximize cost savings or provide extra headroom to maintain the resilience of mission-critical services:

  • MaxSavings - maximum cost savings, the best for non-production environments

  • Balanced (default) - optimally balances cost and resiliency

  • ExtraHeadroom - the best fit for latency-sensitive environments

  • MaxHeadroom - keeps the environment above the highest spikes

Set up the Optimization Policy for the entire cluster or for a specific workload. The workload's Optimization Policy takes precedence and will override the value defined at the cluster level.

If a custom policy is set through the exporter when installing the PerfectScale Agent, it cannot be modified in the UI afterward. You can still change the policy by upgrading the exporter with the new value, or you can return it to the default by upgrading the exporter without specifying any value (this will also enable the option to change the custom time window through the UI).

Discover more about customizing the Optimization policy here.

Automation considerations and guardrails

Revision Awareness

PerfectScale does not contradict your development changes, and despite having automation turned on, PerfectScale immediately accepts any specific user's changes instead of current recommendations. The system will increase or reduce resources as needed only after we have a clear understanding of how the changes compare with usage patterns.

To ensure that automatic resource adjustments yield the best results for you, PerfectScale Automation will only take action once sufficient data is available. The data considered for automated actions are based on the frequency of revisions. In case of frequent revisions, Automation will take actions based on the data over 1 week. If revisions are infrequent and more time is required to gather sufficient data, the analysis will extend up to one month before any adjustments are made.

HPA Awareness

PerfectScale is aware of and takes into account the HPA settings of your workload. In cases where HPA is identified, we will typically not automatically reduce resources to remove waste. However, if resilience issues, like OOM or CPU Throttling, are identified, we will take automated actions to resolve them.

Impact Awareness

We understand the impact that each automated change will make and will not initiate changes that will make a minimal impact on optimizing your environment.

If you use CI/CD tools with auto-sync to avoid certificate regeneration for webhook configuration, you can create a static certificate and add it to your Helm override values file. Learn how to do it here.

If no fixResiliencyMaxAutomationFrequency is specified, PerfectScale defaults to values based on the type of workload:

Deployment: "30m" Rollout: "30m" DaemonSet: "4h" StatefulSet: "24h" CronJob: "30m" Job: "30m"

Revisions Audit

PerfectScale provides comprehensive revision history details with the built-up Revisions History Log and Automation Audit Log.

Automation capacity constraints

PerfectScale Automation can optimize up to three workloads at a time. In large clusters, as soon as one workload from the initial group is fully optimized, PerfectScale will automatically begin optimizing the next workload in the queue. This sequential approach ensures continuous optimization without overloading the system.

Last updated