We are migrating to Digital Ocean

min

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.




  • Another added benefit of Digital Ocean is you can easily deploy to one region and have it automatically transfer. Great for global business: https://www.digitalocean.com/company/blog/transfer-your-images-globally-to-all-regions/

  • Another thought – regarding load balancing, you could always setup a virtual firewall on one of your instances to balance traffic. If you have the budget, you could license something from Kemp. Vyatta is another option and it’s open source.

    • Yes, in our case we use HaProxy, it’s not a firewall but quite good at load balancing. But using an instance for load balancing might make it become a single point of failure, that’s why failover feature is needed. And to bring this feature up, we need a shared IP, which is not available in Digital Ocean infrastructure.

  • super_buryat

    There’re also open source PaaSes that can be deployed to Digitalocean:
    http://deis.io/
    http://flynn.io/
    https://github.com/progrium/dokku
    http://api.yandex.com/cocaine/

  • darkflib

    They said they will have loadbalancing soon. However, in the interim, I have two HAproxy boxes with very short TTLs on their DNS A records and just use these as my loadbalancing. Not perfect, but it works well enough until their native load balancing is available.

    The bigger advantage between DO and AWS is the included BW. 1TB on the $5 droplet. The same on AWS is additional 12c/GB (0.12*1000 = $120)

    For some of the newer DCs (NY2, AM2, SG etc) there is a private servicenet which can help you build clusters without paying for any additional data transfer between instances (similar to how Rackspace do it) – This has been a killer feature for some of my apps as it means that I can cluster applications in the same DC without incurring additional cost (ie. RabbitMQ, Riak etc)

  • hkvn

    @disqus_xKkkREZkXP:disqus Bạn so sánh thế nào giữa DigitalOcean & Linode?

    • Bọn mình vẫn chưa có dịp nào trải nghiệm dịch vụ của Linode nên cũng không dám lạm bàn. Tuy nhiên theo những gì mình biết thì Linode cũng là một dịch vụ cung cấp cloud VPS khá uy tín, có một số tính năng mà hiện giờ DO cũng chưa hỗ trợ: IPv6, IP failover,… Tuy nhiên về cấu hình thì DO có vẻ “nhỉnh” hơn chút khi cung cấp các loại VPS rẻ hơn (512MB, 1GB) mà Linode không có. Bạn có thể tìm hiểu thêm so sánh giữa hai dịch vụ này ở đây nhé:
      http://joshtronic.com/2014/04/28/linode-ssd-versus-digitalocean/#.U56lYKgsm2w
      https://news.ycombinator.com/item?id=7021664

Posted by

on May 14, 2014

in ,

Comments

Follow us for more later

or subscribe with