dapr / docs

Dapr user documentation, used to build docs.dapr.io
https://docs.dapr.io
Creative Commons Attribution 4.0 International
992 stars 728 forks source link

add general diagram for how SDKs interacts with Dapr runtime #3736

Open sicoyle opened 1 year ago

sicoyle commented 1 year ago

What content needs to be created or modified? There is no visual representation for how the SDKs in general interacts with the Dapr runtime. We should add a visual for this for easy understanding at a glance by community members.

Describe the solution you'd like It would be nice for community members to have a diagram depicting the interactions with end user applications, the Dapr SDKs, and the Dapr sidecar at a high level.

The diagram should include:

3 main components: end user application, Dapr SDKs, Dapr sidecar

Other ideas (but not limited to below list) that can be included in diagram:

Where should the new material be placed? On this page: https://docs.dapr.io/developing-applications/sdks/

The associated pull request from dapr/dapr, dapr/components-contrib, or other Dapr code repos No pull requests yet as I'm targetting this as a good idea for adding on the Grace Hopper Conference board for Dapr. I'll link the SDK specific issues here, as I believe we can have a generic visual representation here, and then a more specific diagram per SDK in their associated README.md files.

SDK Issues: https://github.com/dapr/go-sdk/issues/451 https://github.com/dapr/java-sdk/issues/915 https://github.com/dapr/dotnet-sdk/issues/1146 https://github.com/dapr/js-sdk/issues/521 https://github.com/dapr/python-sdk/issues/599 https://github.com/dapr/rust-sdk/issues/105 https://github.com/dapr/cpp-sdk/issues/56 https://github.com/dapr/php-sdk/issues/139

sicoyle commented 1 year ago

Thoughts @hhunter-ms ?

msfussell commented 1 year ago

@sicoyle - Can you add a sketch for the words above on your expectation here. If this is a simplified picture I would add it here https://docs.dapr.io/concepts/overview/#developer-language-sdks-and-frameworks, since this is usually simply the importing and using of an SDK Are you trying to also show implementation of the SDKs?

sicoyle commented 1 year ago

Maybe something along these lines in the dapr docs (but whoever picks up this issue can use PowerPoint or a nice visualizer to formalize it), and then we could have more details that are SDK specific for the corresponding SDKs? Thoughts @msfussell ?

   +----------------+           +----------------+           +-----------------+
   |   Your         |           |  Dapr SDK     |           |   Dapr Sidecar  |
   | Application    |           |  (e.g., Go,   |           |                 |
   |                |           |   Python,     |           |                 |
   |                |           |   .NET, etc.) |           |                 |
   +----------------+           +----------------+           +-----------------+
           |                            |                            |
           |                            |                            |
           |     API Calls              |                            |
           |---------------------------->                            |
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |     Request Routing         |
           |                            |---------------------------->
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |   Sidecar Processing       |
           |                            |---------------------------->
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |                            |
           |                            |     Response Handling       |
           |                            |<----------------------------|
           |                            |                            |
           |                            |                            |
sicoyle commented 1 year ago

ORRRR even better is this visual here for the JS SDK: https://docs.dapr.io/developing-applications/sdks/js/#structure

Maybe use this as a starting point and spruce it up for where you recommended adding in the dapr docs? Also, again with making SDK specific in the READMEs.

hhunter-ms commented 10 months ago

@sicoyle is this kind of what you're looking for in regards to a general concept diagram?

image