<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-data-360-optimized-kubernetes-scheduling-architecture-dlniw6hay" -->

---
title: How Data 360 Optimized Kubernetes Scheduling Architecture
description: Salesforce's Data 360 team orchestrates nearly 2 million Spark applications daily on Kubernetes. The default kube-scheduler's LeastAllocated strategy caused...
canonical: https://daily.dev/posts/how-data-360-optimized-kubernetes-scheduling-architecture-dlniw6hay
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How Data 360 Optimized Kubernetes Scheduling Architecture | daily.dev
og:description: Salesforce's Data 360 team orchestrates nearly 2 million Spark applications daily on Kubernetes. The default kube-scheduler's LeastAllocated strategy caused...
og:url: https://daily.dev/posts/how-data-360-optimized-kubernetes-scheduling-architecture-dlniw6hay
og:image: https://api.daily.dev/og/posts/dLNiW6hAy.png
og:image:alt: How Data 360 Optimized Kubernetes Scheduling Architecture
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How Data 360 Optimized Kubernetes Scheduling Architecture

**[Salesforce Engineering](https://daily.dev/sources/salesforceeng)** · 5 min read · 3 upvotes · 0 comments

## Summary

Salesforce's Data 360 team orchestrates nearly 2 million Spark applications daily on Kubernetes. The default kube-scheduler's LeastAllocated strategy caused node fragmentation by spreading Spark executors across many nodes, leaving idle capacity that Karpenter's reactive consolidation couldn't reclaim without disrupting running jobs. The team replaced the default scheduler with a custom MostAllocated bin-packing strategy using the NodeResourcesFit plugin, proactively stacking executors onto already-utilized nodes before provisioning new ones. This eliminated fragmentation at scheduling time, raised CPU and memory utilization by ~15%, cut compute infrastructure costs by 13%, and reduced EC2 node disruption rates by 50% by allowing autoscaling to terminate empty nodes rather than evict active pods.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://engineering.salesforce.com/how-data-360-optimized-kubernetes-scheduling-architecture-that-delivered-13-cost-savings/>

## Similar posts on daily.dev

- [Apache Spark Resource Optimization: Lessons From Eight Million Jobs a Day](https://daily.dev/posts/apache-spark-resource-optimization-lessons-from-eight-million-jobs-a-day-56vchixir) · Salesforce Engineering · 7 upvotes · 0 comments
- [Amazon EKS now supports advanced Kubernetes control plane configuration parameters](https://daily.dev/posts/amazon-eks-now-supports-advanced-kubernetes-control-plane-configuration-parameters-prou1ktn3) · AWS · 0 upvotes · 0 comments
- [GPU Scheduling and Bin-Packing in Kubernetes: Pack More AI onto Every GPU](https://daily.dev/posts/gpu-scheduling-and-bin-packing-in-kubernetes-pack-more-ai-onto-every-gpu-6nuaafnff) · Cast AI · 0 upvotes · 0 comments
- [Salesforce Migrates 1,000\+ EKS Clusters to Karpenter to Improve Scaling Speed and Efficiency](https://daily.dev/posts/salesforce-migrates-1-000-eks-clusters-to-karpenter-to-improve-scaling-speed-and-efficiency-hwplkodi3) · InfoQ · 0 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes), [#apache-spark](https://daily.dev/tags/apache-spark)

[View this post on daily.dev](https://daily.dev/posts/how-data-360-optimized-kubernetes-scheduling-architecture-dlniw6hay)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How Data 360 Optimized Kubernetes Scheduling Architecture","url":"https://daily.dev/posts/how-data-360-optimized-kubernetes-scheduling-architecture-dlniw6hay","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-data-360-optimized-kubernetes-scheduling-architecture-dlniw6hay"},"datePublished":"2026-03-05T16:44:26.701Z","dateModified":"2026-03-05T16:44:51.070Z","description":"Salesforce's Data 360 team orchestrates nearly 2 million Spark applications daily on Kubernetes. The default kube-scheduler's LeastAllocated strategy caused...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6d3981304aa6f36301a6c057f6385c72?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6d3981304aa6f36301a6c057f6385c72?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Salesforce Engineering","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Salesforce Engineering","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/513375817ec24d97b9cdb5efd16f87f2","url":"https://daily.dev/sources/salesforceeng"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/how-data-360-optimized-kubernetes-scheduling-architecture-dlniw6hay","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kubernetes,apache-spark","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Salesforce Engineering","item":"https://daily.dev/sources/salesforceeng"},{"@type":"ListItem","position":3,"name":"How Data 360 Optimized Kubernetes Scheduling Architecture"}]}
```

