Heroku
Heroku is a platform as a service (PaaS) that exists on the cloud, allowing software developers to build and run complex web applications without having to worry about the underlying hardware or the networking aspects of it.
- Lets software developers focus on creating software instead of having to worry about hardware and networking
- Developers can easily scale their application as their user base grows
- Abstracts the development process
- Makes deploying a web application as simple as possible
- Provides lots of language and database options, as well as other powerful features
- Has very reliable servers and excellent support
- Can get very expensive to use
- Its free tier is very limited and useful only for testing purposes
Heroku, which is now owned by Salesforce, was one of first PaaS solutions and it is still one of the best. While certainly not the cheapest solution out there, it is very fast to deploy applications to it, and it runs these applications very efficiently and reliably. It abstracts a lot of the complexities of building of web applications, making deploying one as simple as possible. At first, you could only run Ruby applications on it, but it now supports Java, Node.js, Python, Scala, PHP, Go and Clojure. It also has lots of database options, and other powerful features, and it all seamlessly scales as the application's user base grows. Heroku, though, can be expensive. Very expensive. It has a free tier, but it is very limited. In this tier, it will also put web applications to sleep if they receive no activity for 30 minutes. This means that if no one visits your site for a half an hour, the next person who does visit will have to wait as much as 20 seconds to get a response from the server. This makes the free tier usable only for testing purposes.