Kubernetes
Use Cases and Deployment Scope
Kubernetes allows to create a unified compute and scheduling substrate across many potentially disparate providers and vendors. Even more importantly, this substrate can then be used to provide developers an abstracted platform to use. That, of course, requires layers of automations and services, but that's where the unified approach of using standardized Kubernetes-based APIs and concepts pays off. Everything else is just side effects and depends on how well you execute.
Pros
- Standardized APIs
- Scheduling workloads
- Managing resources
Cons
- Complexity
- Overhead
- OOTB mechanisms sometimes not efficient enough (mitigated by using DIY tooling or something that is not a core k8s offering but exists in the rather rich ecosystem). HPA would be an example
Return on Investment
- The primary impact in appropriate use cases is streamlining and unifying your computing substrate
- If leveraged properly, it *can* lead to cost savings and resourse usage efficiencies, however, it is very important to emphasize that Kubernetes by itself does NOT guarantee any of those. Use wisely!
Usability
Alternatives Considered
HashiCorp Nomad

