Why Kubernetes? [C ARC]
This section describes the most relevant aspects for making a Kubernetes cluster a hard requirement for Enterprise MAM Solutions.
The system is Linux-based:
VidiCore and all of the open source components in an Enterprise MAM Solution are native to Linux; most of them do not work as well on Windows.
Linux offers a wider range of licencing options for the operating system.
The system is based on containers:
Well-established concept for hosting applications.
Avoid “DLL hell” common to Windows-based systems where everything is running as Windows services.
Re-use existing containerised applications.
Kubernetes is the state-of-the-art container orchestrator.
Kubernetes offers a uniform infrastructure layer for cloud-based and on-premises installations - see Infrastructure Layers [C ARC].
Managed clusters available on all three big cloud providers (Microsoft, Amazon, Google).
Kubernetes comes with built-in support for:
redundancy;
failover;
automatic restart of components in case of component failures;
automatic re-scheduling of components in case of machine failures;
manual scaling (horizontally and vertically);
automatic scaling (horizontally and vertically);
setting resource limits (CPU, RAM) on components to avoid a single component crashing the whole machine.
Kubernetes offers a profound abstraction of storage layers - see Storage Concepts [C ARC].
There are proven concepts available for uniform logging across all applications running in the cluster.
There is built-in support for connecting cloud-based load balancers.
Kubernetes comes with built-in security concepts (e.g. RBAC).
There is fine-granular control of what is exposed to the outside world.
There are established deployment mechanisms (helm).
Kubernetes has a broad community support.