CR Based APIs: Is It the Right Approach for Your Application?
2022-10-23, 15:55–16:25, Room 1

Come explore building micro-service APIs using Kubernetes Custom Resources (CRs)! We'll demo a real-life example of such an API, analyze its advantages and disadvantanges relative to typical REST APIs, and provide some guidelines for deciding whether using a CR based API is right for your application.

In a microservice application, services need to make API calls to one another. Many Kubernetes applications have begun using Custom Resources (CRs) for their APIs.

This approach offers many advantages over REST. CRs are declarative in nature, so such APIs are simple to develop and evolve. Controllers for CR based APIs are easier to scale out than REST based API servers. CR APIs are more secure to boot, since they leverage native Kubernetes security features.

However, there is a cost to these benefits, chiefly that CRs incur an overhead that may not be acceptable for some applications. How can we decide when it is appropriate to use them?

In this talk we explore this mechanism, and go over its advantages and disadvantages versus REST. We will demo a real-life example of a CR based API at work, and measure its performance relative to REST using the open-source tool Kubestr. Finally we will go over some guidelines for deciding whether moving to a CR based API is the right choice for you.