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

MPP-3864: Add more container-level (C2) diagrams #5000

Merged
merged 18 commits into from
Sep 5, 2024
Merged

Conversation

jwhitlock
Copy link
Member

This adds a "top-level" container (c2) diagram, which makes a smoother transition from the system context (c1) diagram, by collecting containers into "container collections". There are further diagrams that "zoom in" to these container collections:

  • User Interfaces - The four front-ends for Relay, plus the phone and email services
  • Periodic Tasks - The Django management commands scheduled as cronjobs
  • Email Processing - The AWS services used to implement email processing
  • Other Managed Services - The GCP services other than the database used to implement Relay

The "All details" diagram remains. For this and the deployment diagrams, I've adjusts some of the relationship lines so they do not overlap as much, but instead remain distinct traces.

The easiest way to review is to view the docs/system_diagrams.md document with the inline SVG images.

Hand-tune the relationship lines from tasks to backend services on the
Container (C2) diagram. Make the vertical segments vertical, parallel to
each other, and tighten the entry and exit angles.

After this was done, solid relationship lines were more pleasing than
dashed lines, so I switched to a dark grey line.
Move the elements so the C2 high-level diagram has more of a landscape
orientation, like a slide. Move Stripe and GA a little more to the left,
to mirror the C1 diagram.
Copy link
Member

@groovecoder groovecoder left a comment

Choose a reason for hiding this comment

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

Whew that is some great documentation and diagrams! Just a single question/suggestion and a praise!

Comment on lines 32 to 37
- **User Interfaces** (_Collection_) - The various ways Relay users manage masks
- **Email Services** (_Collection_) - The AWS systems that provide email sending and
receiving.
- **Other Managed Services** (_Collection_) - Other GCP services used to provide the
Relay application and talk to Mozilla backend systems
- **Periodic Tasks** (_Collection_) - Other backend Django applications that help provide the service
Copy link
Member

Choose a reason for hiding this comment

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

question & suggestion (non-blocking): Is there a way to link these list items to their respective sections/headings? And then to add a corresponding "Back to Containers Diagram" link below each of those diagrams back up to this one?

-> db
-> logs
-> metrics
-> sentry
Copy link
Member

Choose a reason for hiding this comment

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

praise: thanks for connecting these containers to the entities, but keeping the diagram simpler by omitting the "Sends exceptions" and "HTTPS API" labels from every relationship line.

@jwhitlock jwhitlock enabled auto-merge September 5, 2024 15:57
@jwhitlock jwhitlock added this pull request to the merge queue Sep 5, 2024
Merged via the queue into main with commit 48edc36 Sep 5, 2024
29 checks passed
@jwhitlock jwhitlock deleted the more-c4-mpp-3864 branch September 5, 2024 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants