Why do people use Heroku when AWS is present? What distinguishes Heroku from AWS?
AWS / Heroku are both free for small hobby projects (to start with).
If you want to start an app right away, without much customization of the architecture, then choose Heroku.
If you want to focus on the architecture and to be able to use different web servers, then choose AWS. AWS is more time-consuming based on what service/product you choose, but can be worth it. AWS also comes with many plugin services and products.
Heroku
- Platform as a Service (PAAS)
- Good documentation
- Has built-in tools and architecture.
- Limited control over architecture while designing app.
- Deployment is taken care of (automatic via GitHub or manual via git commands or CLI).
- Not time consuming.
AWS
- Infrastructure as a Service (IAAS)
- Versatile – has many products such as EC2, LAMBDA, EMR, etc.
- Can use a Dedicated instance for more control over the architecture, such as choosing the OS, software version, etc. There’s more than one backend layers.
- Elastic Beanstalk is a feature similar to Heroku’s PAAS.
- Can use the automated deployment, or roll your own.