Microsoft has unveiled two open source projects in the microservices and Kubernetes realms.
Dapr (short for distributed application runtime) provides a runtime for microservices, while the Open Application Model, or OAM, offers a specification for running applications on Kubernetes and other platforms.
Dapr is a portable, event-driven runtime intended to make it easier to build microservices-based stateless and stateful applications to be deployed in the cloud or on the edge.
It can be used with multiple languages and frameworks and consists of building blocks accessed by standard gRPC or HTTP APIs.
The building blocks support best practices, with building blocks currently enabling activities such as service invocation, state management, publish-and-subscribe messaging, and event-driven resource bindings.
Dapr is platform-agnostic, with applications able to be run locally, in a Kubernetes cluster, or in other hosting environments that can integrate with Dapr. This enables developers to build microservices that can run with no code changes in the cloud or edge.
Open Application Model provides a specification for Kubernetes deployments and cloud-native applications.
Emphasising the separation of development and operations concerns, OAM provides a way to describe the components of an application separately from how the application is deployed and managed. This separation of concerns is important because every Kubernetes cluster is different from ingress to CNI (Container Network Interface) to service mesh.
Separating the application definition from operational details allows developers to focus on the key elements of their application rather than the deployment target.
The separation of concerns also lets platform architects build reusable components while developers can focus on integrating those components. Platform-agnostic OAM was co-created with Alibaba Cloud under the auspices of the Open Web Foundation.