Migrate between plans

Plans for the Elasticsearch Add-On for Heroku differ based on:

  • How much memory and disk space are available
  • How many data centers your cluster is replicated across to achieve high availability

Available memory is an important factor for performance when sizing your Elasticsearch cluster, and replicating across multiple data centers is important for the resilience of production applications.

To learn more about what plans are available for Heroku users, see the Elasticsearch add-on in the Elements Marketplace.

You should time the migration to a new plan to ensure proper application function during the migration process. A cluster that is already overwhelmed with requests will take much longer to migrate to a larger capacity; if your workload warrants a plan change to increase capacity, migrate to a larger plan early.

To migrate to a new plan, use the heroku addons:upgrade command and include one of the available plans:

foundelasticsearch:dachs-standard
foundelasticsearch:beagle-standard
foundelasticsearch:dachs-ha
foundelasticsearch:boxer-standard
foundelasticsearch:beagle-ha
foundelasticsearch:labrador-standard
foundelasticsearch:boxer-ha
foundelasticsearch:husky-standard
foundelasticsearch:labrador-ha
foundelasticsearch:husky-ha

For example: Migrate from the smallest, default dachs-standard plan to the larger beagle-ha plan that includes high availability for MY_APP:

heroku addons:upgrade foundelasticsearch:beagle-ha --app MY_APP
Changing foundelasticsearch-defined-nnnnn on MY_APP from foundelasticsearch:dachs-standard to foundelasticsearch:beagle-ha... done, $201/month

Upgrading to a new plan is done by extending the existing cluster with new nodes and migrating data from the old nodes to the new ones. When the migration is finished, the old nodes are shut down and removed from the cluster. You can continue to search and index documents while this plan change is happening.