Multi-tenant deployments with Octopus Deploy

Multi-tenant application deployments

Octopus helps you to fully automate the deployment of applications for each of your end customers, without losing your hair.

Try it free Learn more

Deploy your app once to each customer

Do you deploy a unique instance of your application for each of your end customers? Perhaps each customer gets their own database, or their own IIS website, or they run the same application with slightly different settings.

Octopus is the only automated deployment/release management tool that includes multi-tenancy as a first class concept. You can create and manage thousands of tenants within Octopus, assign them to projects, deploy new releases to tenants in bulk, and handle tenant-specific code and configuration settings.

Deploy different versions of your application to each tenant

Octopus and other deployment automation tools usually think two-dimensionally - we have project releases, and they are deployed to environments. Tenants in Octopus adds a third dimension, letting you deploy different releases of your application, to different environments, on behalf of different tenants.

Different versions of your release can be deployed to different tenants

Give each tenant their own test or production environments

Each tenant can have their own production environment, or even their own test environments. You can set up rules to ensure a release was deployed to the tenant's test environment before it goes to their production. Automatically send emails to your tenant when you've deployed something to test for them to test it before it gets promoted.

Define unique environments for each tenant

Manage tenant-specific configuration

Define settings that are tenant-specific in your project - such as where the tenants custom CSS stylesheet lives, or what logo image they want to use, or what connection string your application should use. As you create each tenant, Octopus will prompt you to set those settings, and warn you if you missed any.

Define custom configurations such as CSS stylesheets or logos to use

Custom steps and code for each tenant

Deployment steps and code can be scoped to individual tenants or groups of tenants. For example, customers who have paid for your "CRM" module can be given a tag, and then a deployment step that installs the CRM module can run only on tenants with that tag. If you tend to fork your code for each tenant, you can have Octopus fetch different packages of your app depending on the tenant.

Scope individual deployment steps to specific tenants

Scalability

Real-world Octopus installations manage thousands of tenants today.

Deploy in bulk

Use tags to deploy releases to many tenants at once. E.g., "Early Adopters" get the latest release.

Shared or dedicated hosting

Tenant apps can be deployed to dedicated hosts or shared hosts, as you desire.

Creating happy deployments at more than 25,000 companies, including:

Shout out to @OctopusDeploy for making their software so easy to work with. Just upgraded a 2 year out of date instance and migrated it to a new server and it worked with no effort beyond what their documentation said to do.

Twitter user Alex Dent Alex Dent
@DevOpsDent

We've been overhauling our internal infrastructure and back-end systems over the past month, including a move back to full @OctopusDeploy deployments; rediscovering how nice it is to have a platform-agnostic orchestrator that can deploy practically anything, anywhere ❤

Twitter user Nicholas Blumhardt Nicholas Blumhardt
@nblumhardt

Tools like @OctopusDeploy can be great in enabling culture change, we've been able to scale and improve our configuration story since we started using it https://buff.ly/2JyRmTY

Twitter user Niel Chalk Niel Chalk
@_neilch

Give your team a single place to release, deploy and operate your software.

Octopus Server

Octopus on your infrastructure.
Free for small teams, no time limits.

Download

Octopus Cloud

Octopus hosted by us.
Free 30-day trial.

Get started

Welcome! We use cookies and data about how you use our website allow us to improve the website and your experience, and resolve technical errors. Our website uses cookies and shares some of your data with third party analytics companies for these purposes.

If you decline, we will respect your privacy. A single cookie will be used in your browser to remember your preference.