Part of the Continuous Delivery process, the deployment phase is one of the most critical. An application when deployed, is released into the wild where innocent monsters (users) are massively mistreating it (using it).
The deployed version is the one that will be used, it will show end-users the new features, bug fixes, and so on (or the problems, if any). It has to be resistant to peaks of use. So there are several needs that we might find very helpful at deploy time. Examples of those needs are the ability to redeploy quickly and easily when hot fixes have been made, or to scale our application horizontally when running on the cloud.
Nowadays, a great solution to those problems is the Heroku provider (cloud hosting) that comes with a PaaS, which is completely independent of the underlying infrastructure. And managing a running application is very easy, thanks to their amazing Toolbelt tool.
Okay, calm down! Let's rewind a bit and briefly introduce what Heroku is.
Heroku...