Source: theregister.co.uk
Ahead of Microsoft’s Ignite conference next month, the tech goliath has announced Dapr, now available as an Alpha preview, a runtime to simplify developing microservices.
Dapr is not a replacement for other runtimes or frameworks such as .NET or Java. Rather, it “injects a side-car container/process to each compute unit”, according to the docs, exposing APIs that are useful for microservices.
Dapr itself is written in Go. It is not dependent on K8s and could run in other environments, though the Windows giant does have K8s in mind with this project.
The Dapr APIs are called over HTTP or gRPC and cover:
- Service invocation
- State management, with key/value pairs stored in s databases, with CosmosDB and Redis in the initial implementation
- Publish and subscribe messaging between services
- Send and receive events to/from external resources
- Virtual actors, an implementation of the actor design pattern
- Distributed tracing for monitoring and fault diagnosis
The Dapr project also includes SDKs for Go, Java, JavaScript, .NET and Python, so that developers do not have to work directly with the http/gRPC API. There is a ton of detail and sample projects on GitHub.
The Dapr post accompanies two other K8s-related announcements, these being the Open Application Model (OAM) specification and Rudr, an initial implementation. All are open source.
Microsoft Azure CTO Mark Russinovich has promised to speak at Ignite on OAM, Rudr and Dapr.
There are two things we can conclude from this. One is that the company is keen to improve its K8s products and make it easier for developers – as is seemingly every other cloud vendor. The other is that Microsoft wants to put its own stamp on developing for K8s, rather than allow Google or others to control the conversation.