Multi-data-center strategy


We are reviewing Octopus as a potential solution to automate our deployment between multiple data centers in different countries. The most interesting concept to us will be to test out the Process of a Project in testing environments before we take it to live environments. Assuming there will naturally be network segregation between the data centers, what would be a recommended architecture? We could think of a few different ways but would appreciate your help to better understand their pro and cons:

  1. Create 1 RavenDB in each location and match an Octopus Deployment server on it. But our understanding is that there is no way for us to export/import Process of Projects without wiping the variables that will be managed locally in this case.

  2. Use a single RavenDB, manage all environment variables from all data centers in it. Stand up 1 Octopus Deployment server in each data center that all share this remote RavenDB. We have yet to find documentation suggesting that this is an Octopus supported architecture.

  3. Use a single RavenDB and a singleton Oct Deployment server. But we are worried about the network/internet across continents becoming a dependency during deployment window.

My apology if this is already documented somewhere. Your advice is truly appreciated.

Hi Jay,

Thanks for getting in touch! Sorry about the delay in response.
The options you have below are all not possible with Octopus. It is designed to have a single Octopus Server that can deploy to many locations. Currently Octopus Server and database are a one to one relationship. Coming as part of 3.1 will be a concept of high availability with more than 1 database to an Octopus Server, but it doesn’t sound like this will suit your needs.

Could you explain more about what you need to achieve and why then we should be able help further. If you could talk about what kind of projects you have, and where they need to be released to, this will give us a start. Providing as much information here as you can will really help us. Feel free to mark this thread private.


Thank you Vanessa. Based on the pattern, we have decided to recommend to our internal team a pattern in which each data center is to maintain an independent instance of Octopus Service and database. We will them synchronize them with a manual process.

Much appreciated.