How Adobe is Optimizing Resource Usage in Kubernetes
summary
Adobe runs 25+ multi-tenant Kubernetes clusters on Azure and combines cluster autoscaler, HPA (CPU and requests/min), and selective VPA to cut costs. A cron-job hibernation system scales whole customer environments to zero and deletes ingresses, yielding 60-80% savings for sandbox environments. ARC automatic resource configuration reduces requests cluster- or namespace-wide to recover another ~10–15% of capacity; ARC is internal today. JVMs are tuned (heap ~75% of request), requests/limits are policy-enforced, and larger VM types are preferred to avoid node limits.
AI-written summary · about
chapters (7)
- 0:00How Adobe is Optimizing Resource Usage in Kubernetes Carlos Sanchez, Adobe
- 0:45An existing distributed Java OSGi application Using Oss components from Apache Software Foundation A huge market of extension developers Writing modules that run in process on AEM
- 9:33AEM scales on CPU and http requests per minute (rpm) metrics CPU autoscaling is problematic Periodic tasks can spike the CPU, more pods do not help Spikes on startup can trigger a cascading effect
- 12:06Allows scaling resources up and down for a deployment Requires restart of pods (automatic or on next start) Makes it slow to respond, can exhaust resources in busy nodes
- 14:07Scaling down multiple deployments associated to one AEM environment Deleting ingress routes and other objects that may limit cluster scale
- 16:46In most clusters services request more cpu/memory than used ARC can transparently reduce cpu/memory requirements Limits are not affected, so side effects are limited, would not trigger OOM Killer (likely)
- 19:05ARC recommender leverages historical metrics at the deployment level Can provide recommendations about optimization at deployment level based on actual usage
related talks
32mOptimizing Resource Usage in Kubernetes
39mOptimizing Resource Usage in Kubernetes
25mThe Cloud Native Journey at Adobe
36mOptimizing Resource Usage in Kubernetes
36mHow Adobe Planned For Scale With Argo CD, Cluster API, And VCluster
39mLessons Learned Migrating an Existing Product to a Multi Tenant Cloud Native Environment
33mUncover Kubernetes cost-optimization trends
05mLightning Talk: What Makes a Good Multi-tenant Kubernetes Solution?
