Private Spaces Limited-Release Regions - Mumbai and Montreal
Last updated May 03, 2023
This article is a work in progress, or documents a feature that is not yet released to all users. This article is unlisted. Only those with the link can access it.
Table of Contents
You can now deploy Heroku applications through a limited release in two new additional geographic Private Spaces regions: Mumbai, India and Montreal, Canada.
Specifying an app’s region doesn’t guarantee the restriction of data residency for Heroku products, services, and add-ons to that region. See Data residency for more info.
What is a Limited Release?
A limited release is a controlled introduction of a new product to ensure a smooth and consistent customer experience.
To ensure a smoother rollout, Heroku is introducing the first two new regions of our planned regional expansion gradually to specific customer cohorts. Private Spaces in these new regions have no differences in product features compared to the ones currently supported. This limited access helps to ensure we can match demand with available resources and that the experience is at par with existing regions.
Accessing the Limited Release
To provision a Private Space in either Mumbai or Montreal, you must be a current Heroku Private Spaces customer and be accepted into the limited release program. You can begin the process by filing a support ticket to request access to the limited release. Heroku Support will then provide you with an onboarding form to complete. We will notify you of your acceptance after reviewing your completed form.
Creating a Private Space in a New Region
After Heroku has contacted you about your acceptance into the limited release, you can create a Private Space in a new region. There are no additional steps, and the command to create a space with the specified region is the same as the normal Private Spaces product:
heroku spaces:create example-space-name --team example-team-name --region mumbai Creating space example-space-name in team example-team-name... done === example-space-name Team: example-team-name Region: mumbai State: allocating
Note that in the limited-release state, you can’t explicitly see the new regions listed when you run the
heroku regions --private command
$ heroku regions --private ID Location Runtime ───────── ─────────────────────── ────────────── dublin Dublin, Ireland Private Spaces frankfurt Frankfurt, Germany Private Spaces oregon Oregon, United States Private Spaces sydney Sydney, Australia Private Spaces tokyo Tokyo, Japan Private Spaces virginia Virginia, United States Private Spaces
However, you can verify that your account has access to the new regions with the
heroku labs command. The
limited-regions flag is enabled under the User Features associated with the Heroku account if you have access:
heroku labs === User Features email@example.com [+] limited-regions Allow access to limited regions [limited]
If you create an app in a Private Space, its region is always the same as the Private Space’s region. See Private Spaces for more information.
Verifying an App’s Region
To verify an app’s region, check the
Region value returned by the
heroku info command:
heroku info -a example-app-name === example-app-name Dynos: web: 9 Region: mumbai Repo Size: 130 KB
Migrating Existing Apps
To switch regions for existing apps in the Common Runtime, you must redeploy and set up your apps in the new region. There’s no migration option. See Migrating Apps From the Common Runtime to a Private Space for more info.
For existing Private Spaces apps, you must also redeploy and set up your apps in the new region. See the Migrate Apps section of the Private Spaces article for some tips as you migrate your apps.
How the Limited-Release Regions Affect Platform Features
Add-ons and Region Support
In this limited-release state, some third-party add-on providers don’t support the new regions. Ultimately, it’s up to the add-on provider to ensure that their add-on can be used and supported in these new regions.
Add-ons that support your app’s region are provisioned in that region by default. Provision them as you normally do. For example,
$ heroku addons:create heroku-postgresql
If an add-on is latency-sensitive and isn’t available in these new limited-release regions, provisioning the add-on fails:
heroku addons:create example-add-on:plan -a example-app-name Creating example-add-on:plan on ⬢ example-app-name... ! ▸ This app is in region mumbai, example-add-on is only available in the oregon, virginia, frankfurt, tokyo regions.
Note that the Add-on Runtime Availability page and Heroku Elements page will not include these new limited-release regions until full general availability. You can file a support ticket here if you need help with determining the limited-release regional availability of any specific add-on.
Heroku Data Services in the Limited-Release Regions
You can provision Private and Shield plans for Heroku Postgres, Heroku Data for Redis and Apache Kafka on Heroku in the limited-release regions. Heroku databases are located in the same region as the application that they’re attached to.
Heroku Connect in the Limited-Release Regions
You can provision the Heroku Connect add-on in the limited-release regions. Heroku Connect instances are located in the same region as the application that they’re attached to.
Deploying a new release of your app never affects its region. After an app is created, all deploys to it occurs in the originally specified region.
One-off dynos run in the same region as the rest of the app. This behavior is the same for services like the Heroku Scheduler add-on) that provision one-off dynos to execute jobs.
Custom domain configuration is region-agnostic. Use the
heroku domains commands to manage custom domains.
Shield Private Spaces in the Limited-Release Regions
You can create Shield Private Spaces in these limited-release regions.
Dynos and databases reside physically in the region where you create them. However, Heroku consists of a number of additional services that aren’t always located in the same region.
See the Data Residency section of the Regions article for more info.
Opting Out of the Limited Release
If you no longer want to participate in the limited release, you can destroy the apps and spaces created in the new regions.
Destroy the app that was created in the Private Space:
heroku apps:destroy -a example-space-app Destroying example-space-app (including all add-ons)... done
Destroy the Private Space after all apps associated with the limited-release regions are destroyed:
heroku spaces:destroy --space example-space-name Destroying space example-space-name... done === example-space-name Team: example-team-name State: deleting
At this point, you no longer have a Private Space operating in the limited-release region. If you want to fully remove the capability to access these regions from your account, file a support ticket here to request them to remove your account from the limited release.