Our Cloud-Native Architecture
With Transaction-Network we provide you with a modern platform based on various state-of-the-art technologies. Technologically up-to-date, we offer you the chance to be at the forefront of digitization.
Transaction-Network is based on a cloud-native architecture.
What does cloud native mean?
A cloud-native architecture is a technological approach for building and operating an application in the cloud. The application is designed for use in a ‘public’ or ‘private’ cloud and implemented accordingly. Thus, cloud-native applications can take the full advantage of what is known as cloud computing.
A cloud-native architecture usually includes the following components, among others:
- Managed Services
The components of our architecture
What are microservices?
Microservices are an architectural concept that breaks down an application into several small components. These components are as independent of each other as possible. This allows them to be developed and scaled individually.
What is a container?
A container is a unit that combines an application (e.g., a microservice) and all its dependencies so that the application can run easily and reliably in different environments. Thus, containers provide portability by isolating the application from the underlying infrastructure.
What are Managed Services?
Cloud-native applications often have dependencies on various additional resources such as data stores, object stores, and message brokers. These services are called ‘backing services’ and are usually offered by cloud providers as managed services.
Managed service means that the cloud provider (AWS, Azure, GCP, etc.) provides a service, e.g. a database, and ensures that this service is highly available.
For example, Transaction-Network uses the following managed services:
- AWS Relational Database Service for the provision of a highly available database cluster.
- AWS Simple Storage Service (S3) for providing highly available object storage.
- AWS Elastic Kubernetes Service for deploying a Kubernetes cluster.
- AWS ElastiCache Redis for provisioning a cache store.
What does automation mean?
Automation has always been proven for software systems. The cloud simplifies the automation of infrastructure and overlying components (for example, managed services or other applications). This has the advantage that all environments for development, testing, QA and production can be installed and set up automatically. This automation reduces errors, as no steps can be forgotten or overlooked.
Within our Continuous Integration / Continuous Delivery pipeline, new software releases are automatically installed in the environments and verified by automated tests. Furthermore, we perform static code analysis as well as automated tests already during development. Our automated tests include:
Unit tests, integration tests and API tests to verify the correct functionality of the application
Static security tests that automatically scan the code for passwords, secrets and other vulnerabilities
Vulnerability scans that are tests for detecting faulty infrastructure configuration or outdated software dependencies (a prominent example for the necessity of such tests is the Kritische Schwachstelle in der Java-Bibliothek Log4j).
API and Application Security Scans that search for ‘security holes’ in our application and respectively in our web service interfaces.
The frameworks within Transaction-Network
When selecting technologies and frameworks, we deliberately chose established and widely used frameworks that are utilized within software development by many different companies in the B2B as well as B2C environment.
Our single-page front-end web applications were implemented using the Angular framework.
Each of our frontend web applications has its own backend (a so-called ‘backend-for-frontend’). This offers several advantages compared to a pure single-page web application. Furthermore, the backend-for-frontend is used as an API gateway. The basis for this is provided by the NestJS framework.
The Spring Framework was used to implement our backend microservices and thus forms the basis of our microservice-based architecture.
DataX integration platform:
Our DataX integration platform is based on the Apache Camel framework. This is an open source integration framework.
Hosting and operation:
We use Kubernetes to run our microservices within the AWS infrastructure. Kubernetes is a mature open source system for managing and scaling container-based applications.