Using a daemonset, a Dapr pod runs alongside your workloads. Each time the Kubernetes scheduler deploys a new instance of your application, it’ll deploy a new Dapr daemon, so that the Dapr APIs are always available with minimum latency. There is, of course, a downside, in that this approach takes more system resources than using a sidecar.

If resources are an issue, you can use Dapr as a Kubernetes deployment, installing one instance of the Dapr runtime per cluster. The Kubernetes orchestrator will determine which node it uses for Dapr, so there can be network latencies between workloads and APIs. You may need to rethink how your application handles messages and what consistency model you use.

Most of the updates in Dapr 1.14 are improvements to existing features, such as performance and security, which, together with the larger changes, should make it easier to build and deploy Dapr applications across your choice of clouds and development tools. Among the many available SDKs, the .Net implementation offers a full set of features, including support for Actors and Dapr’s workflow tools. If you prefer Python, Go, JavaScript, or even Java, you can find stable SDK releases; C++ and Rust are under development.