Service Mesh Interface (SMI) provides a standard interface for service meshes on Kubernetes, a basic feature set for common service mesh use cases, and the flexibility to support new service mesh capabilities over time.
The specification defines a common standard that can be implemented by various providers and it follows the CNCF code of conduct.
Service Mesh Interface enables users to apply policies like identity and transport encryption across services. It can also capture key metrics like error rate and latency between services. Lastly, it helps shift traffic between different services.
SMI is a collection of Kubernetes Custom Resource Definitions (CRD) and the APIs can be installed onto any Kubernetes cluster and manipulated using standard tools.
“The goal of the SMI API is to provide a common, portable set of service mesh APIs which a Kubernetes user can use in a provider agnostic manner. In this way people can define applications that use service mesh technology without tightly binding to any specific implementation,” the project’s website states.
SMI is currently at version 0.6.0.