Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Heroku vs Elastic Beanstalk with Django + Postgres

If I am planning to deploy a Django + Postgres site and I would like to do so to a PaaS, what are the major differences between what Heroku and Elastic Beanstalk will offer me?

What are features that one has but the other does not? How does the experience of deploying and maintaining sites on the two platforms compare?

like image 326
Alex Rothberg Avatar asked Oct 24 '14 02:10

Alex Rothberg


People also ask

When should you not use Elastic Beanstalk?

Elastic Beanstalk isn't great if you need a lot of environment variables. The simple reason is that Elastic Beanstalk has a hard limit of 4KB to store all key-value pairs. The environment had accumulated 74 environment variables — a few of them had exceedingly verbose names.

Is Elastic Beanstalk good for Microservices?

You can use Elastic Beanstalk to deploy your microservices. When you use Elastic Beanstalk, in the backend Elastic Beanstalk creates the required EC2 instances and Load balancers to run and deploy your application. Hence you don't need to create an EC2 instance.

Is Elastic Beanstalk the same as Elasticsearch?

Elastic is an Elasticsearch client for the Go programming language. AWS Elastic Beanstalk belongs to "Platform as a Service" category of the tech stack, while Elastic can be primarily classified under "Search Tools". Elastic is an open source tool with 4.02K GitHub stars and 750 GitHub forks.


Video Answer


1 Answers

I have recently migrated an application from Heroku to Amazon EB and am missing Heroku already :)
Application wise, everything is the same. The major differences regard pricing, performance and ease of operation.
1. Price - Amazon will beat Heroku for nearly anything above two servers.
2. Performance - again, Amazon gives you the flexibility to deploy your app on a RAM monster, speeding things up significantly
3. Operation - that's the tricky part where Heroku wins big time.

Operations wise, Heroku is extremely easy to configure and maintain, while in Amazon you need to dig deep into the Elastic Beanstalk deploy scripts in order to customize them for your application. Deploying isn't a breeze as well, as EB CLI isn't as easy to use as Heroku and forces you to keep thinking about the underlying infrastructure (region, vpc, load balancing, security, etc).

I'd stick with Heroku if you're happy with price/performance and move to Amazon only if you really want these parameters notched up.

like image 142
Tal Avatar answered Oct 31 '22 00:10

Tal