Ask HN: Digital Ocean vs. AWS
We have been using AWS for the past 3 years, but looking at Digital Ocean simply because we could save some money if we moved over. So what are the plus/minuses of running node.js with mongo and RabbitMQ on DO compared to AWS? I am looking hopefully for people that have done this type of switch, either way, so I can learn from their mistakes. I am most concerned with uptime and reliability of the infrastructure.
For services we use, we mostly use EC2, Route53 and ELB's. I would think we would leave our Route53 as is, but move the EC2 instances and ELB workload. Is there an equivalent service at DO to ELB's or do I need to spin up instances and run our own load balancers? Don't care either way, just want to make sure we don't miss something and are comparing apples to apples.
35 comments
[ 3.6 ms ] story [ 83.1 ms ] threadWhile I love their service and recommend it often they would do well to add at least a few basic services (load balancers, S3-like storage, etc) on top of their current offering.
At least to me DO seems like a great place to do a proof of concept and even maybe an early release, but we have real paying clients and while I'd like to reduce our costs, I don't want to introduce significant risk for our clients in terms of reliability or capability.
Thanks for the input.
I have couple of sites (pretty low traffic) [nodejs, hhvm] running on D-O with pretty good uptime (> 1 year)
I'd recommend you to jot things down w.r.t what all things you have in terms of CPU, Disk, Memory, Apps, Server Usage over a week/month/year period and then see if the instances @ D-O can help.
Also, plan for future growth of the App, Just in case there is a sudden spike in traffic, there might be sudden need for additional Storage. In such scenario, with D-O you need to buy new servers, with EC2 you can add another disk with ease and can scale on storage.
AFAIK, D-O does not have ELB, so we need to buy instances and run ATS, Nginx, HAproxy, etc to do the load-balancing
We definitely are using ELB, S3, Route53 and the EC2 services. I am happy to hear that the uptime on your apps is really good, that makes me feel better, but given we use ELB's for our internal and external balancing it would be a consideration that we would have to run more servers and maintain that software. Not that ELB's are perfect, but so far they have been really reliable and "safe".
Thanks again for the input.
Question, atlantic.net as in the old Florida provider? If so you guys bought one of my businesses like 15 years ago. :)
AWS may be more expensive, but perhaps instead of migrating away from AWS to another provider, you can start using AWS more efficiently. Most people I've helped out in similar situations were able to reduce their AWS bills between 50-75%.
I can't say our bill from AWS is horrible, but I have challenged our team to reduce costs to try and make our process more cost effective so I can hire 1-2 more people. DO came up as an option. Not that we are spending that much with Amazon alone but that it may be an option to help save some money. To be totally honest, AWS has been so awesome to us it is hard for me to imagine leaving them, but I can't be blind to saving some cash. Thanks for the opinion and option.
Have you looked into using reserved instances?
Thanks for the input.
I wouldn't waste a single cycles migrating to another cloud providing to save a little money. In the end it simply won't be worth the time and you'll miss running on AWS's mature platform.
Instead, I would focus on getting your app working perfectly within linux containers. Use some existing tools such as swarm, CoreOS, or Tutum[0]. Once you have your app properly containerized, you'll be able to quickly move between clouds or even utilize multiple clouds (provided you have the time or experience to maintain the network).
The only way you'll save significant money is if you're willing to put up the resources to run your own prem, and I would strongly discourage you from doing that.
[0] https://www.tutum.co/
I currently use App Engine to handle front end requests and storage so I can't comment as much there, but DO's integration with Mesosphere sounds promising for scaling and reliability.
More here - https://digitalocean.mesosphere.com/ https://www.digitalocean.com/community/tutorials/an-introduc...
One advantage with Digital Ocean is that they support IPv6[1] in 1+ region.
AWS still doesn't offer meaningful IPv6 support (not in VPCs, not on EC2 nodes, not for CloudFront).
[1] https://www.digitalocean.com/company/blog/announcing-ipv6-su...
# Cost
Can you give a rough breakdown of the bill itself, as well as utilization numbers (CPU) and number of instances over the last ~7 days.
That'll make it easier for people to provide feedback.
Who's actually using IPv6 now and why?
When trying to pay (had some free credit before) they blocked my account and asked me to contact support to verify myself. The support person asked me if I can give them my fb or twitter account to verify myself. Kind of weird, but sure... I give them my fb, just to be told that my fb name doesn't match my CC name. Lol, I wouldn't give you my fb if I knew that's why you wanted it. And no, I cannot verify my CC name really, nobody has ever cared online in my whole life. I just gave up at this point and been using AWS ever since.
If you are concerned about infrastructure why don't you check out www.cloud66.com. You might find it very helpful also you can have a look at the help page with the node.js migration to any cloud provider http://blog.cloud66.com/moving-your-nodejitsu-apps-to-cloud-.... (Disclaimer: I am working for Cloud 66)
If you need permanent always-on systems (inelastic demand) I'd also look into OVH/Kimsufi, since they have extremely good deals on bare metal in their Quebec or French locations.
EC2 becomes attractive when you want to use Amazon's whole stack, or when you need the ability to flex up to enormous sizes. I'm not sure I'd bet on the smaller providers being able to hand you 10,000 instances on short notice.
How is DO in this regard? Do they randomly drop droplets or are they, for lack of a better word, persistent?