Amazon EC2 vs DigitalOcean: What are the differences?
What is Amazon EC2? Scalable, pay-as-you-go compute capacity in the cloud. Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.
What is DigitalOcean? Deploy an SSD cloud server in less than 55 seconds with a dedicated IP and root access. We take the complexities out of cloud hosting by offering blazing fast, on-demand SSD cloud servers, straightforward pricing, a simple API, and an easy-to-use control panel.
Amazon EC2 and DigitalOcean can be primarily classified as "Cloud Hosting" tools.
Some of the features offered by Amazon EC2 are:
- Elastic – Amazon EC2 enables you to increase or decrease capacity within minutes, not hours or days. You can commission one, hundreds or even thousands of server instances simultaneously.
- Completely Controlled – You have complete control of your instances. You have root access to each one, and you can interact with them as you would any machine.
- Flexible – You have the choice of multiple instance types, operating systems, and software packages. Amazon EC2 allows you to select a configuration of memory, CPU, instance storage, and the boot partition size that is optimal for your choice of operating system and application.
On the other hand, DigitalOcean provides the following key features:
- We provide all of our users with high-performance SSD Hard Drives, flexible API, and the ability to select to nearest data center location.
- SSD Cloud Servers in 55 Seconds
- We provide a 99.99% uptime SLA around network, power and virtual server availability. If we fail to deliver, we’ll credit you based on the amount of time that service was unavailable.
"Quick and reliable cloud servers", "Scalability" and "Easy management" are the key factors why developers consider Amazon EC2; whereas "Great value for money", "Simple dashboard" and "Good pricing" are the primary reasons why DigitalOcean is favored.
According to the StackShare community, Amazon EC2 has a broader approval, being mentioned in 3605 company stacks & 1612 developers stacks; compared to DigitalOcean, which is listed in 943 company stacks and 686 developer stacks.
GCE is much more user friendly than EC2, though Amazon has come a very long way since the early days (pre-2010's). This can be seen in how easy it is to edit the storage attached to an instance in GCE: it's under the instance details and is edited inline. In AWS you have to click the instance > click the storage block device (new screen) > click the edit option (new modal) > resize the volume > confirm (new model) then wait a very long time. Google's is nearly instant.
- In both cases, the instance much be shut down.
There also the preference between "user burden-of-security" and automatic security: AWS goes for the former, GCE the latter.
Most bioinformatics shops nowadays are hosting on AWS or Azure, since they have HIPAA tiers and offer enterprise SLA contracts. Meanwhile Heroku hasn't historically supported HIPAA. Rackspace and Google Cloud would be other hosting providers we would consider, but we just don't get requests for them. So, we mostly focus on AWS and Azure support.
I chose DigitalOcean because their pricing is very fair. Their tech support is very quick to respond to any inquiries you may have. They also have a community of developer who are more then happy to help you with any non-account issues you may have.
The drawbacks of this decision are their managed services can be quite pricey at $15/mo extra for a MySQL database.