Recently I've tried Heroku, which is really great because you put a few dynos online and you really forget about your deployment, it just runs! No maintenance, no load balancer configuration, easy to use, see logs and upgrade.
Although I must say that I'm not glad with the pricing and the flexibility the platform gives you. For example, you only get 2.5 Gb dynos and then directly have to jump to 14Gb as the next step. Also, for memory-intensive applications the pricing model is a real disaster.
I've had some experience with Amazon on the other side, just ran and configured a few EC2 instances, so basically IaaS. I was wondering if it is possible to easily use amazon as PaaS instead. I know for sure that there are great services like RDS for the data layer and Elastic Beanstalk. So here is the question: is it possible to easily set up and run services with Elastic Beanstalk in a kind of Heroku/Openshift way, in which you just publish the new release of your application, be it via GIT or a docker container, and then just forget about it? Which basically means having an infrastructure which automatically takes care of balancing all requests among available instances, which will of course be more than one for high-availability, and an easy way to deploy the application, like just uploading a docker container somewhere.
And of course, the most important question: does your book cover this particular topic?
Thanks for your attention.
AWS is offering different tools to help you to deploy your applications on EC2:
* Elastic Beanstalk
On top of that it is also possible to use Infrastructure as Code to deploy your application bundled with the needed infrastructure. AWS offers an Infrastructure as Code service/tool called CloudFormation.