Amazon Web Services (AWS) is great. It helps reducing time and effort when you need to deploy an infrastructure (!!!). Heroku (a PaaS built on top of AWS) is great, too. It helps developing apps less pain for developers when it comes to setting up servers. The problem with them is cost (for small companies and start-ups, of course). When cost begins what matter you, you need to consider other solutions, and ours is Digital Ocean (DO).

Here’re two comparisons of price between AWS EC2 instances and DO droplets, Heroku vs DO:

EC2 vs DO:

EC2 absolutely has many more types of instances than DO, here are just some comparisons of the equivalents:

EC2 micro instance vs $5 DO droplet:

EC2 DO
Price $0.020 / hr (~14.4 $/month) $0.007 / hr ($5/month)
Memory 615MB 512MB
Storage 8GB (default, OS included) 20GB SSD

EC2 m1.small instance vs $20 DO droplet:

EC2 DO
Price $0.044 / hr (~31.68 $/month) $0.03 / hr ($20/month)
Memory 1.7GB 2GB
Storage 160GB 40GB SSD

(The comparison above is based on on-demand EC2 instances. For comparison on benchmarks, there’s a nice article here. Besides, Amazon has a cost calculator, it’s useful to check other costs you may have to pay)

You can see that a DO droplet is much, much cheaper than an EC2 instance.

Heroku vs DO:

This is not easy to compare because they’re different types of services. Heroku is a PaaS, while DO is an IaaS. But with the same amount of money paying Heroku for 2 x 2x Dynos ($115.50/month) and a Standard Yanari Postgres database ($50/month), we can afford to buy 10 x 1GB droplets or 5 x 2G droplets to setup web servers, and a 4GB droplet for a database server. Surely we don’t need that many (yet).

Ok, now let’s look at some pros and cons of these services:

EC2

Heroku

Digital Ocean

Pros

+ Built in firewall
+ Elastic IP
+ Flexible storage
+ A lot of available images
+ A lot of types of instance
+ More locations
+ Easy to deploy, no server configuration needed
+ Support a lot of languages (Ruby, PHP, Python…) and addons
+ Good documentation
+ Good performance overall
+ Cheap
+ Simple & easy dashboard
+ Fixed prices for droplets
+ Come with default larger storage then EC2

Cons

– Extra cost based on disk IO operations, bandwidth…
– Do it yourself.
– Price is too high for dynos & addons
– You don’t have full control of things
– No elastic IP like Amazon, no shared IP
– No built in firewall
– Limited SSD storage, no other storage method
– Do it yourself. So you need more time and human resource

What we did

So, in our case, we migrated a git server from an EC2 m1.small instance to a 2GB DO droplet, an web application on Heroku which costs us $50/month to a $20 droplet, and two other web applications which cost more than $300$/month to a system (comprises of 9 droplets) that only costs about $150/month.

Our running droplets
Our running droplets

What we got

We save a lot of money.
Not only that, we get faster speed on our git server and web applications. We get more control over our systems (it means more work, too :D).

Conclusion

That’s our case. This is not to tell everybody that they should migrate to Digital Ocean, too. Because it depends on a lot of things based on the pros and cons of the above services. For example if you’re considering setting up a load balancer with failover feature (using a shared IP address) then Digital Ocean is not for you, because they don’t have this kind of IP address. In the humble opinion of the writer, you should experience with DO for yourself first to see if it fits your need, and if you’re happy with it. Then the decision is yours.

SSS Full-stack Engineer

Love Silicon Straits and want to know more about our company culture, working environment or job vacancies?
Find out more at careers.siliconstraits.vn.

Silicon Straits
Be Challenged. Be Inspired. Be Different.


Published by Minh Danh

Developer and sysadmin at Silicon Straits Saigon