Unsere Cloud-Native Architektur
modern, sicher, stabil

Mit Transaction-Network stellen wir Ihnen eine moderne Plattform zur Verfügung, welche auf verschiedenen state-of-the-Art Technologien basiert. Technologisch auf dem neusten Stand bieten wir Ihnen die Chance bei der Digitalisierung ganz vorne mit dabei zu sein.

Transaction-Network basiert auf einer Cloud-Native Architektur.

Was bedeutet Cloud-Native?

Bei einer Cloud-Native Architektur handelt es sich um einen technologischen Ansatz für den Aufbau und Betrieb einer Anwendung in der Cloud. Die Anwendung wird von Grund auf für den Einsatz in einer “public” oder “private” Cloud entworfen und entsprechend umgesetzt. Somit können Cloud-Native Anwendungen die Vorteile des sogenannten Cloud-Computing voll ausschöpfen.

Eine Cloud-Native Architektur sieht unter anderem folgende Komponenten vor:

  • Microservices
  • Container
  • Managed Services
  • Automatisierung

Die Komponenten unserer Architektur

Was sind Microservices?

Bei Microservices handelt es sich um ein Architekturkonzept bei dem eine Anwendung in mehrere kleine Komponenten zerlegt wird. Diese Komponenten sind so unabhängig von einander wie möglich. Dadurch können diese individuell entwickelt und skaliert werden.

Was ist ein Container?

Ein Container ist eine Einheit die eine Anwendung (z.B. ein Microservice) und alle Abhängigkeiten zusammenfasst, damit die Anwendung einfach und zuverlässig in unterschiedlichen Umgebungen ausgeführt werden kann. Somit bieten Container Portabilität, da sie die Anwendung von der zugrundeliegenden Infrastruktur isolieren.

Was sind Managed Services?

Cloud-Native Anwendungen haben oft Abhängigkeiten zu verschiedenen zusätzlichen Ressourcen wie Datenspeicher, Objekt Speicher und Message Broker. Diese Dienste werden als “Backing Services” bezeichnet und werden in der Regel von Cloud Anbietern als Managed Services angeboten.
Managed Service bedeutet, dass der Cloud Anbieter (AWS, Azure, GCP, etc.) einen Dienst z.B. eine Datenbank bereitstellt und sicherstellt, dass dieser Dienst hochverfügbar ist.
Bei Transaction-Network werden beispielsweise folgende Managed Services verwendet:

  • AWS Relational Database Service für die Bereitstellung eines hochverfügbaren Datenbank-Cluster
  • AWS Simple Storage Service (S3) für die Bereitstellung eines hochverfügbaren Objektspeichers
  • AWS Elastic Kubernetes Service für die Bereitstellung eines Kubernetes Cluster
  • AWS ElastiCache Redis für die Bereitstellung eines Cache-Speicher

Was bedeutet Automatisierung?

Automatisierung war schon immer bewährt für Software Systeme. Die Cloud macht es einfach Infrastruktur und darüberliegende Komponenten (beispielsweise Managed Services oder andere Applikationen) zu automatisieren. Dies hat den Vorteil, dass alle Umgebungen für Development, Testing, QA und Produktion automatisiert installiert und eingerichtet werden können. Durch diese Automatisierung werden Fehler reduziert, da keine Schritte vergessen oder übersehen werden können.

Innerhalb unserer Continuous Integration / Continuous Delivery Pipeline werden neue Software Releases automatisiert in den Umgebungen installiert und durch automatisierte Tests verifiziert. Des Weiteren führen wir schon während der Entwicklung statische Code Analysen sowie automatisierte Tests durch. Zu den automatisierten Tests gehören unter anderem:

  • Unit Tests, Integration Tests und API Tests um die korrekte Funktionalität der Anwendung zu verifizieren

  • Statische Security Tests für die automatisierte Suche nach Passwörtern, Secrets und anderen Schwachstellen im Code

  • Vulnerability Scans für die automatisierte Prüfung auf fehlerhafte Infrastruktur Konfiguration oder veraltete Software Abhängigkeiten (Prominentes Beispiel für die Notwendigkeit solcher Tests ist die Kritische Schwachstelle in der Java-Bibliothek Log4j).

  • API und Application Security Scans für die automatisierte Suche nach “Sicherheitslöchern” in unserer Anwendung bzw. unseren Webservice Schnittstellen

Die Frameworks innerhalb von Transaction-Network

Bei der Auswahl der Technologien und Frameworks haben wir uns bewusst für etablierte und weit verbreitete Frameworks entschieden, welche innerhalb der Softwareentwicklung von vielen verschiedenen Unternehmen im B2B als auch B2C Umfeld verwendet werden.

Frontend:
Unsere Single-Page Frontend Webapplikationen wurden mit Hilfe des Angular Framework umgesetzt.

Backend-for-Frontend:
Jede unserer Frontend Webapplikationen besitzt ein eigenes Backend (ein sog. “Backend-for-Frontend”). Dies bietet verschiedene Vorteile um Schwächen einer reinen Single-Page Webapplikation auszugleichen. Des Weiteren wird das Backend-for-Frontend als API Gateway verwendet. Die Grundlage hierzu bietet das NestJS Framework.

Backend (Microservices):
Das Spring Framework wurde für die Umsetzung unserer Backend Microservices verwendet und bildet somit die Grundlage unserer Microservice basierten Architektur.

DataX Integrationsplattform:
Unsere DataX Integrationsplattform basiert auf dem Apache Camel Framework. Hierbei handelt es sich um ein Open-Source Integrationsframework.

Hosting und Betrieb:
Für den Betrieb unserer Microservices innerhalb der AWS Infrastruktur setzen wir Kubernetes ein. Bei Kubernetes handelt es sich um ein ausgereiftes Open-Source-System zur Verwaltung und Skalierung von Container basierten Anwendungen.

Menü