Heroku runs a cloud platform composed of heterogeneous components (written in Ruby, Erlang and Go to name a few). Facilitating communication and syncing state between these components is a challenging task. Redis provides a simple, common interface as well as characteristics such as speed, scalability and redundancy. erlang-factory.com
The list of uses we've found for Redis includes a redundant cache of shared state data, a means of tracking dynamic clusters of running instances, a container for realtime statistics data and a transient data store for high volumes of log messages. In this talk we will be discussing the details of how Redis fits into the architecture of multiple Erlang components in the Heroku platform. We will also review a handful of open source Erlang Redis utilities that we have found to be useful.