This chapter covers
- Identifying features that platforms should provide on Kubernetes
- Learning the challenges with multi-cluster and multi-tenant setups
- Seeing what a platform on top of Kubernetes looks like
So far, we have looked at what platform engineering is, why we need to think about platforms in the context of Kubernetes, and how teams must choose the tools they can use from the CNCF landscape (chapter 1). Then we jumped into figuring out how our applications would run on top of Kubernetes (chapter 2), and how to build, package, and deploy (chapters 3 and 4), and connect these applications to other services that they need to work (chapter 5). This chapter puts all the pieces together to create a walking skeleton for our platform. We will use some of the open-source projects introduced in the previous chapters and new tools to solve some of the challenges we will face when creating the first iteration of our platform. This chapter is divided into three main sections:
- The importance of the platform APIs
- Kubernetes platform architecture and how we can architect a scalable platform despite multi-tenancy and multi-cluster challenges
- Introducing our platform walking skeleton and learning how to build a platform on top of Kubernetes
Let’s start by considering why defining the platform APIs is the first step to platform building.