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

updating architecture diagram #3680

Conversation

vikas-saxena02
Copy link
Contributor

Pull request for #3536

@vikas-saxena02
Copy link
Contributor Author

@andreyvelich @thesuperzapper @juliusvonkohout some feedback would really be great!!

Copy link
Member

@andreyvelich andreyvelich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this @vikas-saxena02! Couple of thoughts:

  1. Rename:
    Kubeflow Universe -> Kubeflow Ecosystem
    Kubeflow - Ecosystem -> Kubeflow Applications or Kubeflow Components (if we name if to Kubeflow components, rename small Kubeflow components box to Kubeflow Core components).

  2. Make the text font bigger in boxes.

  3. Maybe it is better to not put names in the grey boxes (e.g. Workspaces and ML Tools). And just name it at the top of the appropriate box.

@andreyvelich
Copy link
Member

/assign @kubeflow/kubeflow-steering-committee @kubeflow/wg-pipeline-leads @kubeflow/wg-notebooks-leads @kubeflow/wg-training-leads @kubeflow/wg-manifests-leads

@thesuperzapper
Copy link
Member

Regarding "Kubeflow Universe" vs "Kubeflow Ecosystem", I'm not sure that "ecosystem" accounts for stuff that is not really part of Kubeflow but is commonly used alongside it (e.g. TensorFlow / PyTorch), because it kind of makes it sound like we own them. I kind of like the word "universe" as well but I'm open to change my mind.


We also might want to specify with brackets underneath each component what they actually do, similar to the less comprehensive introduction diagram that is already on the website:

@vikas-saxena02
Copy link
Contributor Author

@andreyvelich I have just made the recommended changes except for Kubeflow Universe as I have same thoughts as @thesuperzapper on that one. @thesuperzapper added descriptions in brackets as you suggested.

@andreyvelich
Copy link
Member

@thesuperzapper Yes, but ecosystem is mostly used term to explain that these ML projects have integrations with Kubeflow.
For example, HuggingFace has a page which describe how to use Kubeflow Training Operator to run distributed training: https://huggingface.co/docs/transformers/main/en/perf_train_cpu_many#pytorchjob-specification-file
cc @kubeflow/wg-training-leads

@thesuperzapper
Copy link
Member

@andreyvelich perhaps we could use the term "Kubeflow Ladscape" similar to the "CNCF Landscape": https://landscape.cncf.io/

@andreyvelich
Copy link
Member

Yes, maybe Landscape also could work. Then should we rename Kubeflow Components to Kubeflow Ecosystem ?
Any other thoughts @kubeflow/kubeflow-steering-committee @vikas-saxena02 ?

@james-jwu
Copy link

james-jwu commented Feb 21, 2024

I like "Kubeflow Ecosystem" at the top, and "Kubeflow Components" for the various KF projects. "Ecosystem" is used more than "Universe". See one example here for Spark: https://www.oreilly.com/library/view/building-data-streaming/9781787283985/81b1268e-23c2-492e-9710-2496c601d1de.xhtml

@vikas-saxena02
Copy link
Contributor Author

@andreyvelich I would leave kubeflow components as it is as we use the same terminology in the structure of documentation of website.
The top section is the only one where it's difficult for me to decide on my own.

@andreyvelich
Copy link
Member

andreyvelich commented Feb 22, 2024

I like "Kubeflow Ecosystem" at the top, and "Kubeflow Components" for the various KF projects. "Ecosystem" is used more than "Universe". See one example here for Spark: https://www.oreilly.com/library/view/building-data-streaming/9781787283985/81b1268e-23c2-492e-9710-2496c601d1de.xhtml

I agree with James, ecosystem can be interpreted differently. It doesn't necessary mean that Kubeflow implements ML libraries (e.g. PyTorch and Tensorflow).

@vikas-saxena02 Maybe we can name middle box as Kubeflow Tools and in that section we can have: Kubeflow Components and External Add-Ons ?

@vikas-saxena02
Copy link
Contributor Author

@andreyvelich good suggestion. I think we should rename the middle section to kubeflow tools and scaffolding in-line with current name.

@vikas-saxena02
Copy link
Contributor Author

@james-jwu @andreyvelich @thesuperzapper, I was just wondering if you guys are happy for me to apply the following changes:

  1. Rename top box to Kubeflow Ecosystem
  2. Rename middle box to Kubeflow Tools and Scaffolding

@andreyvelich
Copy link
Member

@james-jwu @andreyvelich @thesuperzapper, I was just wondering if you guys are happy for me to apply the following changes:

  1. Rename top box to Kubeflow Ecosystem
  2. Rename middle box to Kubeflow Tools and Scaffolding

That sounds good for to @vikas-saxena02 (Middle box - Kubeflow Scaffolding) . Any thoughts @james-jwu @kubeflow/kubeflow-steering-committee ?

@james-jwu
Copy link

Top box Kubeflow Ecosystem - SGTM

Middle box - "Scaffolding" is usually a framework that is designed to expose 3rd party code as services (e.g. Spring Boot), so it's probably not a good choice. "Tools" sounds a bit peripheral to me. "Kubeflow Components and External Add-Ons" ("External" can be dropped for brevity) sounds better to me.

@andreyvelich
Copy link
Member

SGTM @james-jwu @vikas-saxena02

@vikas-saxena02
Copy link
Contributor Author

@james-jwu @andreyvelich Changed Top Box to Kubeflow Ecosystem and MiddleBox to Tools as suggested

Copy link
Member

@andreyvelich andreyvelich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have the following thoughts:

  • I would visually highlight Kubeflow Core Components compare to External Add-Ons and Integrations.
  • remove Apache MXNet since this project was deprecated.
  • change HoroVod -> Horovod
  • Change HuggingFace -> Hugging Face
  • Do we need explanation in stack diagram for every box (e.g. Certificate Manager) ? We can always explain it separately or link to the appropriate pages.

@vikas-saxena02
Copy link
Contributor Author

I have the following thoughts:

  • I would visually highlight Kubeflow Core Components compare to External Add-Ons and Integrations.
  • remove Apache MXNet since this project was deprecated.
  • change HoroVod -> Horovod
  • Change HuggingFace -> Hugging Face
  • Do we need explanation in stack diagram for every box (e.g. Certificate Manager) ? We can always explain it separately or link to the appropriate pages.

@andreyvelich

  • for 1. Will making the External Add-Ons bio smaller (one column with the 4 boxes) help?
  • 2,3 and 4 done
  • The intention of adding description was to ensure that non-technical users (Managers, BAs etc) get some context to the related components. The diagram is a svg so we can even add links to the corresponding pages in the website

@andreyvelich
Copy link
Member

for 1. Will making the External Add-Ons bio smaller (one column with the 4 boxes) help?

I was thinking that we should use another colour for Core Components. Also, should we just remove grey boxes from Core Components and External Add-ons and just name this box at the top ?

Also, we might want to avoid sharp corners like in prev diagram: https://www.kubeflow.org/docs/started/architecture/
Screenshot 2024-03-05 at 21 05 45

@vikas-saxena02
Copy link
Contributor Author

for 1. Will making the External Add-Ons bio smaller (one column with the 4 boxes) help?

I was thinking that we should use another colour for Core Components. Also, should we just remove grey boxes from Core Components and External Add-ons and just name this box at the top ?

Also, we might want to avoid sharp corners like in prev diagram: https://www.kubeflow.org/docs/started/architecture/ Screenshot 2024-03-05 at 21 05 45

Cool.... I will make these changes today!!

@vikas-saxena02
Copy link
Contributor Author

for 1. Will making the External Add-Ons bio smaller (one column with the 4 boxes) help?

I was thinking that we should use another colour for Core Components. Also, should we just remove grey boxes from Core Components and External Add-ons and just name this box at the top ?

Also, we might want to avoid sharp corners like in prev diagram: https://www.kubeflow.org/docs/started/architecture/ Screenshot 2024-03-05 at 21 05 45

@andreyvelich done :)

@andreyvelich
Copy link
Member

@vikas-saxena02 Please can you make font bigger for Core components and External Add-ons. I think, I was using 35 or 40.
Also, should we change colour for boxes in integrations section so Core Kubeflow Components will be visually highlighted ?

@vikas-saxena02
Copy link
Contributor Author

@vikas-saxena02 Please can you make font bigger for Core components and External Add-ons. I think, I was using 35 or 40. Also, should we change colour for boxes in integrations section so Core Kubeflow Components will be visually highlighted ?

Hi @andreyvelich do you want the font to be increased for just core components and external add-ons or everything?

@andreyvelich
Copy link
Member

@vikas-saxena02 Please can you make font bigger for Core components and External Add-ons. I think, I was using 35 or 40. Also, should we change colour for boxes in integrations section so Core Kubeflow Components will be visually highlighted ?

Hi @andreyvelich do you want the font to be increased for just core components and external add-ons or everything?

Yes, only for core and external like in my example above: #3680 (comment)

@vikas-saxena02
Copy link
Contributor Author

@vikas-saxena02 In my previous comment, the suggestion is for the middle box to be "Kubeflow Components and External Add-Ons" ("External" can be dropped for brevity). Andrey lgtm'd in the next comment. I don't see this change reflected in the latest diagram.

@james-jwu done :) Apologies, I somehow missed it.

@james-jwu
Copy link

@vikas-saxena02 In my previous comment, the suggestion is for the middle box to be "Kubeflow Components and External Add-Ons" ("External" can be dropped for brevity). Andrey lgtm'd in the next comment. I don't see this change reflected in the latest diagram.

@james-jwu done :) Apologies, I somehow missed it.

There is a misunderstanding here. What I meant was to rename the "Tool" in th left-middle box to "Kubeflow Components and External Add-Ons". Please see my linked comment on why I think "Tool" isn't a good choice.

@james-jwu
Copy link

/lgtm

@andreyvelich
Copy link
Member

I recently made some changes to @vikas-saxena02 diagram to follow Kubeflow styling.
What do you think?
kubeflow-architecture drawio

@james-jwu
Copy link

I like the styling updates :)

@thesuperzapper
Copy link
Member

thesuperzapper commented Apr 19, 2024

@andreyvelich It might look better with a banner version of the Kubeflow logo (rather than square).

kubeflow_logo_text_bannar

(the above image is an SVG)

@vikas-saxena02
Copy link
Contributor Author

@andreyvelich just wondering if we should add Spark or Apache Spark or SparkOperator to the top left box as its now officially a part of kubeflow. Let me know your thoughts

@andreyvelich
Copy link
Member

I applied suggested changes.

@andreyvelich just wondering if we should add Spark or Apache Spark or SparkOperator to the top left box as its now officially a part of kubeflow. Let me know your thoughts

@vikas-saxena02 We will add those components when Model Registry and Spark Operator will make the first release. cc @kubeflow/wg-data-leads

Please take a look again so we can merge it finally.
/assign @kubeflow/kubeflow-steering-committee @kubeflow/wg-training-leads @kubeflow/wg-pipeline-leads @kubeflow/wg-notebooks-leads @kubeflow/wg-deployment-leads @zijianjoy

@andreyvelich andreyvelich force-pushed the feature/issue3536_update_arch_diagram_new branch from 57c9379 to e0856b5 Compare April 19, 2024 16:06
@tenzen-y
Copy link
Member

Thank you!
/lgtm

@google-oss-prow google-oss-prow bot added the lgtm label Apr 19, 2024
@andreyvelich andreyvelich force-pushed the feature/issue3536_update_arch_diagram_new branch from e0856b5 to aab1a6d Compare April 19, 2024 17:34
@google-oss-prow google-oss-prow bot removed the lgtm label Apr 19, 2024
Signed-off-by: Vikas Saxena <vikas.saxena.2006@gmail.com>

Signed-off-by: Andrey Velichkevich <andrey.velichkevich@gmail.com>
@andreyvelich andreyvelich force-pushed the feature/issue3536_update_arch_diagram_new branch from aab1a6d to 4dcbc05 Compare April 19, 2024 17:39
@andreyvelich
Copy link
Member

I squashed all of the commits and add @vikas-saxena02 as co-author.
Please review it once again.

@james-jwu
Copy link

/lgtm

@google-oss-prow google-oss-prow bot added the lgtm label Apr 19, 2024
@andreyvelich
Copy link
Member

Thanks everyone for your help working on this!
Let's merge our first version.
/approve

Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: andreyvelich, vikas-saxena02

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot merged commit 32a95ba into kubeflow:master Apr 19, 2024
6 checks passed
@vikas-saxena02
Copy link
Contributor Author

I am just wondering if the team who manages the LinkedIn profile of Kubeflow Org can do a post on the updated architecture.

@james-jwu
Copy link

@vikas-saxena02 You can reach out to Amber.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants