High Level Architecture
Last updated
Last updated
xFlow integrates seamlessly into existing serverless environments, utilizing a modular architecture that allows users to deploy on multiple cloud platforms. The architecture supports high availability and fault tolerance to meet the demands of enterprise operations.
The high-level architecture of the xFlow system provides an abstract view of the various components and their interactions. This documentation will describe how these elements work together to facilitate a responsive, reliable, and scalable workflow automation platform.
Portal UI:
A user interface portal that provides access to the xFlow system. It serves as the primary interaction point for end-users to manage and operate workflows.
xPlatform and xFlow:
Central applications deployed within Kubernetes, facilitating the management and execution of workflows.
xPlatform: Handles the overall platform operations and can integrate with other systems or services.
xFlow: Specifically manages the workflow logic and state transitions.
Persistence Layer:
Consists of multiple data storage solutions to handle various types of data.
Redis: An in-memory data store used for caching and transient data handling.
MongoDB: A NoSQL database that stores unstructured data, providing flexibility for dynamic schema.
PostgresDB: A relational database system used for structured data and transaction management.
Integration Layer:
A set of services that enable the xFlow system to integrate with external systems and services.
Temporal Cluster: Manages background jobs and scheduling, critical for tasks that require delayed execution.
Kafka: A distributed event streaming platform used for messaging and stream processing.
TriggerMesh: A cloud-native integration platform that connects applications, cloud services, and data across multiple clouds.
Inbound Request (solid blue line): Represents requests coming into the system from the Portal UI, targeting the application services for processing.
Persistent Connection (dashed blue line): Indicates connections to the persistence layer, involving data storage and retrieval operations.
Integration Connection (dotted red line): Depicts the communication with the integration layer, which handles external service invocations and event handling.
The architecture is designed to scale horizontally, with stateless services able to handle increased loads by adding more instances as needed. The persistence and integration layers are built to provide high availability and data consistency, ensuring the system's reliability.
Security is enforced at every layer with industry-standard protocols and practices, such as TLS for encrypted communication and OAuth 2.0 for authentication. The system maintains compliance with data protection regulations through strict data handling and access control mechanisms.
xFlow is cloud-agnostic and can be deployed on any major cloud provider or on-premises, providing flexibility in infrastructure choice. The containerized nature of the services allows for deployment using Kubernetes, which manages the orchestration, scaling, and management of containerized applications.
This high-level architecture overview outlines the xFlow system's key components and their interactions. It provides a clear depiction of the system’s design principles, intended to serve a broad range of workflow automation needs in various deployment environments.