Purplecube offers a modular approach that offers architectural freedom. 

1. Vanilla installation (Default Agent and Embedded Metadata)

When Purplecube Controller is installed it includes Agent component also by default. This agent is called “default agent”. As part of the Controller installation, PostgreSQL database can be installed optionally which will be used by the Controller as the metadata repository. When PostgreSQL database is installed with along with the Controller installation then the Controller is said to use “embedded metadata”. Installing Controller with embedded metadata is recommended approach to avoid any network latency between Controller and metadata connectivity. This is the most basic form of installation.

2. Standalone Components Installation

In this form of deployment each component can be installed separately either on same machine or different machines. This helps when each application components needs to be managed separately and the resources on single machine are limited. Number of standalone agents are determined based on the locality and volume of the data.

3. Agent to Agent

Agent to Agent deployment is useful when the source or target data system is behind the firewall. This deployment setup helps by installing the Agent behind the firewall to extract and transfer the data to Agent outside the firewall by setting up dedicated ports for this transfer. Similarly the Agent behind the firewall can receive the data from the Agent outside the firewall and load into the target systems. This setup also allows secured data transfer by using encryption and speedy transmission using compression.

4. Agent Groups

Multiple Agents can be grouped into "Agent Group" to balance the workload and volume of data. When Agent Group is used for executing the tasks the tasks are submitted only to the active Agent withing the group. This allows to make Agent services always available while executing Purplecube jobs. The Agents that are grouped can be in same or different server.

5. Geographically Distributed Agents 

If there are multiple subsidiaries and offices spread out across the world then, the multiple Agents can be installed depending on the data proximity or source and target. This setup helps by setting up Agents near the geographically distributed source systems, which pulls and transfers the data securely to the Agent on the target system.