News

Microsoft Open Sources Projects for Microservices, Kubernetes

Microsoft, which now calls itself an open source company, announced two new projects that serve to live up to that moniker, one for microservices and one for Kubernetes applications.

Here's a look at each:

Dapr
On the microservices side of things, the company unveiled Distributed Application Runtime (Dapr), meant to ease the development on the architecture that the company describes as the standard for cloud-native applications.

"Dapr is an open source, portable, event-driven runtime that makes it easy for developers to build resilient, microservice stateless and stateful applications that run on the cloud and edge," the company said. "Dapr embraces the diversity of all programming languages and developer frameworks and simplifies building applications such as the e-commerce example."

Dapr
[Click on image for larger view.] Dapr (source: Microsoft).

The platform-agnostic project -- it can run on any Kubernetes cluster, or other hosting environments it integrates with -- comprises different building blocks that developers using any programming language can access via HTTP or gRPC APIs.

In this initial alpha release those building blocks were listed as:

  • Service Invocation: Resilient service-to-service invocation enables method calls, including retries, on remote services wherever they are running in the supported hosting environment.
  • State management: With state management for key/value pairs, long running, highly available, stateful services can be easily written, alongside stateless services in the same application. The state store is pluggable and can include Azure Cosmos or Redis, with others such as AWS DynamoDB on the component roadmap.
  • Publish and subscribe messaging between services: Publishing events and subscribing to topics between services enables event-driven architectures to simplify horizontal scalability and make them resilient to failure.
  • Event driven resource bindings: Resource bindings and triggers build further on event-driven architectures for scale and resiliency by receiving and sending events to and from any external resources such as databases, queues, file systems, blob stores, webhooks, etc. For example, your code can be triggered by a message on an Azure EventHub service and write data to Azure CosmosDB.
  • Virtual actors – A pattern for stateless and stateful objects that make concurrency simple with method and state encapsulation. Dapr provides many capabilities in its virtual actor runtime including concurrency, state, life-cycle management for actor activation/deactivation and timers and reminders to wake up actors.
  • Distributed tracing between services: Easily diagnose and observe inter-service calls in production using the W3C Trace Context standard and push events to tracing and monitoring systems.

The project comes with SDKs for the popular programming languages Go, Java, JavaScript, .NET and Python.

Developers can learn more at:

"This initial release of the Dapr runtime and SDKs is just the early start, our goal is to bring Dapr to a vendor-neutral foundation to enable open governance and collaboration," Microsoft said on its open source blog. "This is a journey and we need your help and input, whether this is writing new binding components to integrate with resources, suggesting new building blocks or creating an SDK for your favorite language (Cobol anyone?). We want to hear from you."

OAM
Standing for the Open Application Model, this project provides an open standard for creating and using applications on the popular Kubernetes container orchestration platform and others.

The idea is to meet the need for a model that represents a complete application on Kubernetes, whose applications are known for being composed of discrete parts such as templates or other pieces.

"OAM is a specification for describing applications so that the application description is separated from the details of how the application is deployed onto and managed by the infrastructure," Microsoft said. "This separation of concerns is helpful for multiple reasons."

oam
[Click on image for larger view.] OAM (source: Microsoft).

With the OAM, an application is represented as several "concepts," such as Components that make up the application, such as a database. " Developers can author code that they package as a component and then author manifests that describe the relationships between that component and other microservices," Microsoft said.

Another concept is Traits, providing descriptive characterizations of the application environment, such as auto-scaling and ingress.

Like Dapr, the project is platform-agnostic, though its first open implementation, called Rudr, is built on Kubernetes. "It is possible to develop implementations for numerous other environments including small-device form factors, like edge deployments and elsewhere, where Kubernetes may not be the right choice," Microsoft said. "Or serverless environments where users don’t want or need the complexity of Kubernetes."

Interested developers can learn more at:

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Mastering Blazor Authentication and Authorization

    At the Visual Studio Live! @ Microsoft HQ developer conference set for August, Rockford Lhotka will explain the ins and outs of authentication across Blazor Server, WebAssembly, and .NET MAUI Hybrid apps, and show how to use identity and claims to customize application behavior through fine-grained authorization.

  • Linear Support Vector Regression from Scratch Using C# with Evolutionary Training

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the linear support vector regression (linear SVR) technique, where the goal is to predict a single numeric value. A linear SVR model uses an unusual error/loss function and cannot be trained using standard simple techniques, and so evolutionary optimization training is used.

  • Low-Code Report Says AI Will Enhance, Not Replace DIY Dev Tools

    Along with replacing software developers and possibly killing humanity, advanced AI is seen by many as a death knell for the do-it-yourself, low-code/no-code tooling industry, but a new report belies that notion.

  • Vibe Coding with Latest Visual Studio Preview

    Microsoft's latest Visual Studio preview facilitates "vibe coding," where developers mainly use GitHub Copilot AI to do all the programming in accordance with spoken or typed instructions.

  • Steve Sanderson Previews AI App Dev: Small Models, Agents and a Blazor Voice Assistant

    Blazor creator Steve Sanderson presented a keynote at the recent NDC London 2025 conference where he previewed the future of .NET application development with smaller AI models and autonomous agents, along with showcasing a new Blazor voice assistant project demonstrating cutting-edge functionality.

Subscribe on YouTube