Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Knative eventing architecture diagrams #2221

Closed
aslom opened this issue Nov 26, 2019 · 19 comments
Closed

Knative eventing architecture diagrams #2221

aslom opened this issue Nov 26, 2019 · 19 comments
Assignees
Labels
kind/doc kind/feature-request kind/good-first-issue Denotes an issue ready for a new contributor. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@aslom
Copy link
Member

aslom commented Nov 26, 2019

Problem
When explaining how Knative eventing works would be very good to have validated architecture diagrams.

Persona:
Contributors

Exit Criteria
Official architecture diagram in docs/specs:
https://github.com/knative/eventing/tree/master/docs/spec

Time Estimate (optional):
days

Additional context (optional)
Very important for visual thinking people ...
https://en.wikipedia.org/wiki/Visual_thinking

@aslom
Copy link
Member Author

aslom commented Nov 26, 2019

I was looking for official diagram(s) that show Knative eventing architecture but I could not find it - there are design and architecture diagrams in wbsite: https://knative.dev/docs/eventing/
but they are very high level and do not show actual implementation architecture (for example controllers or dispatchers)

I hope there may be good diagrams we could use?

I started drafting a simple one that may be too simple?

image

https://docs.google.com/presentation/d/1i-cciY4Goy5i966TTP-cQM4cNl8ZdbYBQ5egQsfmWOE/edit#slide=id.p

Please post links to diagrams.

@caitengwei
Copy link

Hi @aslom may I ask why 'dispatcher' is in the control-panel? I thought it's in the data-panel.

@aslom
Copy link
Member Author

aslom commented Dec 6, 2019

@caitengwei good point - i have modified diagram (in google slides the same link as above and screenshot below)

image

I am thinking to add list of steps involved in typical operations - similar to Architecture diagram description for https://cri-o.io/ - any other ideas how to explain knative eventing architecture?

@caitengwei
Copy link

@aslom This diagram is great. It answers how messaging pub/sub scenario works in Knative Eventing.
I'm thinking of adding other Knative Eventing models like triggers, sequences, and parallels. Readers would have a better understanding of the big picture.

@aslom
Copy link
Member Author

aslom commented Dec 17, 2019

@caitengwei that would be great - feel free to modify linked google slide and/or create new slide based on it to add ne components if it is hard to fit them in the existing slide

@grantr
Copy link
Contributor

grantr commented Jan 28, 2020

/label proposal/0.13

@knative-prow-robot knative-prow-robot added the proposal/0.13 Proposed (not planned) work items for 0.13 release label Jan 28, 2020
@akashrv
Copy link
Contributor

akashrv commented Mar 3, 2020

/assign @bskaplan

@knative-prow-robot
Copy link
Contributor

@akashrv: GitHub didn't allow me to assign the following users: bskaplan.

Note that only knative members, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time.
For more information please see the contributor guide

In response to this:

/assign @bskaplan

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@akashrv akashrv added this to the v0.14.0 milestone Mar 3, 2020
@akashrv akashrv added kind/doc kind/good-first-issue Denotes an issue ready for a new contributor. labels Apr 14, 2020
@akashrv akashrv modified the milestones: v0.14.0, v0.15.0 Apr 14, 2020
@grantr
Copy link
Contributor

grantr commented Apr 27, 2020

Should this still be in 0.15? Is anyone working on it?

@grantr grantr modified the milestones: v0.15.0, v0.16.0 May 27, 2020
@grantr grantr modified the milestones: v0.16.0, v0.17.0 Jul 8, 2020
@grantr grantr added this to To do in Docs Refresh Jul 8, 2020
@aslom
Copy link
Member Author

aslom commented Jul 29, 2020

/assign

@aslom
Copy link
Member Author

aslom commented Aug 5, 2020

It seems that it is not feasible to add everything from Knative Eventing into one diagram.

Instead I thin it makes sense to start with conceptual architecture diagrams and then sho how they map to implementations. The focus is to help contributors to understand Knative Eventing and give them a conceptual "map" how different concepts and implementation artifacts fit together.

Current draft https://docs.google.com/document/d/1y8lB2mH88Zc4wxrEBIUE-h3X-aSzxaMD9tXFNztU-TA/edit?usp=sharing

Looking for feedback on the approach and comments about the diagrams.

@bryeung
Copy link

bryeung commented Aug 6, 2020

Thanks for getting this started! Overall I like the progression of diagrams, but I think that things could be further clarified. I've left comments in the doc.

@aslom
Copy link
Member Author

aslom commented Aug 7, 2020

@bryeung thank you for your comments they were very useful. Please take a look again - I tried to address the issues you identified and made lot of changes in the conceptual part. The implementation is work-in-progress.

@bryeung
Copy link

bryeung commented Aug 7, 2020

Thanks for making those improvements!

@grantr grantr added this to the v0.18.0 milestone Aug 25, 2020
@github-actions
Copy link

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 25, 2020
@lberk
Copy link
Member

lberk commented Nov 30, 2020

@aslom is this eventing diagram still accurate? Is it something that could be currently included?

if so, @abrennan89 would there be an area/directory in docs that @aslom could PR this to?

@lberk lberk removed this from the v0.18.0 milestone Nov 30, 2020
@aslom
Copy link
Member Author

aslom commented Dec 2, 2020

@abrennan89 that would be great to start PR or improving docs - let me know what is the best place in docs? i will update diagram and we can iterate over it?

@lberk lberk removed the proposal/0.13 Proposed (not planned) work items for 0.13 release label Dec 7, 2020
@abrennan89
Copy link

@abrennan89 that would be great to start PR or improving docs - let me know what is the best place in docs? i will update diagram and we can iterate over it?

@aslom completely depends on the content of the diagram(s). There's no specific place where these should go really, just somewhere that it makes sense, e.g. if the diagram was about brokers, add it to the docs about brokers, etc.

@github-actions github-actions bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 23, 2021
@github-actions
Copy link

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 24, 2021
Docs Refresh automation moved this from To do to Done May 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/doc kind/feature-request kind/good-first-issue Denotes an issue ready for a new contributor. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
No open projects
Docs Refresh
  
Done
Development

No branches or pull requests

8 participants