Finding the best cloud provider for your business can be a real challenge, especially with all the options available in 2016. That’s why we have decided to write up a detailed comparison between the top 5 cloud providers of today: Amazon Web Services, DigitalOcean, Microsoft Azure, Vultr, and Linode.
*note: CPU and response time data measured by VPSbenchmarks.com
But first, lets start with a bit of history:
Released in 2010 as Windows Azure. Renamed to Microsoft Azure in 2014. Second largest IaaS provide in the world next to Amazon Web Services.
Linode was founded in 2003. It remains privately owned company by its founder and employees. As once their CEO stated – Linode is the only cloud provider 100% owned by developers. The company transitioned from UML to Xen virtualization in 2008 and then to KVM in 2015.
DigitalOcean was founded in 2011. It is backed by Andreessen Horowitz and several other investment firms with $123.2 million in funding. As of the beginning of 2016, DigitalOcean is the second largest web hosting provider (according to Netcraft).
Vultr was founded in 2014 as a child company of Choopa, LLC. Offers very simple implementation of a cloud infrastructure and high performance.
Amazon Web Services
AWS is a subsidiary of Amazon.com. It offers more than 70 services worldwide, providing massive computing power faster and cheaper than it would be for a client company to build their own server farm. Largest cloud provider in the world at the moment.
We have compared the low-cost plans, which are the most popular choice among independent web developers.
As you can see, there are some differences in cost, disk space and data transfer limit between these cloud providers. Now let’s check other features:
The first thing everyone probably noticed is the lack of DDoS protection. Why are cloud providers not addressing this issue?
The answer is simple – they don’t need to. It’s not a part of their business model. Far more money can be made from keeping the systems up and running than from building a DDoS mitigation solution. Some providers recommend CloudFlare protection. Others, like Microsoft Azure, have DDoS defense system for protection of the platform services. It uses standard techniques such as connection limits, rate limiting, and SYN cookies. It’s far from perfect, but it’s way better than nothing.
Here we have the average CPU utilization to give us a general idea of virtual CPU performance for each VPS provider. In this particular test, Microsoft Azure performed the worst, with Linode having the best performance. Sadly, this was expected from Microsoft Azure, because it holds a reputation for being slow and expensive. Also, just to be clear, we couldn’t possibly say that any of these servers is performing poorly.
This picture shows the average response time for page requests on each cloud provider. Response time is a crucial metric for web servers. Slower response time means that the users will have to wait longer and that results in lower conversions. If your web page loads in 3 seconds (just a second slower than average), you’ll experience a conversion drop of 7% per year.
In our case, Microsoft Azure didn’t perform well in comparison to the others, but that is only because other provider’s performance was exceptional. Response times below 200 milliseconds are typically considered excellent. AWS response time is really outstanding.
Migration and Scaling
AWS auto scaling helps users to scale Amazon EC2 capacity up or down according to the predefined conditions. This ensures that the number of EC2 instances is increased during demand spikes and reduced during lulls to reduce expenses. When it comes to migration, AWS Database Migration Service is a reliable solution, cheap and they guarantee migration with basically no downtime.
Microsoft Azure works a bit differently from the other cloud providers. By changing the performance level, a replica of the original database is created on the new level and then connections are switched to the replica. The downtime caused by the switch is typically under 4 seconds. In some cases, downtime could be longer. Migration is conducted in the same way as scaling, with the creation of replica.
With Linode, scaling can be done in just a few clicks on the control panel. Migrating to another datacenter, on the other hand, must be done via support ticket. Although the response time is typically very good, this still can be a problem.
One-click scaling is also possible with DigitalOcean. But, there are certain limitations: only scaling up is allowed, and only CPU and RAM can be resized, the storage capacity stays the same. Migration is simple; the user has to make a snapshot and restore it.
VULTR likewise allows one-click scaling of the nodes. Everything else is done through making and restoring snapshots. Snapshots can be only restored to equal or bigger disks, which forces the users only to scale up.
AWS supports 64bit operating systems, including Ubuntu Linux and Amazon distributions. It also supports Microsoft Windows Server.
Microsoft Azure supports Windows Server 2008 and 2012, SQL Server 2008 and 2012, Share point 2010, BizTalk 2010 and 2012. On the Linux side, it supports CentOS, OpenSUSE, SUSE Linux Enterprise Server and Ubuntu. Only 64bit versions of operating systems are supported. Also, Microsoft has recently crafted a switch OS on Debian Linux called SONiC. SONiC is a toolkit containing kernel and code patches used to bend switch hardware as needed, allowing users to dictate how it works, instead of relying on firmware from traditional vendors.
Linode provides latest Linux distributions – Arch Linux, CentOS, Fedora, Debian, openSUSE, Gentoo, Ubuntu, and Slackware. Also, 32bit systems are no longer supported. So, if your apps have 32bit dependencies, don’t run them on Linode.
DigitalOcean offers fewer distributions – Debian, CentOS, CoreOS, and Ubuntu. Each distribution has multiple versions available and 32bit systems as well. Also, DigitalOcean provides a few stock applications for each system that can be deployed and used immediately.
VULTR’s Linux system stock is limited to CentOS, Ubuntu, and Debian. But they are making up for it by providing FreeBSD and Windows Server 2012. Naturally, Windows nodes cost more. VULTR’s Windows Server 1GB plan costs $25 instead of $10. Also, VULTR allows users to use their ISO and install operating systems at will. This includes standard installations instead of replicating the image to the node, meaning that users have actually to sit and watch as the operating system is being installed.
AWS offers quality support considering how large they are and how many customers they support, but they do charge up to 10% of your monthly bill just to have access which can be thousands of dollars for larger companies.
Some users have complained that Vultr support is slow and lags behind competitors, but their servers generally perform at a very high level which means support requests are few and far between.
DigitalOcean has a very large library of documentation available to customers but support response times can be slow, likely due to their tremendous growth and the sheer number of customers they have brought on in the past few years. They do not offer support over the phone.
Linode users generally praise their customer support and rank it higher than most other cloud providers on the market.
In summary, there’s something for everyone:
- If you are looking for massive scale and the broadest feature set on the market, go with AWS.
- If you like high performance servers and simple hourly billing, use Vultr.
- If you need to host Windows VPS, and you feel better knowing that you’re safe from DDoS attacks, use Microsoft Azure.
- If you want to be able to spin up instances quickly and easily and don’t need all the bells and whistles, use DigitalOcean.
- If you want large scale at a low cost without the all the complexity, use Linode.
Don’t forget to share your own experiences in the comments!