WHAT’S IN THIS CHAPTER?
Although developing on Heroku is not very different from developing on any scalable architecture, some architectural considerations should be taken into account. Heroku’s architecture is stateless and temporary, which makes it highly scalable. Dynos are ephemeral, so they should be considered temporary. This means that apps need to be written to be scaled horizontally, which enables them to be easily architected to solve big problems and load faster. However, because of its temporary nature, Heroku is not well suited for apps that are stateful on the server level or for apps for which sessions are stored locally on each server.
You must carefully consider the overall architecture of the system you want to build, which typically is broken down into the following three parts: