Concepts
Core concepts for workload optimization, cost impact, and automation in EcoScale.
Workload
Section titled “Workload”A workload is any Kubernetes object that manages or creates pods with one or more containers. Workloads include standard built-in kinds such as Deployment, StatefulSet, DaemonSet, Job, and CronJob. Custom CRD kinds that manage pods also count — for example, Argo Rollouts and Elasticsearch operated through ECK.
In EcoScale docs, “workload” and “target workload” refer to the same concept.
WorkloadScaler
Section titled “WorkloadScaler”A WorkloadScaler is the Kubernetes resource EcoScale uses to connect a target workload with optimization policy and recommendation status. It identifies the target workload, declares what should be optimized, and controls whether recommendations remain in preview or can be automated.
apiVersion: escale.dev/v1alpha1kind: WorkloadScalermetadata: name: example-api namespace: examplespec: targetRef: apiVersion: apps/v1 kind: Deployment name: example-api namespace: example optimize: - resource interval: 1d resources: updatePolicy: updateMode: Preview resourcePolicy: containerPolicies: - name: api cpu: scalingGoal: Balanced scalingPolicy: RequestsOnly memory: scalingGoal: Balanced scalingPolicy: RequestsAndLimitsThis example keeps the workload in preview mode while allowing EcoScale to generate CPU and memory recommendations for the api container.
WorkloadScalerRule
Section titled “WorkloadScalerRule”A WorkloadScalerRule is the cluster-level discovery rule that tells the agent which workloads should get WorkloadScaler resources. Rules are useful when platform teams want repeatable discovery and safe defaults across namespaces or workload kinds.
For custom workload CRDs, a rule can include a podNamePattern so EcoScale can match the workload to its pods for metrics queries. Rules can also define defaults for controller-created WorkloadScaler resources, while individual workloads can opt out with escale.dev/skip-defaults: "true".
Recommendation
Section titled “Recommendation”A recommendation is EcoScale’s proposed resource posture for a workload or container. In these docs, recommendations refer to CPU and memory requests and limits. Each recommendation should be reviewed in context before it is applied or automated.
Optimization Score
Section titled “Optimization Score”The optimization score summarizes how optimized a workload appears on a 0 to 100 scale. Higher scores indicate a better resource posture. Lower scores help teams find workloads with more room for improvement.
score = 100 − |(current − recommended) ÷ current × 100|CPU and memory scores are computed independently, then combined into a weighted overall score using the weights 0.6 for CPU and 0.4 for memory.
Efficiency Rate
Section titled “Efficiency Rate”Efficiency rate reflects how effectively allocated resources are being used. It helps teams identify workloads that may be overprovisioned even when cost configuration is not yet available.
rate = min(usage ÷ current, 1.0) × 100Cost Impact
Section titled “Cost Impact”Cost impact compares current cost with projected target cost. A negative net impact indicates projected savings, while a positive net impact indicates that the workload may need more resources to meet its operational needs.
currentCost = currentCPU × cpuPrice + currentMemory × memoryPricetargetCost = targetCPU × cpuPrice + targetMemory × memoryPricenetImpact = (targetCost − currentCost) × timeMultiplierResource Request
Section titled “Resource Request”A resource request is the amount of CPU or memory Kubernetes uses for scheduling and allocation decisions. Requests are central to capacity planning and often influence internal cost models.
Resource Limit
Section titled “Resource Limit”A resource limit is the maximum CPU or memory a container can consume. Limits can protect shared capacity, but poorly tuned limits can also create throttling or termination risk.
Preview Mode
Section titled “Preview Mode”Preview mode keeps recommendations visible without applying them automatically. It is the recommended starting point for new workloads, critical services, and teams that are still building trust in the optimization workflow.
Automation
Section titled “Automation”Automation allows trusted resource recommendations to be applied continuously. It is most appropriate for stable workloads with strong metrics history and a record of safe manual applies.
Cluster
Section titled “Cluster”A cluster is a Kubernetes environment connected to EcoScale. Cluster context prevents teams from confusing similarly named workloads across staging, production, and regional environments.
Namespace
Section titled “Namespace”A namespace organizes workloads within a cluster. EcoScale uses namespaces to group optimization data, support ownership boundaries, and help teams prioritize work at the right operational level.