AIP
What is it
AIP (API Improvement Proposals) is an API design framework for gRPC APIs.
When to use it
Use AIP when designing a gRPC API for your backend service.
Why we use it
By standardizing on an API design framework, we are able to re-use solutions to common problems across teams, and reduce the total cognitive load of maintaining and integrating with many APIs, which may be designed by other teams in other parts of Einride.
For example, all services accessible by customers require customer identity and access management, for which we currently use the IAM Go SDK, which assumes that the API follows the basic guidelines of the AIP framework.
How to learn it
Read the AIPs in numeric order. They start by introducing the fundamental concepts (such as resource-oriented design and resource name early and then gradually introduce more concepts and conventions.