Cloud Computing: Digital Ocean vs Google Cloud vs AWS

This post originally only focused on cost and user experience but after a real world case study and experiment I have some performance data and it is actually surprising. 

Teaser here … in a head to head test between AWS and Digital Ocean one of these  two out performed the other in

  1. rate of requests handled
  2. number of requests processed
  3. time it took to process each request. 
  4. The same winner of those won 10 / 10 speed tests and the results were not close.

The results of these tests convinced a previously skeptical client’s IT team into switching cloud providers.

Scroll down to the section “VPS Performance” to see more about that specific use case scenario.  Ultimate SEO has accounts on all but Azure and has powered its servers from AWS, Google Cloud and Digital Ocean at some point.  We’ve consolidated to one provider and its the same one who performs best in these tests.

Want to see a spoiler (the answer)?  Here is a summary sentence of our tests, or read on and learn why and how they win.

Summary

The AWS server costs twice as much and delivers one tenth of the capacity and is the slowest page load in all 10 page speed tests

The AWS server is unable to complete the full server load testing.

In every instance Digital Ocean out performed AWS.

Comparing Digital Ocean Droplets and AWS EC2 VPS

How Is This SEO?

This may seem off topic but its on topic, technical SEO is imperative … you’re not going to rank number one on Google using Shopify or Wix.  It just isn’t going to happen.

Those platforms are not serious enough to deliver the configurability one needs to out perform a competitor.

It’s also apparently difficult to get solid advice on SEO Hosting from “experts” Best Blog Hosting for SEO is junk … reciting features doesn’t make a hosting plan the best…one quote notes that WordPress is already installed with InMotionHosting.com … so what!

Our web servers are preconfigured to install WordPress in every new account as well…it only saves maybe 5 minutes per user but for a web host that time adds up very quickly.  So thats not a benefit for the client as much as it is for the host.

You aren’t a web host so it’s not that big of a deal.  I’d like to hear about benchmarking tests they may have run to decide who is the best.  And we do … but thats later.

I only mention these to point out typically articles covering which ibetter focus on the irrelevant because the author lacks a technical SEO understanding.  Well, this isn’t one of those articles.

Features Aren’t Technical Specs

Unlimited bandwidth…sounds great but what are the limits?  There are limits, the infrastructure that a site sits on has limitations.  If someone uses a CAT5 cable instead of a CAT6 everything will be slower and you’ll find a speed limit there.  Bottlenecks are designed into infrastructure by error and these can limit it. Unlimited bandwidth means nothing because there are limits … physical limits exist and can’t be avoided.  So “unlimited” is a term being misused a lot in hosting today.

WordPress preinstalled saves someone 5 minutes but nothing else.  These aren’t important to the Hosting performance and way too many top articles on SEO hosting confuse WordPress’s selling points with the web host’s infrastructure.  That’s what this is all about after all, infrastructure and how it directly impacts a site’s Google ranking.

Google says that over half of all searches are now mobile.  Mobile is extra sensitive to speed and technical SEO matters.  Thats why its so important to set yourself up with the best infrastructure to build on.

Cloud Computing: Be Your Own Host

The industry standard in web hosting is cPanel.  No way around it with cPanel your support opinions are bountiful where as dreamhost.com has its own proprietary server software … its no better in actuality its just far less supported by third parties.  Ultimate SEO is hosted on a variety of cPanel servers that were easy to build and deploy, I made them from scratch and with templates but all in all there are 4 AWS servers, 2 Google Cloud Platform and 4 Digital Ocean currently powering hundreds of sites including this site.  Cost varies wildly…

Its important to note that your web host is honestly likely run on one of these three services.  Godaddy is … if you have their shared hosting your running on this environment.  You’re sharing their share of the cloud environment.

Why not just skip ahead and be the master of your domain….sure it will cost more than $3 a month … but that $3 a month hosting plan is shit.  You can have a decent VPS server for $5 a month with better performance.

We’re not going to mix apples with oranges though, this isnt about shared hosting plans and a VPS.  The VPS will win.  A good review between AWS and a traditional hosting provider is AWS vs Blue Host

Amazon Web Services

I don’t even know what I am spending, where and how it is being spent.  AWS charges you for everything little thing and no matter what steps you might take it may seem like rising project costs are simply unavoidable.

Their platform to work within is NOT intuitive and it will require some play time to remember that you have to leave the virtual server’s configuration area to select an IP address to then assign it to the server.  Then go back to the server and keep working.  ( that will cost you money too…each ip address, not talking about bandwidth that’ll cost you too … I’m just saying the ip number ) and then return to that original area to associate it.

Don’t even think about swapping hard drives and knowing what is attached to what unless you are prepared to write down long strings of numbers and letters.

AWS does provide greater flexibility than the others on options beyond just a virtual server…but unless you plan to send 100,000 emails a day to people you won’t benefit from their email service … as an example.

Technical SEO wise I’d give AWS a D overall. Infrastructure and computing power is an obvious A+, but it’s how you interact with that that weighs the grade.  More so AWS limits your resources with Throttling and Burstable CPUs … these sound good but the mean we’re only giving you part of the resource not all of it.

Poor navigation and the nickle and dime pricing is absurd.  Want to monitor your usage so you can understand your bill?  Monitoring costs more…its ridiculous.

They do offer reserved instances and I loaded up on those but still my costs never decreased.  AWS is so hard to understand billing wise that IT Managed Service Providers will offer free excel templates to figure out your AWS monthly costs. Think I’m being over the top?  Check out this calculator form sheet by AWS to forecast your expenses.  It is never simple when you ask how much and are handed a spreadsheet to calculate the server costs.

Heres something crazy…why my April bill was $167 but AWS forecasts it will be $1020 in May I have no idea.  I’m not adding servers…

AWS costs are high and unpredictable

AWS costs are high and unpredictable

Google Cloud Platform

Is easier to use and wrap your head around but it is considerably more expensive than either of the other options. For this simple reason…they receive an F. The additional costs come with less options and less features than AWS.

Billing is more transparent and you can understand why your bill is what it is at least.  But Google also makes unilateral decisions for you like blocking smtp and ssh access.  Sure its more secure but it makes email and server maintenance a nightmare.  You can add those to nonstandard ports in the firewall but then you have to keep up with an oddity.

Documents like this Connecting to Instances make it seem like not a big deal, but these will not allow you to move a file from your computer to the server like SFTP would.

They are expensive, offer less and needlessly shot you in the foot with their restrictions.  Thats why I stand by the F as an overall grade.  Now infrastructure capabilities … A+ no doubt about it…but you’re paying a premium and placed into a box.

Digital Ocean

I received no compensation or thank you from anyone for writing this … Digital Ocean is my B+ graded cloud solution.  It’s the cheapest, and they don’t seem to charge you a fee for tools that are required for the main product to function, unlike AWS and their static ip addresses.

They have the least ability and options outside of a virtual server.  If you want a database server that’s in the works unless you can use Postgres.  UPDATE Sept 2019: SQL Databases are now fully supported and available.  That’s limiting, but it is also not important if you’re just running a few web servers that will already have MySQL installed on them anyhow (if a LAMP server template is utilized).

Digital Ocean is the no frills, no surprises, cloud computing option.  The reason I have so many servers is because I am migrating everything off AWS and Google Cloud to Digital Ocean…it’ll be cheaper.  A lot cheaper…we’ll discuss performance in this article.

 

cloud computing cost comparisons

cloud computing cost comparisons

That’s right… $20 vs $121, $177 and $120 from AWS, GCP and Azure.  I didn’t really consider Microsoft Azure just because I have reservations moving into their sphere or control where every thing you need to do is addressed by yet another Microsoft product that usually has little imagination in it.

Test out a server in each environment and I think you’ll quickly take to the Digital Ocean option.

But in deciding the winner of this debate I figure a more scientific method could be used….so let’s divide the debate into areas that can be scored and assessed.

Amazon Web Services vs. Digital Ocean

Simplicity at scale

Ease Of Use

As previously noted, the Digital Ocean’s dashboard is very streamlined compared to AWS.  With AWS you have to configure your network, and several other parts such as the keys before you can make a server that’s accessible to the internet.  Digital Ocean you can literally have a server running in less than a minute from a single screen.

Base Cost

Digital Ocean’s costs are inclusive of bandwidth, hard drive size, ip addresses and more.  Everything you need to have a server is right there in one easy package.   Their packages include:

RAM CPUS BAND SSDHD PRICE
1 GB 1 vCPU 1 TB 25 GB $5/mo
$0.007/hr
2 GB 1 vCPU 2 TB 50 GB $10/mo
$0.015/hr
3 GB 1 vCPU 3 TB 60 GB $15/mo
$0.022/hr
2 GB 2 vCPUs 3 TB 60 GB $15/mo
$0.022/hr
1 GB 3 vCPUs 3 TB 60 GB $15/mo
$0.022/hr
4 GB 2 vCPUs 4 TB 80 GB $20/mo
$0.030/hr
8 GB 4 vCPUs 5 TB 160 GB $40/mo
$0.060/hr
16 GB 6 vCPUs 6 TB 320 GB $80/mo
$0.119/hr
32 GB 8 vCPUs 7 TB 640 GB $160/mo
$0.238/hr
48 GB 12 vCPUs 8 TB 960 GB $240/mo
$0.357/hr
64 GB 16 vCPUs 9 TB 1,280 GB $320/mo
$0.476/hr
96 GB 20 vCPUs 10 TB 1,920 GB $480/mo
$0.714/hr
128 GB 24 vCPUs 11 TB 2,560 GB $640/mo
$0.952/hr
192 GB 32 vCPUs 12 TB 3,840 GB $960/mo
$1.429/hr

Amazon Web Services doesn’t allow an easy comparison.  Everything is charged individually it would seem.  They have a tool called Simple Monthly Calculator, its a spreadsheet basically … first off  if  you need a calculator it’s obviously not simple.

AWS Calculator

To compare something with the $5 option from Digital Ocean I used the calculator and a t2.micro which is 1cpu and 1g ram with a 25 GB SSD drive, with 2 ips and 1 TB of data transferred to the world costs about $21.49 but that’s also after a -11.00 discount … without the discount it was 32.49.

AWS Costs

So at $5 to $32

Digital Ocean Wins 

But wait there’s more and this is the why you’ll switch to Digital Ocean.

Options

Monitoring and alerts can be configured on both platforms .. both allow scaling up and adding additional storage as well as internal networking.  AWS though has an expansive offering of options and wins out in this area.

AWS Wins

Billing Options

Digital Ocean allows for credit cards as well as paypal.  AWS allows credit cards and bank accounts.  The difference then is Paypal vs Checking Accounts and since this is a cloud computing, tech product … Im going to prefer Paypal to a tool that has been around for hundreds of years.  So we’re going to hand it to Digital Ocean.

Digital Ocean Wins

Freelancer Friendly

Each can transfer servers to other accounts.  I’ve only been successful in doing this with Digital Ocean and not AWS.  The AWS process is more tedious and you can give a server away that you aren’t an admin of anymore but still are responsible for billing somehow.  That sucks!

Digital Ocean Wins

Support

AWS only offers free billing support…although if you ask them a tech question they do tell you “as a courtesy” here is an article that might help…but tech support itself is out of your reach for free.  Digital Ocean allows you to message them and I’d assume some tech level of support for their platform without charging.

Digital Ocean Wins

So all in all…

The winner is Digital Ocean over GCP and AWS.

but … now an added update to question these assertions…

VPS PERFORMANCE

Testing Digital Ocean to AWS head to head.

Two test servers with the same site exact site tested at the same time on the same tools.  In these tests we’re trying to speed up a client’s slow page load speeds.  We’re at 97% optimization of the site, we’ve unloaded some sliders but still 5 second homepage loads.  We are determined to be at 3 seconds…and we think we have the answer in addressing the client’s hosting infrastructure. 

But before we can make the switch, testing had to be done and we had to convince the IT team to look at more than just AWS.  As technical SEO “experts” we have to get their buy in to ensure the projects success isn’t discounted because we get viewed as just marketing people.  

Below is adapted from communication between Ultimate SEO and the client.

Two Part Question, then price considered. 

How many users can the server handle?

  • EC2 Unlimited – Expensive but it’s just a checkbox away in availability.

Same test on each by loadimpact.com.  Simulates 25 users for 3 minutes. Detailed results included after this summary. 

Server: Test2 On Digital Ocean

The average response time of the system being tested was 36ms, and 10497 requests were made at an average request rate of 59 requests/second.

digtal ocean test server performance test results
Server: Test3 On AWS

The average response time of the system being tested was 481ms, and 4401 requests were made at an average request rate of 25 requests/second.

AWS Test Server Performance Results

Findings From Server Load Testing

The AWS Server takes more than 10 times longer to server half the pages requested, at half the rate given to the Digital Ocean server.  So it failed before reaching full capacity of the test.

How fast can a typical page be delivered?

For this test we’ll use GTMetrix.com with 1 user 7 tests per server and then an average with the lowest score and highest noted.

Test Run

Test2

Test3

1

7.0s

7.4s

 

3.8s

6.2s

3

4.1s

5.7s

 

4.2s

4.9s

5

4.3s

4.7s

 

2.9s

5.6s

7

2.7s

5.3s

 

3.6s

5.1s

9

3.5s

4.5s

 

3.4s

4.4s

AVERAGE

3.95

5.38

Ultimate SEO ran the GTMetrix.com tests at the same time, that way it was similar network traffic and each one in its own browser tab.  * These tests are not reliant upon our local machine and are just between GTMetrix and the target.

Conclusion

In this test the AWS server adds an average 1.43 seconds over 10 tests.  In no test was AWS faster than Digital Ocean.  The fastest test for Digital Ocean was 2.7s with AWS at 4.4s.  Digital Ocean’s fastest is below our goal, AWS is 1.4 seconds above or 45% more than our goal.  GTMetrix gives both servers an A for optimization, meaning neither can be optimized more … its infrastructure and content now.  Each site has the same content.

AWS could do better but they appear to “throttle” performance much tighter.  Even using C class servers instead of T class resulted in lack luster performance.

If there is anything wrong with my methodology let me know and you’re free to repeat these tests.

 

How Does Performance Change When We Test A Web Server that has a separate dedicated Database server

Server + Database Server Configuration VPS

 

Now that we’ve tested and found Digital Ocean to be the cheapest and fastest VPS lets try some optimizations and see if they provide real world benefits.  The easiest to test is the offloading of the database to its own separate server. Since this creates a dedicated database server I choose to build the database on a very small machine.  A $5 1 CPU 1 GB Ram server was created from a LAMP server and it was given an internal ip address and placed within the same firewall as the site server which also had an internal ip address.  Internal addresses did appear to save connectivity time and avoid firewall involvement.

server with dedicated database server on digital ocean performance test results

This shows the blue line … response time as steady and unaffected by the growing requests and users on the site.  

 

The average response time of the system being tested was 33ms, and 8716 requests were made at an average request rate of 49 requests/second.

 

This wasn’t remarkably better than the original server but that server did show a couple brief spikes where this has none.  It would likely only be of real value when large amounts of traffic are experienced.

 

GTMetrix shows individual page loads are unaffected by the SQL off loading.  So the benefit is again only pronounced when many requests are made.

 

Hits: 165

UltimateSEO