Skip to content

Infrastruktur

Paul Kretschel edited this page Sep 29, 2021 · 1 revision

In diesem Dokument erläutern wir die Infrastruktur aller Komponenten des Projekts Klimabox. Dabei soll nicht nur die Single Page Application, dessen Code sich in dieser Repository befindet, sondern auch alle anderen für die Anwendung notwendigen Dienste betrachtet werden.

Bei der Gestaltung des Systems haben wir uns für eine Microservice-ähnliche Struktur entschieden. Dabei dient die Single Page Application in dieser Repository als zentrale Schnittstelle zwischen Klimabox und Benutzer. Alle anderen Dienste sollen modular an diese Anwendung andocken. Diese Architektur bietet einige Vorteile für der Entwicklung:

  • Projektmanagement:
    Es lassen sich leicht Entwicklungsteams bilden, die jeweils für die Entwicklung einer der Microservices zuständig sind. Dadurch kann jedes Entwicklungsteam isoliert an seinen Aufgaben arbeiten, ohne anderen Entwicklern in die Quere zu kommen.
  • Plattformunabhängigkeit:
    Es spielt keine Rolle, in welcher Programmiersprache ein Dienst implementiert ist, da alle Dienste untereinander mit gut dokumentierten Protokollen (REST, GraphQL) kommunizieren. Das ermöglicht es Entwicklern mit unterschiedlichsten Schwerpunkten zusammen zu arbeiten.
  • Modularität:
    Die Microservices der Anwendung lassen sich jederzeit leicht austauschen, entfernen oder hinzufügen. Im Gegensatz zu anderen Architekturen (z.B. Monolythen), bei denen Änderungen an der Codebase oft zu unvorhersehbaren Problemen führen, lassen sich bei unserer Architektur leicht Integrationstests definieren, sodass eine sichere und übersichtliche Weiterentwicklung und Wartung gewährleistet ist.

Diagram der Anwendungsarchitektur