Skip to main content

CloudTDMS Architecture

CloudTDMS architecture consists of many segregated platforms aligned with the pricing model. In instance, we can differentiate 3 different type of platforms :

  • Starter platform : Shared platform for all free tier users.
  • Team platform : Shared platform for all team users (start-ups).
  • Business platform : Dedicated platform for each client.

Each CloudTDMS platform consists of several component:

  • Load balancer & reverse proxy.
  • Front-end.
  • Database.
  • Workflow engine and its workers.

The following image shows the high level architecture overview of CloudTDMS:

image info

The following table describes the architecture components:

ComponentDescription
Load balancer & Reverse proxyPart of security components, installed after the network firewalls. It is providing high availability load balancer and reverse proxy for TCP and HTTP-based applications that spreads requests across multiple servers.
Front-endA web-based client that you can use to perform all activities such as creating Applications, Streams and Attributes as well as making data discovery & profiling , and also generating data workflows responsible for creating your synthetic data.
DatabaseA relational database that stores the components that you define via CloudTDMS front-end server, such as Applications, Streams, Attributes and workflows. The database stores data providers and libraries as well as logs and notifications etc.
Workflow engine & workersWorkflow management platform for data engineering pipelines. CloudTDMS is using Apache Airflow. Airflow is written in Python, and workflows are created as Python scripts. Airflow uses directed acyclic graphs (DAGs) to manage workflow orchestration. Tasks and dependencies are defined in Python and then Airflow manages the scheduling and execution. DAGs can be run either on a defined schedule (e.g. hourly or daily) or based on external event triggers.