The Dapr extension for AKS and Arc-enabled Kubernetes now supports Dapr v1.9.0.
Dapr is a developer framework for building cloud-native applications, making it easier to run multiple microservices on Kubernetes and interact with external state stores/databases, secret stores, pub/sub brokers, and other cloud services and self-hosted solutions.
The Dapr v1.9.0 release offers several new features, including pluggable components, resiliency metrics, and app health checks, as well as many fixes in the core runtime and components.
You can now create private components called "pluggable components”. Simply write a component with a gRPC service in any of the gRPC supported languages, drop a binary into the filesystem and you're good to go.
Observability: Open Telemetry (OTEL) protocol support
OpenTelemetry (OTEL) combines projects like OpenCensus, Zipkin, and OpenTracing into standard API and specification sets for tracing and metrics. In this release, Dapr includes support for the OpenTelemetry protocol.
Observability: Resiliency metrics
Metrics have been added for resiliency, with the ability to trace the number of:
Resiliency policies loaded
Times a resiliency policy has been executed
Reliability: Application health checks
App health checks is a new feature that allows probing for the health of your application and reacting to status changes. When enabled, the Dapr runtime will periodically poll your application via HTTP or gRPC calls. When it detects a failure in the app's health, Dapr stops accepting new work on behalf of the application.
Reliability: Default resiliency policies
With resiliency policies you can now set default policies, which can have a broad scope. This is done through reserved keywords that apply to given policy. There are 3 default policy types:
If these policies are defined, they are used for every operation to a service, application, or component. They can also be modified to be more specific through the usage of additional keywords for specific targets.
Service Invocation: Application middleware
You can now use any middleware components when making service-to-service invocation calls. For example, for token validation in a zero-trust environment or to apply OAuth policies. Service-to-service invocation middleware components apply to all outgoing calls from Dapr sidecar to the receiving application.
Pub/sub: Namespaced consumer groups
Deploy Dapr applications to different namespaces who all share the same app id, and have all topic subscriptions scoped at the namespace level. With namespaced consumer groups for pub/sub, development teams can reuse the same pub/sub underlying infrastructure without changing their code based on the namespace they are running in.