<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dapr concepts on Dapr Docs</title><link>https://v1-18.docs.dapr.io/concepts/</link><description>Recent content in Dapr concepts on Dapr Docs</description><generator>Hugo</generator><language>en</language><atom:link href="https://v1-18.docs.dapr.io/concepts/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview</title><link>https://v1-18.docs.dapr.io/concepts/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/concepts/overview/</guid><description>&lt;p>Dapr is a portable, event-driven runtime that makes it easy for any developer to build resilient, stateless, and stateful applications that run on the cloud and edge and embraces the diversity of languages and developer frameworks.&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/9o9iDAgYBA8?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div>

&lt;h2 id="any-language-any-framework-anywhere">Any language, any framework, anywhere&lt;/h2>
&lt;img src="https://v1-18.docs.dapr.io/images/overview.png" width=1200 style="padding-bottom:15px;">
&lt;p>With the current wave of cloud adoption, web + database application architectures (such as classic 3-tier designs) are trending more toward microservice application architectures, which are inherently distributed. You shouldn&amp;rsquo;t have to become a distributed systems expert just to create microservices applications.&lt;/p></description></item><item><title>Building blocks</title><link>https://v1-18.docs.dapr.io/concepts/building-blocks-concept/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/concepts/building-blocks-concept/</guid><description>&lt;p>A &lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/">building block&lt;/a> is an HTTP or gRPC API that can be called from your code and uses one or more Dapr components. Dapr consists of a set of API building blocks, with extensibility to add new building blocks. Dapr&amp;rsquo;s building blocks:&lt;/p>
&lt;ul>
&lt;li>Address common challenges in building resilient, microservices applications&lt;/li>
&lt;li>Codify best practices and patterns&lt;/li>
&lt;/ul>
&lt;p>The diagram below shows how building blocks expose a public API that is called from your code, using components to implement the building blocks&amp;rsquo; capability.&lt;/p></description></item><item><title>Components</title><link>https://v1-18.docs.dapr.io/concepts/components-concept/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/concepts/components-concept/</guid><description>&lt;p>Dapr uses a modular design where functionality is delivered as a component. Each component has an interface definition. All of the components are interchangeable so that you can swap out one component with the same interface for another.&lt;/p>
&lt;p>You can contribute implementations and extend Dapr&amp;rsquo;s component interfaces capabilities via:&lt;/p>
&lt;ul>
&lt;li>The &lt;a href="https://github.com/dapr/components-contrib">components-contrib repository&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://v1-18.docs.dapr.io/concepts/components-concept/#built-in-and-pluggable-components">Pluggable components&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>A building block can use any combination of components. For example, the &lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/actors/actors-overview/">actors&lt;/a> and the &lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/state-management/state-management-overview/">state management&lt;/a> building blocks both use &lt;a href="https://github.com/dapr/components-contrib/tree/master/state">state components&lt;/a>.&lt;/p></description></item><item><title>Application and control plane configuration</title><link>https://v1-18.docs.dapr.io/concepts/configuration-concept/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/concepts/configuration-concept/</guid><description>&lt;p>With Dapr configurations, you use settings and policies to change:&lt;/p>
&lt;ul>
&lt;li>The behavior of individual Dapr applications&lt;/li>
&lt;li>The global behavior of the Dapr control plane system services&lt;/li>
&lt;/ul>
&lt;p>For example, set a sampling rate policy on the application sidecar configuration to indicate which methods can be called from another application. If you set a policy on the Dapr control plane configuration, you can change the certificate renewal period for all certificates that are deployed to application sidecar instances.&lt;/p></description></item><item><title>Resiliency</title><link>https://v1-18.docs.dapr.io/concepts/resiliency-concept/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/concepts/resiliency-concept/</guid><description>&lt;p>Distributed applications are commonly comprised of many microservices, with dozens - sometimes hundreds - of instances scaling across underlying infrastructure. As these distributed solutions grow in size and complexity, the potential for system failures inevitably increases. Service instances can fail or become unresponsive due to any number of issues, including hardware failures, unexpected throughput, or application lifecycle events, such as scaling out and application restarts. Designing and implementing a self-healing solution with the ability to detect, mitigate, and respond to failure is critical.&lt;/p></description></item><item><title>Observability</title><link>https://v1-18.docs.dapr.io/concepts/observability-concept/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/concepts/observability-concept/</guid><description>&lt;p>When building an application, understanding the system behavior is an important, yet challenging part of operating it, such as:&lt;/p>
&lt;ul>
&lt;li>Observing the internal calls of an application&lt;/li>
&lt;li>Gauging its performance&lt;/li>
&lt;li>Becoming aware of problems as soon as they occur&lt;/li>
&lt;/ul>
&lt;p>This can be particularly challenging for a distributed system comprised of multiple microservices, where a flow made of several calls may start in one microservice and continue in another.&lt;/p>
&lt;p>Observability into your application is critical in production environments, and can be useful during development to:&lt;/p></description></item><item><title>Security</title><link>https://v1-18.docs.dapr.io/concepts/security-concept/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/concepts/security-concept/</guid><description>&lt;p>Security is fundamental to Dapr. This article describes the security features and capabilities when using Dapr in a distributed application. These can be divided into:&lt;/p>
&lt;ul>
&lt;li>Secure communication with service invocation and pub/sub APIs.&lt;/li>
&lt;li>Security policies on components and applied through configuration.&lt;/li>
&lt;li>Operational security practices.&lt;/li>
&lt;li>State security, focusing on data at rest.&lt;/li>
&lt;/ul>
&lt;p>An example application is used to illustrate many of the security features available in Dapr.&lt;/p>
&lt;h1 id="secure-communication">Secure communication&lt;/h1>
&lt;p>Dapr provides end-to-end security with the service invocation API, with the ability to authenticate an application with Dapr and set endpoint access policies. This is shown in the diagram below.&lt;/p></description></item><item><title>Isolation</title><link>https://v1-18.docs.dapr.io/concepts/isolation-concept/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/concepts/isolation-concept/</guid><description>&lt;p>Dapr namespacing provides isolation and multi-tenancy across many capabilities, giving greater security. Typically applications and components are deployed to namespaces to provide isolation in a given environment, such as Kubernetes.&lt;/p>
&lt;p>Dapr supports namespacing in service invocation calls between applications, when accessing components, sending pub/sub messages in consumer groups, and with actors type deployments as examples. Namespacing isolation is supported in both self-hosted and Kubernetes modes.&lt;/p>
&lt;p>To get started, create and configure your namespace.&lt;/p></description></item><item><title>Dapr terminology and definitions</title><link>https://v1-18.docs.dapr.io/concepts/terminology/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/concepts/terminology/</guid><description>&lt;p>This page details all of the common terms you may come across in the Dapr docs.&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th style="text-align: left">Term&lt;/th>
 &lt;th>Definition&lt;/th>
 &lt;th>More information&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td style="text-align: left">App/Application&lt;/td>
 &lt;td>A running service/binary, usually one that you as the user create and run.&lt;/td>
 &lt;td>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Building block&lt;/td>
 &lt;td>An API that Dapr provides to users to help in the creation of microservices and applications.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/concepts/building-blocks-concept/">Dapr building blocks&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Component&lt;/td>
 &lt;td>Modular types of functionality that are used either individually or with a collection of other components, by a Dapr building block.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/concepts/components-concept/">Dapr components&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Configuration&lt;/td>
 &lt;td>A YAML file declaring all of the settings for Dapr sidecars or the Dapr control plane. This is where you can configure control plane mTLS settings, or the tracing and middleware settings for an application instance.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/concepts/configuration-concept/">Dapr configuration&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Dapr&lt;/td>
 &lt;td>Distributed Application Runtime.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/concepts/overview/">Dapr overview&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Dapr Actors&lt;/td>
 &lt;td>A Dapr building block that implements the virtual actor pattern for building stateful, single-threaded objects with identity, lifecycle, and concurrency management.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/actors/actors-overview/">Actors overview&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Dapr Agents&lt;/td>
 &lt;td>A developer framework built on top of Dapr Python SDK for creating durable agentic applications powered by LLMs.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-ai/dapr-agents/">Dapr Agents&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Dapr control plane&lt;/td>
 &lt;td>A collection of services that are part of a Dapr installation on a hosting platform such as a Kubernetes cluster. This allows Dapr-enabled applications to run on the platform and handles Dapr capabilities such as actor placement, Dapr sidecar injection, or certificate issuance/rollover.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/operations/hosting/self-hosted/self-hosted-overview/">Self-hosted overview&lt;/a>&lt;br />&lt;a href="https://v1-18.docs.dapr.io/operations/hosting/kubernetes/kubernetes-overview/">Kubernetes overview&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Dapr Workflows&lt;/td>
 &lt;td>A Dapr building block for authoring code-first workflows with durable execution that survive crashes, support long-running processes, and enable human-in-the-loop interactions.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/workflow/workflow-overview/">Workflow overview&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">HTTPEndpoint&lt;/td>
 &lt;td>HTTPEndpoint is a Dapr resource use to identify non-Dapr endpoints to invoke via the service invocation API.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/reference/api/service_invocation_api/">Service invocation API&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Namespacing&lt;/td>
 &lt;td>Namespacing in Dapr provides isolation, and thus provides multi-tenancy.&lt;/td>
 &lt;td>Learn more about namespacing &lt;a href="https://v1-18.docs.dapr.io/operations/components/component-scopes/">components&lt;/a>, &lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/service-invocation/service-invocation-namespaces/">service invocation&lt;/a>, &lt;a href="https://v1-18.docs.dapr.io/operations/components/setup-pubsub/pubsub-namespaces/">pub/sub&lt;/a>, and &lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/actors/namespaced-actors/">actors&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Self-hosted&lt;/td>
 &lt;td>Windows/macOS/Linux machine(s) where you can run your applications with Dapr. Dapr provides the capability to run on machines in &amp;ldquo;self-hosted&amp;rdquo; mode.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/operations/hosting/self-hosted/self-hosted-overview/">Self-hosted mode&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Service&lt;/td>
 &lt;td>A running application or binary. This can refer to your application or to a Dapr application.&lt;/td>
 &lt;td>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Sidecar&lt;/td>
 &lt;td>A program that runs alongside your application as a separate process or container.&lt;/td>
 &lt;td>&lt;a href="https://docs.microsoft.com/azure/architecture/patterns/sidecar">Sidecar pattern&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description></item></channel></rss>