> For the complete documentation index, see [llms.txt](https://docs.adiom.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adiom.io/enterprise/scalable-deployment.md).

# Scalable Deployment

## Overview

While a single dsync already packs a powerhouse in single-binary format, it's not perfectly suitable for all use cases. For example:

* Large and Very large database migrations (100GB to 100TB and beyond)
* Moving or replicating data within a fleet of database instances (data mobility)

For these and other use cases, we have developed a horizontally scalable deployment using [Temporal](https://temporal.io/) durable execution platform as an external Coordinator and individual dsync's as workers.

This Enterprise deployment offers scalability, flexibility, and additional observability on top of Open Source dsync.

## Topology

<figure><img src="/files/IbJ4vrDrWZF7vLgea67Y" alt=""><figcaption></figcaption></figure>

## Components

1. [Temporal](https://temporal.io/) durable workflow execution engine
   * Coordinates workflows and assigns tasks to workers
   * Handles resumability and retries on the task level, maintains state
2. [SigNoz](https://signoz.io/) observability tool
   * Logs and metrics collector (OpenTelemetry)
   * Advanced dashboards
3. [Dsynct](https://github.com/adiom-data/public/dsynct)
   * Worker processes: `dsynct worker`
   * Runner: `dsynct run`
     * Initiates a new workflow (or connects to existing one)
     * Serves real-time web progress dashboard over HTTP

## How it works

In this configuration, each worker is a standalone dsync process with its own connectors and [transformer](/basics/features.md#transformations) instances. A migration or replication job is structured as a Temporal workflow, including tasks for Read Planning, Initial Data Copy, and CDC. When a job is submitted to Temporal, individual tasks are allocated to dsync workers based on their suitability and availability, allowing for a high degree of parallelization.

Temporal stores the job metadata and makes task execution durable. Should a worker or a task fail, Temporal will automatically reallocate the task to the next available worker.

## Distribution

The Enterprise version of dsync is distributed under Commercial License that allows for a free trial period.

To download and run this configuration, you can use docker containers or Kubernetes charts: <https://github.com/adiom-data/public>.

We also have versions of Kubernetes charts available for Azure, Google, and AWS services.

On Azure you can use our AKS-native marketplace offering: [Azure Marketplace](/enterprise/running-dsynct/azure-marketplace.md).

Contact us at <info@adiom.io> if you're interested and want to know more.
