Add-ons are one way to extend the capabilities of a Heroku application. The user can add a new service such as caching or data storage to the app by provisioning an add-on and consuming the service offered. Heroku users have two ways to provision the add-ons:
The add-on marketplace
The Heroku toolbelt client
The entire process of add-on provisioning and consumption is shown in the following diagram:
The following steps describe how a new add-on is provisioned and consumed by the Heroku app:
The Heroku user requests an add-on using either of the two ways indicated in the previous paragraph.
Heroku sends a provisioning request for the current account to the service provider for the given service.
The service provider validates the request and creates a private resource for the caller and returns a URL that specifies the exact location and the credential required to access the service.
For example, the Amazon RDS service provider might return:
MYSQL_URL=mysql://user:pass...