In this series of presentations, we aim to describe the main challenges that platform organizations face in trying to enable their dev. teams to build applications on Kubernetes, esp. in public cloud environments. We then explore the most relevant CNCF projects that can help address those challenges.
In Part I (this deck), we explore the problem of infrastructure/resource provisioning. Today, an application packaged for and deployed in a Kubernetes cluster specifies some of its dependencies in KRM format. Examples of these are resources needed by containerized workloads (cpu, memory, storage), basic networking and load balancing, TLS configuration, etc. However, many other dependencies such as databases, message queues, topics, caches, etc. are left to the application teams to determine. We look into several alternatives and evaluate their pros and cons and describe what it takes to create an all-encompassing platform that standardizes around Kubernetes APIs. The main goal with that is to make it possible for application developers to specify all dependencies using Kubernetes APIs and for platform teams and application Ops teams to fulfill those dependencies by leveraging Kubernetes APIs and control loops.
(The series is organized to be digestible in smaller chunks by focusing on a single problem in each section. )