3 ms·
These concepts are roughly similar conceptually, but have very different implementations and usecases. The common idea is: there is a current (possibly wrong)
by nivertech 5y ago
These concepts are roughly similar conceptually, but have very different implementations and usecases.
The common idea is: there is a current (possibly wrong) state of the world, and there is a desired state.
Let the system use control feedback to automatically bring itself into a desired state.
i.e.
the current state: I have 3 workers.
the desired state: I want 5 workers.
Now on top of that add an hierarchy or workers.
K8s has a predefined workers topology: deployment -> replica set -> pod -> container. Which uses a small number of patterns (service, StatefullSet, etc.)
While Erlang/OTP allows arbitrary supervision trees composed out of several primitives: one-for-one, one-for-all, etc.
Both have a concept of a cluster composed out of nodes.
K8s does this on the [micro]services level, while Erlang/OTP does it on the clustered monolith level.
K8s has a coarse-grained scheduler, while BEAM has fine-grained.