Latency Considerations for Add-on Providers
Last updated 11 June 2014
Heroku is available in multiple geographic regions. As an add-on provider, your service may need to work under low-latency conditions, in which case it should be available in the same region as the app provisioning it.
Cloud services intended to be consumed in realtime will need low-latency connections. These include:
- Databases such MySQL, CouchDB, or Casandra
- Cache stores such as Memcache
- Search services such as Websolr or Cloudquery
On the other hand, many services can tolerate an extra few hundred milliseconds of latency. Usually these are asynchronous services. For example:
- Email sending services such as Sendgrid and Authsmtp
- Outbound message services such as Messagepub or Chatterous
- Monitoring services like New Relic, Exceptional, or Airbrake
- DNS management services such as Zerigo DNS
Provisioning with latency
If your add-on service requires low latency then you should provision resources for Heroku apps within the same region as specified in the provision request
If your add-on is latency sensitive and does not support that region, you should not provision the resource and instead return an error.
If normal internet latency is acceptable, you can run your service anywhere with a public hostname/IP.