Recs.
Updated
Heroku is a Platform-as-a-Service that allows you to focus more on coding than provisioning them post-development
Specs
Pros
Pro Easy to start with
Getting started with Heroku is very easy. It's a very straightforward procedure and a beginner can set up their first app in two minutes. Often it's just a matter of a couple of git commands and it's all set up and running. The official Heroku docmentation also helps a lot.
Pro Add-ons let you easily add features and technologies
Heroku has a vast list of plugins and services that can be added to an instance. These plugins cover things from databases to email systems. This remove the task of having to install services and setting them up manually. Heroku does it all for you.
Cons
Con Constrained by addons
If you want to fully customize your production environment, then Heroku can be seriously constraining. Installing libraries or services can not be done unless there is already a Heroku plugin for it.
Con Further deployments are slow with free dynos
While starting with Heroku is fast and easy, and the first few deployments are actually very fast, larger applications tend to have slower deployments. Unless your application is on a paid dyno with preboot enabled, it takes some time for the dynos to restart and while they are restarting the application is completely offline, which means that you can lose precious seconds of application time.
Con Really expensive
Heroku starts getting really expensive once you leave that free tier. It's not just the bare Heroku service that is costly, the addons as well are very pricey.