liveBook · Manning

Bin-packing

As explained in Kubernetes for Developers

Bin-packing is the placement of multiple workloads onto shared resources to maximize resource utilization while respecting constraints.

Bin-packing places multiple application instances or applications on shared machines instead of assigning one application to each virtual machine. Kubernetes uses this approach to improve compute utilization and reduce infrastructure cost while managing workloads through orchestration. section 1.2.2

The practical deployment trade-offs are:

  • Shared machines increase efficiency compared with dedicating one virtual machine to each application. section 1.2.2
  • Resource pooling lets workloads use temporarily available capacity that other containers have reserved but are not using. section 1.2.2
  • Commodity compute nodes combined with workload orchestration can make deployments more price-efficient. section 1.2.2

How Kubernetes for Developers covers it

How deep it goes
Defines the practice through shared-machine placement and resource pooling, without detailing placement algorithms or scheduling internals.
Examples
Contrasts one application per virtual machine with multiple application instances or applications on one machine.
What you can do after
Apply it via Kubernetes to host multiple workloads efficiently on shared compute nodes.
How it connects
Connects bin-packing to Kubernetes orchestration, resource pooling, containers, virtual machines, and workload efficiency.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Kubernetes for Developers. The section links point to the parts of the book it draws on.