Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/architecture/dapr-for-net-developers/bindings.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: The Dapr bindings building block
description: A description of the bindings building block, its features, benefits, and how to apply it
author: edwinvw
ms.date: 02/07/2021
ms.date: 02/17/2021
---

# The Dapr bindings building block
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Dapr at 20,000 feet
description: A high-level overview of what dapr is, what it does, and how it works.
author: robvet
ms.date: 02/07/2021
ms.date: 02/17/2021
---

# Dapr at 20,000 feet
Expand All @@ -21,7 +21,9 @@ Imagine flying in a jet at 20,000 feet. You look out the window and see the land

Dapr addresses a large challenge inherent in modern distributed applications: **Complexity**.

Through an architecture of pluggable components, Dapr greatly simplifies the plumbing behind distributed applications. It provides a **dynamic glue** that binds your application with infrastructure capabilities from the Dapr runtime. For example, your application may require a state store. You could write custom code to target Redis Cache and inject it into your service at runtime. However, Dapr simplifies your experience by providing a distributed cache capability out-of-the-box. Your service invokes a Dapr **building block** that dynamically binds to Redis Cache **component** via a Dapr **configuration**. With this model, your service delegates the call to Dapr, which calls Redis on your behalf. Your service has no SDK, library, or direct reference to Redis. You code against the common Dapr state management API, not the Redis Cache API.
Through an architecture of pluggable components, Dapr greatly simplifies the plumbing behind distributed applications. It provides a **dynamic glue** that binds your application with infrastructure capabilities from the Dapr runtime.

Consider the need for state management. What if your service required a state store? You could write custom code to target Redis Cache and inject it into your service at runtime. However, Dapr simplifies your experience by providing a distributed cache capability out-of-the-box. Your service invokes a Dapr **building block** that dynamically binds to Redis Cache **component** via a Dapr **configuration**. With this model, your service delegates the call to Dapr, which calls Redis on your behalf. Your service has no SDK, library, or direct reference to Redis. You code against the common Dapr state management API, not the Redis Cache API.

Figure 2-1 shows Dapr from 20,000 feet.

Expand Down Expand Up @@ -150,7 +152,6 @@ At the time of this writing, the following component types are provided by Dapr:
| [Bindings](https://github.com/dapr/components-contrib/tree/master/bindings) | Provides a uniform interface to trigger application events from external systems and invoke external systems with optional data payloads. |
| [Middleware](https://github.com/dapr/components-contrib/tree/master/middleware) | Allows custom middleware to plug into the request processing pipeline and invoke additional actions on a request or response. |
| [Secret stores](https://github.com/dapr/components-contrib/tree/master/secretstores) | Provides a uniform interface to interact with external secret stores, including cloud, edge, commercial, open-source services. |
| [Tracing exporters](https://github.com/dapr/components-contrib/tree/master/exporters) | Provides a uniform interface to open telemetry wrappers. |

As the jet completes its fly over of Dapr, you look back once more and can see how it connects together.

Expand Down Expand Up @@ -204,6 +205,8 @@ gRPC is a modern, high-performance framework that evolves the age-old [remote pr
- Bidirectional full-duplex communication for sending both client requests and server responses simultaneously.
- Built-in streaming enabling requests and responses to asynchronously stream large data sets.

To learn more, check out the [gRPC overview](https://docs.microsoft.com/dotnet/architecture/cloud-native/grpc#what-is-grpc) from the [Architecting Cloud-Native .NET Apps for Azure](https://docs.microsoft.com/dotnet/architecture/cloud-native/) eBook.

## Dapr and service meshes

Service mesh is another rapidly evolving technology for distributed applications.
Expand All @@ -216,7 +219,7 @@ Figure 2-8 shows an application that implements service mesh technology.

**Figure 2-8**. Service mesh with a side car.

The previous figure shows how messages are intercepted by a proxy that runs alongside each service. Each proxy can be configured with traffic rules specific to the service. It understands messages and can route them across your services and the outside world.
The previous figure shows how messages are intercepted by a sidecar proxy that runs alongside each service. Each proxy can be configured with traffic rules specific to the service. It understands messages and can route them across your services and the outside world.

So the question becomes, "Is Dapr a service mesh?".

Expand All @@ -230,7 +233,7 @@ Figure 2-9 shows an application that implements both Dapr and service mesh techn

**Figure 2-9**. Dapr and service mesh together.

In the book, [Learning Dapr](https://www.amazon.com/Learning-Dapr-Building-Distributed-Applications/dp/1492072427/ref=sr_1_1?dchild=1&keywords=dapr&qid=1604794794&sr=8-1), authors Haishi Bai and Yaron Schneider, cover the integration of Dapr and service mesh.
The [Dapr online documentation](https://docs.dapr.io/concepts/faq/#networking-and-service-meshes) cover Dapr and service mesh integration.

## Summary

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/dapr-for-net-developers/foreword.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Foreword
description: A foreword to Dapr for .NET Developers by Mark Russinovich
author: markrussinovich
ms.date: 02/14/2021
ms.date: 02/17/2021
---

# Foreword
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Get started with Dapr
description: A guide for preparing your local development environment and building your first .NET applications with Dapr.
author: amolenk
ms.date: 02/07/2021
ms.date: 02/17/2021
---

# Get started with Dapr
Expand Down Expand Up @@ -250,7 +250,7 @@ Now, you'll configure communication between the services using Dapr [service inv
}
```

The call to `AddDapr` registers the `DaprClient` class with the ASP.NET Core dependency injection system. You'll use the `DaprClient` class later on to communicate with the Dapr sidecar.
The call to `AddDapr` registers the `DaprClient` class with the ASP.NET Core dependency injection system. Now, you can inject an instance of `DaprClient` into your classes to communicate with the Dapr sidecar.

1. Add a new C# class file named *WeatherForecast* to the `DaprFrontEnd` project:

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/dapr-for-net-developers/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Dapr for .NET Developers
description: A guide for .NET developers to understand and leverage the full power of Microsoft's open source Distributed Application Runtime.
author: robvet
ms.date: 02/07/2021
ms.date: 02/17/2021
---

# Dapr for .NET Developers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: The Dapr observability building block
description: A description of the observability building block, its features, benefits, and how to apply it
author: edwinvw
ms.date: 02/07/2021
ms.date: 02/17/2021
ms.reviewer: robvet
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: The Dapr publish & subscribe building block
description: A description of the Dapr publish & subscribe building-block and how to apply it
author: edwinvw
ms.date: 02/07/2021
ms.date: 02/17/2021
---

# The Dapr publish & subscribe building block
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Introduction to the eShopOnDapr reference application
description: An overview of the eShopOnDapr reference application and its history.
author: amolenk
ms.date: 02/07/2021
ms.date: 02/17/2021
---

# Dapr reference application
Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/dapr-for-net-developers/secrets.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: The Dapr secrets building block
description: A description of the secrets building block, its features, benefits, and how to apply it
author: edwinvw
ms.date: 02/07/2021
ms.date: 02/17/2021
---

# The Dapr secrets building block
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: The Dapr service invocation building block
description: A description of the service invocation building block, its features, benefits, and how to apply it
author: amolenk
ms.date: 02/07/2021
ms.date: 02/17/2021
---

# The Dapr service invocation building block
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: The Dapr state management building block
description: A description of the state management building block, its features, benefits, and how to apply it.
author: amolenk
ms.date: 02/07/2021
ms.date: 02/17/2021
ms.reviewer: robvet
---

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/dapr-for-net-developers/summary.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Summary and the road ahead
description: A summary of key Dapr conclusions and a look at the road ahead.
ms.date: 02/04/2021
ms.date: 02/17/2021
author: robvet
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: The world is distributed
description: The benefits and challenges of distributed applications with a look at monolithic and SOA approaches.
author: robvet
ms.date: 02/07/2021
ms.date: 02/17/2021
---

# The world is distributed
Expand Down