Heroku is one of the most formidable platforms for developing applications on the cloud today. It offers a unique blend of platform services from application deployment to monitoring, and from routing web requests to logging a trail of all that happens in the application. Heroku is highly available and scalable and ideally suited for deployment of web applications of any complexity. It also offers developers a wide variety of choices in terms of programming languages to use for writing web apps.
However, like any other robust computing environment, Heroku sometimes encounters operational or application-related issues that cause your production or development app to behave erratically. A problem could originate from any of the following aspects of your Heroku app:
Operational issues
Configuration issues
Database issues
Request queuing issues
Scalability troubles
DNS issues
Missing libraries
Memory-related issues
Language- or framework-specific problems
Access control issues...