Utilizing Redis in distributed Erlang systems
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. 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.
You can view the slides for the talk here.
Jacob Vorreuter Primary developer of Heroku's Erlang cloud
Jacob Vorreuter is a senior engineer at Heroku and frequent open source contributor. He is the primary developer and maintainer of Heroku's Erlang cloud infrastructure. Jacob's open source contributions include erlang_protobuffs, emongo, emysql and various Erlang Redis utilities. He graduated from NYU in 2005 with a degree in Computer Science.
Jacob on github
Orion Henry Founder of Heroku
Orion Henry has been a principal architect and founder at Heroku since its inception in 2007. He designed much of the company's infrastructure and pioneered its use of Erlang. Orion has founded several technology companies in the last decade as well as run a software consultancy in Los Angeles. He graduated from UC San Diego in 1997 with a degree in Computer Science.