Choosing between Amazon Web Services and Heroku to host your application is a common developer puzzle. Let’s find out in which cases each of them suits best.
When it gets down to application hosting, quite often developers fall into a hard choice between Amazon Web Services and Heroku. Though both of them have their own advantages, quite often it is hard to tell, which suits best. Besides, in this case, an investigation takes tons of time.
So let’s figure out once and forever in which cases which tool works best.
Heroku vs EC2 vs Elastic Beanstalk
Basically, choosing between AWS and Heroku is not a choice between 2 options. In fact, there are 3 services to choose from:
- Heroku – Salesforce Platform as a Service
- Elastic Compute Cloud (EC2) – Amazon Infrastructure as a Service
- Elastic Beanstalk – Amazon Platform as a Service
Have a brief look at them compared:
On the one hand, it is nice to have a bigger choice, but on the other, it makes the situation even more confusing. To make a right decision, you need first to figure out what type of services you are going for.
IaaS vs PaaS
Before tearing up between whom you want to give your money: Heroku and Amazon, you need to figure out, what services you actually need.
The names speak for themselves: Infrastructure as a Service offers you only tools, with which you will need to handle hosting situation yourself. At the same time Platform as a Service takes care of everything.
Basically, to make a choice, you need to take into consideration the following points:
- Technical level of your developers
- Your budget
- Amount of your technical resources
It’s quite obvious that if you are going to use infrastructure only, this will require from you more experienced developers.
Rubyroid Labs Hacks: How We Interview Ruby on Rails Developers
Besides, if any problems occur, it will be your responsibility to fix them. At the same time using infrastructure only lets you pay much less for hosting, but don’t forget that you will need to add developers salary to the final sum.
This way Heroku (or Elastic Beanstalk) works best for those, who don’t want to get into all technical details and is ready to pay a bit extra for everything to be done for them. And Amazon EC2 is for those, who want to do it themselves, save some funds and get total control over the situation.
Heroku vs Elastic Beanstalk
It’s already pretty clear when to choose EC2. But about choosing between 2 PaaS tools. The situation is not that clear here since they both offer pretty similar services. There are mild differences here:
- Amazon works worldwide, whereas Heroku is for US and Europe only
- Amazon has automatic scaling, whereas Heroku can be scaled manually or automatically
But all this are really minor details. The main focus here should be pricing plans. So if you know for sure, you need a PaaS for hosting, go and study different pricing options to make sure you get the best offer.
Summary
- Go for PaaS if you are not experienced with hosting or don’t want to invest in it.
- Go for IaaS if you have experienced DevOps and want to take control over the situation
- IaaS is cheaper than PaaS (Dev cost not taken into consideration)
And what are you using for hosting? Why? Share with us in the comments!