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 for 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.