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

Update microservices architecture diagram #19739

Closed
mraible opened this issue Sep 14, 2022 · 23 comments
Closed

Update microservices architecture diagram #19739

mraible opened this issue Sep 14, 2022 · 23 comments
Labels
area: documentation:books: $$ bug-bounty $$ https://www.jhipster.tech/bug-bounties/ $300 https://www.jhipster.tech/bug-bounties/
Milestone

Comments

@mraible
Copy link
Contributor

mraible commented Sep 14, 2022

Overview of the issue

The current microservices architecture diagram needs to be updated.

https://www.jhipster.tech/microservices-architecture/

I think it'd also be good to include an architecture diagram of micro frontends.

Motivation for or Use Case

People should be able to use our diagrams in their blog posts and presentations. We don't want them to show information that's 5+ years old. Especially since the current diagram uses AngularJS and JHipster Console, both of which are no longer supported.

Suggest a Fix

I created a couple of ideas in OmniGraffle, but I think it might be better to use the same mechanism that was used before. You can find the artifacts I created and a link to how the current one was created on our jhipster-dev mailing list.

JHipster Version(s)

7.9.3

@mraible mraible added $$ bug-bounty $$ https://www.jhipster.tech/bug-bounties/ $300 https://www.jhipster.tech/bug-bounties/ labels Sep 14, 2022
@A-5ingh
Copy link

A-5ingh commented Oct 18, 2022

@mraible Can I work on this? I have contributed to jhipster-dotnetcore in the past but would require support in completing this task.

@mraible
Copy link
Contributor Author

mraible commented Oct 18, 2022

Yes! Please let me know if I can help.

@A-5ingh
Copy link

A-5ingh commented Oct 18, 2022

Thanks, @mraible. I'll go through the docs already available and if you can share the components to be added. I can work on it. Do we need to stick to the same design/look or it can also be changed?

@mraible
Copy link
Contributor Author

mraible commented Oct 18, 2022

This details how the diagram was originally created:

#2785 (comment)

I'm not sure we need to use the same system. For example, I created one with OmniGraffle, but it's difficult to tell what changed since it's not text-based.

https://speakerdeck.com/mraible/micro-frontends-for-java-developers-javaone-2022?slide=29

@A-5ingh
Copy link

A-5ingh commented Oct 19, 2022

I think using asciiflow will be beneficial as it will be easy to see what gets changed. I have converted OmniGraffle version into ASCII. Please review if this helps.

JHipster Microservices Architecture

                                                                                        /------------------------------------------------------------------\
                                                                                        |cBLU                                                              |
                                                                                        | Gateway                                                          |           /---------------\
                                                                                        |   +-------------+      +--------------+      +-------------+     |           |cC02           |
/-------------------------------------------------------------------\                   |   |cRED         |      |              |      |             |     |           |               |
|                                                                   |                   |   |   Angular   |      | Spring Cloud |      |   Access    +-----|---------->|   KeyCloak    |
|                                                                   |                   |   |     App     |      |    Gateway   |      |   Control   |     |           |               |
|                                     /-----------------------\     |                   |   |             |      |              |      |             |     |           |               |
|                                     |cBLU                   |     |                   |   +-------------+      +--------------+      +-------------+     |           \---------------/
|                                     | JHipster Registry     |     |                   |                                                                  |
|                                     |                       |     |                   |                                                                  |           +-------+
|                                     |                       |     |                   \---+-----------------------------+--------------------------------/           |{s}    |
|                                     |   +---------------+   |     |                       |                             |                                            | Users |
|                                     |   | Eureka Server |   |     |                       |                             |                                            | Roles |
|     +---------------+               |   +---------------+   |     |                       |                             |                                            +-------+
|     |               |               |   | Config Server |   |     |                       |                             |
|     | HashiCorp     |               |   +---------------+   |     |                       |                             |
|     | Consul        |               |                       |     |                       |                       8081  v                  8082
|     |               |               |                       |     |                       |       /------------------\     /------------------\
|     +--------+------+               \----------+------------/     |                       |       |cGRE              |     |cGRE              |
|              |                                 |                  |                       |       |  Microservice 1  |     |  Microservice 2  |
|              |                                 |                  |                       |       |                  |     |                  |
|              +--------------+------------------+                  |                       |       \-----+------------/     +------------------/
|                             |                                     |                       |             |
|                             |                                     |<----------------------+-------------+
|                             |                                     |                                     |         8083                      ...
|                             |                                     | 8500 Consul                   /-----+------------\     /------------------\
|                             |                                     | 8761 Eureka                   |cGRE              |     |cGRE              |
\-------------------------------------------------------------------/                               |  Microservice 3  |     |  microservice n  |
                              |                                                                     |                  |     |                  |
                              V                                                                     \------------------/     \------------------/
                         +---------+
                         |cGRE {s} |
                         |Git Repo |
                         |         |
                         +---------+

and generated png using dtaa
jhip-micro

JHipster Micro Frontends Architecture

                                                                                        /------------------------------------------------------------------\
                                                                                        |cBLU                                                              |
                                                                                        | Gateway                                                          |           /---------------\
                                                                                        |   +-------------+      +--------------+      +-------------+     |           |cC02           |
/-------------------------------------------------------------------\                   |   |c1FF         |      |              |      |             |     |           |               |
|                                                                   |                   |   |    React    |      | Spring Cloud |      |   Access    +-----|---------->|   KeyCloak    |
|                                                                   |                   |   |    Shell    |      |    Gateway   |      |   Control   |     |           |               |
|                                     /-----------------------\     |                   |   |             |      |              |      |             |     |           |               |
|                                     |cBLU                   |     |                   |   +-------------+      +--------------+      +-------------+     |           \---------------/
|                                     | JHipster Registry     |     |                   |       ^ ^  ^  ^                 |                                |
|                                     |                       |     |                   |       | |  |  |                 |                                |           +-------+
|                                     |                       |     |                   \---+---|----------------------------------------------------------/           |{s}    |
|                                     |   +---------------+   |     |                       |   | |  |  |                 |                                            | Users |
|                                     |   | Eureka Server |   |     |                       |   | |  |  +-----------------|-+ /-------\                                | Roles |
|     +---------------+               |   +---------------+   |     |                       |   | |  +-------------------+| | |       |                                +-------+
|     |               |               |   | Config Server |   |     |                       |  /+---------\              || | | React |
|     |   HashiCorp   |               |   +---------------+   |     |                       |  |c1FF      |              || +-+  App  |
|     |    Consul     |               |                       |     |                       |  |React App |              ||   | c1FF  |
|     |               |               |                       |     |                       |  \----------/         8081 |V   \-------/      8082
|     +--------+------+               \----------+------------/     |                       |     | /------------------\ |   /------------------\
|              |                                 |                  |                       |     | |cGRE              | |   |cGRE              |
|              |                                 |                  |                       |     | |  Microservice 1  | |   |  Microservice 2  |
|              +--------------+------------------+                  |                       |     | |                  | |   |                  |
|                             |                                     |                       |     | \-----+------------/ |   +------------------/
|                             |                                     |                       |     |       |              |
|                             |                                     |<----------------------+-------------+              |
|                             |                                     | 8500 Consul                 |       |         8083 |                    ...
|                             |                                     | 8761 Eureka                 | /-----+------------\ |   /------------------\
\-------------------------------------------------------------------/                             | |cGRE              | |   |cGRE              |
                              |                                                                   | |  Microservice 3  | |   |  microservice n  |
                              V                                                                   | |                  | |   |                  |
                         +---------+                                                              | \------------------/ |   \------------------/
                         |cGRE {s} |                                                           /--+----\                 |  /-------\
                         |Git Repo |                                                           |       |                 |  |       |
                         |         |                                                           | React |                 |  | React |
                         +---------+                                                           |  App  |                 +--+  App  |
                                                                                               | c1FF  |                    | c1FF  |
                                                                                               \-------/                    \-------/

jhip-microfrontend

@A-5ingh
Copy link

A-5ingh commented Oct 21, 2022

@mraible any feedback on these two diagrams? I know they look too basic and definitely would add a jazz if we use images/icons of respective technologies.

@dpalic
Copy link

dpalic commented Nov 4, 2022

This created image can be provided as image, SVG or as text.
Original is a text based source file (as DSL)

Here in sketch status, during developing/creating:

image

and here in finalized status for release:

image

@mraible if you are interested ( ;-) and I have a good chance for bug bounty) will provide you more details and of course create more diagrams like required

@mraible
Copy link
Contributor Author

mraible commented Nov 4, 2022

@A-5ingh These look great! Is there anyway to make the text white when the background is red? On the Keycloak box, for instance.

@mraible
Copy link
Contributor Author

mraible commented Nov 4, 2022

@dpalic This looks awesome! I was going to mention that the wavy lines look funny in the first graphic, but you fixed that in the 2nd one. Is it possible to add more colors, like red or green? Also, we shouldn't use the coffee cup because Oracle will send us a message telling us not too. It's better to use Duke to indicate Java.

@A-5ingh
Copy link

A-5ingh commented Nov 4, 2022

@A-5ingh These look great! Is there anyway to make the text white when the background is red? On the Keycloak box, for instance.

Thanks @mraible, I couldn't see any option in ditaa to change the font color but it has different color codes available if you feel like using some other color instead of red.
image

It would look like this with Blue background.
image

@A-5ingh
Copy link

A-5ingh commented Nov 4, 2022

or @mraible we can use a darker shade of red which automatically uses the font color as white.
jhip-microfrontend_6

@A-5ingh
Copy link

A-5ingh commented Nov 4, 2022

So @mraible, we can add logs too but it will be a manual process. Do you want me to do it or do we want to keep it like that so that anyone can generate the png just by using ditaa on the ASCII diagram?

@mraible
Copy link
Contributor Author

mraible commented Nov 4, 2022 via email

@A-5ingh
Copy link

A-5ingh commented Nov 4, 2022

For instance, adding the git logo to the git repo, react logo to react app, etc. It was a typo, I mean to say logos. @mraible

@mraible
Copy link
Contributor Author

mraible commented Nov 4, 2022

Thanks for the clarification. Logos would be cool, but if they can't be generated from source, it's probably not worth it. We need to have something that's easy to update.

@A-5ingh
Copy link

A-5ingh commented Nov 5, 2022

Right, that's why I didn't do much research. But I see we can give a background image using ditaa. I'll see what I can do. Please do let me know if there is any other feedback or improvement you feel we can do to it

@dpalic
Copy link

dpalic commented Nov 5, 2022

@dpalic This looks awesome! I was going to mention that the wavy lines look funny in the first graphic, but you fixed that in the 2nd one. Is it possible to add more colors, like red or green? Also, we shouldn't use the coffee cup because Oracle will send us a message telling us not too. It's better to use Duke to indicate Java.

regarding the both image types. It is intentionally. The first image is a sketch / work in progress view to visualize the diagram is not in finished status

regarding logo, sure can replace

regarding the colors, do you have a CI color set/book which we could use?.

@mraible
Copy link
Contributor Author

mraible commented Nov 7, 2022

@dpalic There are some colors for the website redesign in #13595. Not sure if that's what you're looking for.

@dpalic
Copy link

dpalic commented Nov 8, 2022

@mraible you mean https://rebrand.ly/jhipster ?
the colors of the new website?

If so, I can try to use them

@mraible
Copy link
Contributor Author

mraible commented Nov 8, 2022

Yes. This might help too. jhipster/jhipster-artwork#21

@deepu105
Copy link
Member

@dpalic do you plan to complete this?

@A-5ingh
Copy link

A-5ingh commented Oct 16, 2023

@deepu105 / @mraible Please let me know if you are going to consider asciiflow and dtaa for it as showed in previous comments. Just in case @dpalic solution isn't complete.

@mraible
Copy link
Contributor Author

mraible commented Sep 13, 2024

@mraible mraible closed this as completed Sep 13, 2024
@mraible mraible added this to the 8.7.1 milestone Sep 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: documentation:books: $$ bug-bounty $$ https://www.jhipster.tech/bug-bounties/ $300 https://www.jhipster.tech/bug-bounties/
Projects
None yet
Development

No branches or pull requests

4 participants