We often get asked which server provider we recommend customers use for hosting WordPress in conjunction with SpinupWP. Because SpinupWP works with any and all providers, it can be overwhelming to choose among the hundreds if not thousands of possible providers out there. In this article, I’m going to cover five of the most popular: DigitalOcean, Linode, Vultr, Amazon Web Services (AWS) and Google Cloud.
Although both AWS and Google Cloud provide a full spectrum of cloud computing services, we’ll be looking at which provider is best for hosting WordPress on a single server and not considering other services such as load balancers, managed databases, or object storage. As we’ll be using SpinupWP to provision the servers, we know that all five will be configured to the exact same specifications. Therefore, when it comes to comparing the five providers, we can concentrate on ease of use, performance and price.
I’m also going to be using Amazon Lightsail in this article. Amazon Lightsail extracts away a lot of the complexities around AWS and makes it simple to spin up virtual servers, while still using the same underlying AWS infrastructure. While DigitalOcean, Linode, Vultr and Amazon Lightsail have a comparable server spec, Google Cloud doesn’t, so I’ve selected the closest spec VM instance, which at the time of writing is a g1-small. I’ve also added a similar size SSD boot disk, as all other providers come with a SSD disk as standard, which gives us the following servers:
|DigitalOcean||2 GB||1 vCPU||50 GB||$10/mo|
|Amazon Lightsail||2 GB||1 vCPU||60 GB||$10/mo|
|Google Cloud||2 GB||1 vCPU||50 GB||$20.73/mo*|
|Linode||2 GB||1 vCPU||50 GB||$10/mo|
|Vultr||2 GB||1 vCPU||55 GB||$10/mo|
*Google Cloud price is estimated using their pricing calculator.
Ease of Use
Let’s start with how easy each service is to get up and running on SpinupWP.
DigitalOcean’s target audience has always been developers:
Designed for developers. Build more and spend less time managing your infrastructure with our easy-to-use control panel and API.
They’ve taken the relatively complex process of deploying servers to the cloud and simplified the entire process. Their UI is beautifully designed and cloud servers can be deployed within minutes. Pricing has always been transparent and you know what cost you’ll be paying each month upfront.
In many ways, DigitalOcean is much like Stripe for online payments, who are renowned for their user experience, docs, and API.
For those reasons, it was a no-brainer that DigitalOcean would be the first server provider built directly into SpinupWP. This makes spinning up DigitalOcean servers via SpinupWP a breeze. Once you’ve added your DigitalOcean API credentials, you simply select the server size and region, and SpinupWP handles the rest without you having to leave the SpinupWP control panel.
Amazon Web Services (AWS) and Amazon Lightsail
AWS provides a complete spectrum of cloud services (over 165 at the time of writing) which are all managed via their AWS console. Unlike the other providers, AWS isn’t designed with simplicity in mind and the AWS console can be an overwhelming experience. Pricing is also more obscure as services are billed by the hour or usage (depending on the service). The fact that AWS has both a certification program and a pricing calculator should give you an idea of the complexities involved.
In the AWS ecosystem, virtual servers are known as Elastic Compute Cloud (EC2) instances and require quite a bit of additional configuration to get up and running.
Enter Amazon Lightsail, which can be considered a friendly UI wrapper around some of their more commonly used services. Amazon Lightsail makes it super simple to deploy cloud servers, similar to DigitalOcean. Pricing is also simplified, allowing you to see the monthly cost for each server.
Although adding an AWS EC2 or Amazon Lightsail instance to SpinupWP isn’t quite as streamlined as DigitalOcean, it’s still possible. Simply enter your instance IP address, username, and select an authentication method. Need more help? Check out our Amazon Lightsail doc.
Google Cloud is similar to AWS in the fact that they offer a full range of cloud products. Although Google Cloud isn’t as straightforward as either DigitalOcean or Amazon Lightsail, it is more user friendly than deploying AWS EC2 instances. However, where Google Cloud falls short is pricing. Not only is the pricing on Google Cloud much higher than the other services, but it’s also less transparent. You’ll need to rely on the price estimate when deploying a VM instance.
Similar to Amazon Lightsail, Google Cloud VM instances can be added to SpinupWP by providing the relevant connection details to the instance. Need more help? Check out our Google Cloud doc.
Like DigitalOcean, Linode is aimed at developers looking to simplify their cloud infrastructure.
Simplify your cloud infrastructure with our Linux virtual machines and robust set of tools to develop, deploy, and scale your modern applications faster and easier.
Linode hit the market a few years before DigitalOcean and gained a strong following, likely due to little competition and its excellent resources and guides. However, their control panel didn’t receive much love over the years, and it quickly fell behind DigitalOcean in terms of design and ease of use. Over the last few years they’ve slowly rolled out their newer more modern cloud manager, but it’s still somewhat behind DigitalOcean.
That said, Linode is still a great provider, offering reasonably priced servers and transparent pricing. Just don’t expect the same level of polish as DigitalOcean when navigating their cloud manager.
Linode servers can also be added to SpinupWP. Need more help? Check out our How to Install WordPress on Linode doc.
Vultr is a relatively new VPS provider compared to the competition, but they’ve become a popular option over the last few years. Their control panel is on-par with DigitalOcean, and their high frequency compute instances are excellent considering their price to performance (more on that below).
Similar to Linode, Vultr servers can be used with SpinupWP. Check out our How to Install WordPress on Vultr doc.
To benchmark the above server providers’ performance, I’m going to provision a server on each provider. As we’re using SpinupWP, all five servers will be tuned for WordPress, and all are running the same server stack:
- Ubuntu 20.04
- Nginx 1.18
- PHP 7.4
- MySQL 8.0
It’s time to perform some benchmarks! I’m going to create a single site on each server, which will be a clean install of WordPress running over HTTPS:
- WordPress 5.5.3
- Twenty Twenty 1.5
DNS for all five sites is hosted on Cloudflare with proxying disabled. The default PHP OPcache settings are in use, and a persistent object cache is configured. Each test will be performed five times and the average result of all five tests used for comparison. I’m using Loader to perform the benchmarks, which sends requests from N. Virginia. All of our test servers are located in US east data centers (excluding N. Virginia), which should create unbiased results.
This test simulates a burst of traffic hitting the site’s homepage when full page caching is enabled. We’ll send 50,000 clients to each site over a 30 second period and measure the average response time (lower is better). The cache has been pre-warmed (meaning all requests will hit the cached version).
This test simulates a more sustained load with page caching disabled, which will put much more strain on the server because Nginx, PHP, and MySQL will all be fighting for server resources. We’ll send 10,000 clients to each site over a 5-minute period and measure the average response time (again, lower is better).
The response times are much higher this time, which is to be expected as every request is having to query the database and render the page in PHP before it’s sent to the client. Linode response times were much slower than the other providers, so I re-performed the benchmarks the following day. However, the results were similar.
If hosting sites where page caching isn’t possible (think dynamic WordPress sites, such as BuddyPress or WooCommerce), we would recommend using a CPU-optimized server. As we’ve seen above, handling an uncached request is much more demanding when it comes to server resources due to the number of moving parts involved when handling an incoming request. CPU-optimized servers use high-performance hardware, meaning they’re able to handle requests more quickly.
All of the above providers offer a CPU-optimized server, except for Amazon Lightsail. However, AWS EC2 does have CPU-optimized servers available, so we’ll be comparing those in place of Amazon Lightsail. I’ve selected the following servers for comparison:
|DigitalOcean||4 GB||2 CPU||25 GB||$40/mo|
|AWS EC2||4 GB||2 CPU||80 GB||$47.42/mo*|
|Google Cloud||8 GB||2 CPU||80 GB||$59.93/mo*|
|Linode||4 GB||2 CPU||80 GB||$30/mo|
|Vultr||4 GB||2 CPU||128 GB||$24/mo|
*AWS EC2 and Google Cloud prices are estimated using their pricing calculators.
We’ll be using the same test as we did for uncached performance, which sends 10,000 clients to each site over 5 minutes and measures the average response time (again, lower is better).
I’ve always been a huge advocate of DigitalOcean (and I still am). I love the approach they’ve taken over the years to simplify deploying cloud servers for developers like myself. Not only that, but I’ve always found their pricing both fair and easy to understand. I hope they continue to refine the cloud experience for us, non-DevOps folks. If you’re looking for the most straightforward server provider to use with SpinupWP, then look no further than DigitalOcean. Like AWS and Google Cloud, they’re expanding into other cloud services and have recently launched managed databases and virtual private clouds. I’m excited to see how they continue to simplify the cloud experience.
Until the launch of Amazon Lightsail I’d always shied away from using AWS for anything other than S3 and Cloudfront. The sheer volume of AWS services alone makes it difficult to know what service to use for a specific use case. Coupled with the complicated UI and pricing, AWS has never been my goto solution for cloud servers. However, Amazon Lightsail is a massive step in the right direction. Although the UI and UX aren’t quite on par with DigitalOcean or Vultr, it’s considerably better than deploying EC2 instances via the AWS console.
Although I’ve been using DigitalOcean for a few years now, maybe it’s time to take Vultr for a spin the next time I need a cloud server. Their UI and UX are on-par with DigitalOcean, and their high frequency compute instances offer unparalleled performance for the price. What cloud provider do you use for hosting WordPress? Let us know in the comments below.