mvxlr
By:
mvxlr

Building scalable architecture on DigitalOcean ?

January 25, 2015 1.5k views

Hi,

I’m designing out backend for hellodebug.com. We run on top of CoreOS, and are based on docker/golang for our container image.

I love the simplicity of DigitalOcean, but I wonder if it’s a wise choice to reply upon it for building a scalable, highly available service environment?

Comparing this, to I’d guess AWS where I can have machines go in and out of ELB.

Would appreciate a discussion.

-m

2 comments
  • We are using DigitalOcean for one part of our platform. I was happy with performance and price. Also since we built most of our own stack, lack of Load Balancer or other extra services which AWS or others providing was not an issue for us.

    However we fall into two major issues which blocked us to scale the way we were wishing for. First and the most craziest one was billing. DigitalOcean just accept credit card and when our bill goes beyond 10-20K / month, it was hard to handle it via credit card while our preference was check or bank transfer and DigitalOcean didn't support.

    Other issue we fall into was frequent hardware failure which was more than other providers such as AWS or Google Cloud. Although we designed to be handle such failures since it's nature of cloud, but still that make it less interesting when looking for headache free environment.

    We are heavily use Golang and recently moved to containers using Kubernate, and we experienced that Google Cloud is more native feel for such combinations.

    We're still using DigitalOcean for more less-heavy usages instead of using it for our high traffic bidders (In our bidder environment we reached 350k req/sec while our goal is to scale to 750k-1M). In overall we're so happy with price, performance and API.

    Also one thing I really love about DigitalOcean is simplicity. You end up building all your stack yourself which is awesome. Also it's easy to design your stack without any hard dependency to cloud provider. Even if you decide to go to AWS or Google Cloud, I still recommend to not rely on their services and try to build your own stack (Cache, Load Balancer, Database, Logging, Monitoring, ...) so it makes it so easy to move. This way you can have your platform run in multiple cloud providers to setup ultimate high availability.

  • I saw this today and wanted to follow up. Since this comment was posted we have scaled up our customer success team who focus on working with larger ($1k+/month) clients. Among other things they are able to work with users on alternative payment arrangements including bank transfers. Also in the time since this was posted we have had a major focus on reducing error rates across our entire infrastructure and you should not see any higher rates of node failure than with other providers.

1 Answer

This question was answered by @ryanpq:

I saw this today and wanted to follow up. Since this comment was posted we have scaled up our customer success team who focus on working with larger ($1k+/month) clients. Among other things they are able to work with users on alternative payment arrangements including bank transfers. Also in the time since this was posted we have had a major focus on reducing error rates across our entire infrastructure and you should not see any higher rates of node failure than with other providers.

View the original comment

Have another answer? Share your knowledge.