// This concept is included in the following assemblies:
//
// assembly-cruise-control-concepts.adoc

// Save the context of the assembly that is including this one.
// This is necessary for including assemblies in assemblies.
// See also the complementary step on the last line of this file.

[id='con-cruise-control-overview-{context}']
= Why use Cruise Control?

Cruise Control reduces the time and effort involved in running an efficient and balanced Kafka cluster.

A typical cluster can become unevenly loaded over time.
Partitions that handle large amounts of message traffic might be unevenly distributed across the available brokers.
To rebalance the cluster, administrators must monitor the load on brokers and manually reassign busy partitions to brokers with spare capacity.

Cruise Control automates the cluster rebalancing process.
It constructs a _workload model_ of resource utilization for the cluster--based on CPU, disk, and network load--and generates optimization proposals (that you can approve or reject) for more balanced partition assignments. 
A set of configurable optimization goals is used to calculate these proposals.

When you approve an optimization proposal, Cruise Control applies it to your Kafka cluster. 
When the cluster rebalancing operation is complete, the broker pods are used more effectively and the Kafka cluster is more evenly balanced.

.Additional resources

* link:https://github.com/linkedin/cruise-control/wiki[Cruise Control Wiki^]