jargon

Comparison

Declarative configurationvsDesired state

Declarative configuration

you write down what should exist, submit it, and something else works out the steps — including that most of them are already done.

Describing the end state you want rather than the actions to reach it, and letting a controller compute the difference. Its defining property is that applying the same description twice is a no-op, which is what makes automation safe to re-run and re-run by default. The cost is a loss of directness: you cannot straightforwardly express 'do this once', and you have to learn to debug a system that is arguing with you rather than one that failed a step.

Full entry →

Desired state

you said three replicas, and every time someone deletes one a fourth appears without anybody being asked.

The recorded intent a controller works towards, held in the control plane rather than in anyone's head. Because it is authoritative, manual changes to the running system are not changes at all — they are deviations that will be undone, sometimes within seconds. This is the single most common shock for someone arriving from virtual machines, where what you did by hand stayed done.

Full entry →

Related comparisons