We’ve build on top of both EC2 and Digital Ocean and have found positives and negatives for each platform. Right now we love Digital Ocean and in this post we will let you know why!
The initial set up is straight forward for both platforms. Digital Ocean (their instances are called Droplets) has a nicer interface but that isn’t a deal breaker from the development side. Both have an API that the User can configure to add, launch, or delete your projects.
On the performance angle, Digital Ocean bulks their storage package together. If you need additional storage, or ram you will need to snapshot and restore to a larger instance. Which means even if your application uses 5GB of storage and 1GB of ram, you’re paying for 30GB of storage.
This is fine for us. We stick with Digital Ocean despite overpaying for storage. That is because the instance is a lot cheaper than AWS.
If you are building an application that required a low of storage. For example using 1GB of RAM and the application needs 300GB of storage, you don’t want to pay for Digital Ocean’s largest instance, it has 12 Cores and 32GB of Ram just to get the storage. In this case, Amazon would be cheaper and more cost effective.
I/O performance is another factor. Read/Write heavy applications fly on SSD hosting which is expensive traditionally, but Digital Ocean offers it extremely cheap. AWS does offer SSD storage, but it’s expensive.
Backups on Digital Ocean are infrequent – once every 3 days. Your needs may vary, AWS’ backup system is more robust but takes a lot more work to set up.
Digital Ocean sells VPSes only (and DNS), targeting developers who want to deploy “servers”. AWS sells multiple products in multiple categories (compute, storage, database, networking). AWS’s idea is to separate and scale each category automatically and independently, using single endpoint for each, so that if one fails, other don’t. DO focuses on selling cheap compute instances, however it’s just one of AWS’s many products.
Digital Ocean is scalable scalability and AWS as automatic scalability. DO can deploy a droplet in under a minute for dirt cheap with or without pre-defined images. AWS can deploy instances automatically with pre-defined disk images, startup and shutdown scripts (with metadata for each instance) based on CPU load or other metrics.
If money isn’t an issue, go with AWS. If it is, go with Digital Ocean. Both are high-quality, and both scale well. Worse case scenario, clone your app to other if you find it isn’t serving your purposes best.