Skip to content

Infrastructure Diagrams

Powell, Louis (DACS) edited this page Jun 24, 2025 · 3 revisions

The C4 model

The C4 model (https://c4model.com/) has been used by the technical partners to describe the platform. It promotes simplicity by setting the context for the BIOFIN-EU platform and system infrastructure at a high level and provides ever-increasing detail into the underlying software components, down to the lowest level, code.

The following sub sections of this page introduce the current versions of the first three levels of the model, and level 4, the code can be found in the private BIOFIN-EU GitHub repository

C4 Level 1 - Context

The 1st level of the C4 model gives a high-level overview of the scope of the architecture, its users and external dependencies. Although perhaps a simple and obvious representation of the BIOFIN-EU, this level makes clear the primary users of the platform and their role concerning the high-level representation of requirements for the platform itself. This level is one of the first figures included in core technical documentation. It is set at a deliberately high level of abstraction to give a simple overview of the platform and its primary users and interactions with developers and stakeholders with little or no background knowledge of the BIOFIN-EU project.

C4 Level 1 Context

C4 Level 2 – Container

The framework's high-level architecture is depicted in Figure 2, providing an overview of conceptual layers (e.g., Databases and Interfaces) and their interactions. These layers are named "containers" in the C4 model, not to be confused with Docker containers. The diagram illustrates the various layers or "containers" that constitute the system infrastructure and API.

Interfaces represent the external points of interaction with the system. These interfaces facilitate data input, system configuration, and output visualisation. The diagram illustrates the connection between users, contributors, and the system through these interfaces. For example, the upload form interface allows contributors to upload Knowledge Objects and their metadata.

At the system's core, the API layer serves as a bridge between different components. It enables communication and data exchange via web addresses or "endpoints" within the BIOFIN-EU platform, each of which perform a different task, for example, store a Knowledge Object or access metadata.

The databases store the actual or "physical" data the platform receives or extracts from each source/input in a "physical" layer, and transformed or "logical" data, for example, for enrichment with references ontologies and vocabularies, is stored in a "logical layer".

Different database implementations (e.g., SQL and NoSQL) accommodate structured and unstructured data, allowing for efficient storage and retrieval.

C4 Level 2 Container

C4 Level 3 – Component

At Level 3, we move away from the more conceptual view of the platform and into each container's functional components. This section focuses on the primary back-end containers, namely Security and Administration, Services (including database interactions) and API.

Although not always an accurate distinction, these components can generally be considered a microservice or part of a microservice, communicating with other components via the API.

In this level of the C4 model, each component contains an overview of the features and tasks it performs to enable BIOFIN-EU to store data related to NBS / Nature Sites and ensure the website and interfaces keep up to date and online. The software involved is mentioned for each service, and the lines also indicate the dependencies, protocols and procedures for transferring data and information between each microservice.

C4 Level 3 – Component - Services

C4 Level 3 Services

Service Level Endpoints receive API requests from the main API Gateway and perform the necessary actions to return an output based on a set of given inputs.

Wiki Home

Technology and Infrastructure

Project Management

Key Supporting Documentation

Guides

Clone this wiki locally