Skip to content

Latest commit

 

History

History
175 lines (90 loc) · 6.39 KB

File metadata and controls

175 lines (90 loc) · 6.39 KB

C4 Infrastructure Models

A C4 model is a common set of abstractions to create used to describe the static structure of a software system; these abstractions having four levels: software system, containers, components and code. People use the software system.

The following diagrams use the standard C4 notation, with the addition of a different colour to highlight a UI Component, as opposed to a back-end component, in our micro front-end (see ADR: 003 We-will-use-a-Micro-Frontend-architecture).

C4 Model Key

c4Key

Context Diagram (Level 1 - top level)

A System Context diagram provides a starting point, showing how the software system in scope fits into the world around it.^ This diagram shows how the main users of Sysops Squad interact with the system, and the other systems that the Sysops Squad system interacts with.

ContextDiagram


Container Diagram (Level 2)

A Container diagram zooms into the software system in scope, showing the high-level technical building blocks.^ The following diagram breaks down the Sysops Squad system into groups of related functionality, or domains, and shows how they interact with each other and how the users of the Sysops system interact with the functionality.

Overall Sysops System

Authentication has been left of out this diagram for readability. See Authentication container diagram below.

ContainerDiagram

Sysops System Authentication

Every service within the Sysops Squad system can use the Authentication domain where needed, but is not shown on the below diagram for readability. Having a single source of truth for authentication allows the Sysops Squad system to be built on the premise of Zero Trust. When a request is made to a service it will not be assumed that the request is from a genuine authenticated user, but checked against the authentication domain, e.g. by sending a token.

Relevant ADRs

AuthContainerDiagram


Component Diagrams (Level 3)

A Component diagram zooms into an individual container, showing the components inside it.^ The following diagrams break down the containers/functionality shown above further, into components which represent individually deployable services.

Relevant ADRs

Ticket Management

The following diagram shows the individually deployable services in the Ticket Management domain, and how they interact with each other, users and other domains.

Relevant ADRs

TicketComponentDiagram


User Management

The following diagram shows the individually deployable services in the User Management domain, and how they interact with each other, users and other domains.

Relevant ADRs

UserComponentDiagram


Notification Management

The following diagram shows the individually deployable services in the Notification Management domain, and how they interact with each other, users and other domains.

Relevant ADRs

NotificationComponentDiagram


Data Store

The following diagram shows the individually deployable services in the Notification Management domain, and how they interact with each other, users and other domains.

Relevant ADRs

DataStoreComponentDiagram


Report Management

The following diagram shows the individually deployable services in the Report Management domain, and how they interact with each other, users and other domains.

ReportComponentDiagram

Relevant ADRs


Knowledge Management

The following diagram shows the individually deployable services in the Knowledge Management domain, and how they interact with each other, users and other domains.

KnowledgeComponentDiagram


System Data

The following diagram shows the individually deployable services in the Knowledge Management domain, and how they interact with each other, users and other domains.

SystemDataComponentDiagram

Relevant ADRs


Billing Management

The following diagram shows the individually deployable services in the Billing Management domain, and how they interact with each other, users and other domains.

BillingComponentDiagram

Relevant ADRs


Contract Management

The following diagram shows the individually deployable services in the Contract Management domain, and how they interact with each other, users and other domains.

ContractComponentDiagram

Relevant ADRs


Feedback Management

FeedbackComponentDiagram

Relevant ADRs


^ explanations from https://c4model.com/


back to Views & Perspectives