Architecture
The Formance Platform embraces a cloud native architecture, enabling seamless deployments in various environments such as Formance Cloud, on-prem, or hybrid approaches.
Formance Cloud offers minimal effort deployments with sane defaults and rolled-in support. Alternatively, on-prem and hybrid options provide a great level of flexibility — which has proven to be beneficial for deployments existing within the infrastructure of regulated financial institutions and platforms.
Planes
The Formance Platform is composed of two main planes: the control plane, and the data plane. The control plane is responsible for managing the platform and provisioning its components, while the data plane is responsible for delivering the actual core functions of the platform.
One non-intuitive thing to note is: data in the control plane / data plane terminology, does not only refer to data storage — but to the data storage and compute of services providing core functionality of the platform.
Control plane
The control plane server is responsible for managing the platform and its components, while the control plane client is responsible for provisioning the data plane according to the desired state, and facilitate communication between the data plane and the control plane server.
Components
Component | Description | License | Source Available | Group |
---|---|---|---|---|
Console | Administration user interface | Proprietary | Not available | Server |
Server | Internal Formance Cloud API | Proprietary | Not available | Server |
Agent | Agent queuing request from the control plane server | Proprietary | Yes | Client |
Operator | Kubernetes operator provisioning the data plane components | MIT | Yes | Client |
Data plane
The data plane is composed of a number of components that work together to provide the core functionality of the platform. These components are either considered core services that deliver a specific piece of functionnality to the platform (identified below as group "product"), or support services that provide horizontal support to the platform (identified below as group "system").
Components
Name | License | Source available | Group | Repository |
---|---|---|---|---|
Ledger | MIT | Yes | Product | Github |
Payments | MIT | Yes | Product | Github |
Orchestration | EE | Yes | Product | Github |
Wallets | EE | Yes | Product | Github |
Search | EE | Yes | System | Github |
Auth | EE | Yes | System | Github |
Gateway | EE | Yes | System | Github |
Webhooks | EE | Yes | System | Github |
Stargate | EE | Yes | System | Github |