# Deploy

## Deployment Models

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLS29eJSXXWWgj7w9JfiEYDRCkArttTJhSA4wEA7N_A8iqINlfkwVZ2DpJuCf5QAYSPZj0vApGiqzTgHwCijR9N9zpoDozSYxLA-3fOE1RdieqmgrVj4ZgROUAMEth0rcNVj0JKO1fyQX4H8hyApxYuaKj?key=NXvGYsx3SvupoNtVZEc8VA" alt=""><figcaption><p>Example dataflow between Cosmos DB and MongoDB</p></figcaption></figure>

### Single binary

Dsync will run wherever there's CPU and RAM. This can be a laptop, VM or a docker container.

You can install dsync with any of the following methods:

* Run as a docker container: `docker run markadiom/dsync`
* Build from the [source](https://github.com/adiom-data/dsync)&#x20;
* Download the latest release in [GitHub](https://github.com/adiom-data/dsync/releases).&#x20;

Azure users can also leverage marketplace offerings for [Cosmos DB vCore](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/adiom.adiom_dsync_vm?tab=Overview) and [Cosmos DB NoSQL migrations](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/adiom.adiom_dsync_vm_dynamo?tab=Overview).

{% hint style="info" %}
You can use Homebrew to easily install Dsync on your Mac:

```
brew install adiom-data/homebrew-tap/dsync
```

{% endhint %}

### Multi-worker

For large migrations where vertical scaling of dsync VM isn't feasible, and for data platforms requiring on-demand data mobility and continuous data replication, we support a horizontally scalable deployment of dsync with external Coordinator. Read more about it here: [scalable-deployment](https://docs.adiom.io/enterprise/scalable-deployment "mention")

## Infrastructure Requirements

Dsync doesn't store any in-transit data on-disk (only logs). As such CPU, RAM and network bandwidth are the core requirements.&#x20;

For small scale testing and development, 1 or 2 CPU with 2GB RAM is more than sufficient. For larger use cases, we recommend dedicating 4 CPU and 16 GB RAM, or 8 CPU and 32 GB RAM for a dsync instance, whether running as a single binary or in a multi-worker configuration.

However dsync is deployed, it must have direct network access to both the source and the destination.
