As with the comparison between AWS and DigitalOcean, this is another example of a giant and a small player in the cloud computing arena. As with AWS, Azure offers a breadth of features that you expect from an offering backed by a tech giant, whereas DigitalOcean's product is highly targeted.
First off, let’s begin by pointing out that it’s impossible to get a true apples-to-apples comparison between cloud service providers. There is usually a huge array of products on offer and some may be more useful than others–in fact, sometimes the absence of features makes a provider more usable for small devs than a sprawling competitor. So just because a provider is missing some features, doesn’t necessarily mean it is inferior. Next, comparing the performance of virtual instances is difficult because it is almost impossible to get perfectly identical instances on any two providers. Moreover, throughput and performance are also affected by how physically close you are to the cloud vendor’s nearest data center; in fact research shows that “cloud-based applications will run as much as 20% more efficiently when data is located close by.” And lastly, cloud computing prices change so frequently that a price comparison will likely be obsolete in a few months’ time anyway (which is a good reason to look at the references at the bottom of this article to check if the information given herein has been updated). That said, there is still useful information to be gleaned by comparing different cloud providers; today we look at Microsoft’s Azure and DigitalOcean.
DigitalOcean is a newish contender (launched in 2011) in the increasingly crowded cloud computing market. The company differentiates its offering by going after a very specific niche: IaaS for Linux developers. It only offers no-frills Linux instances, called droplets, for the most commonly used Linux flavors: Ubuntu, CentOS, Debian and Fedora. The company currently has 9 data centers located in Amsterdam, London, New York, San Francisco and Singapore. It has received significant media coverage following pop star Beyonce’s decision to host her album on their servers in 2013.
Azure is a Microsoft product, so of course it has excellent integration with other Windows and other Microsoft products like Active Directory, SQL Server, .NET and others. But Azure also offers an impressive array of non-Microsoft platforms such as Linux instances, Hadoop databases, Git, Mercurial.
Although it’s a fairly new company, DigitalOcean’s pricing is already legendary. They offer staggeringly low prices, even amid the pricing war between between Amazon, Microsoft, and Google. The prices are very affordable even for small developers. And they don’t sneak in hidden charges for add-ons like more traffic and fixed IP addresses. Pricing starts at $0.007/hour or $5/month and the DigitalOcean website provides a refreshingly straightforward pricing structure, complete with a nifty slider for conversion between hourly and monthly pricing. Their most popular droplet (1GB memory, 1 core processor, 30GB SSD disk, 2TB transfer) costs $0.015/hour or $10/month. A high-end server instance (8GB memory, 4 cores, 80GB SSD disk) will cost $80/month.
Azure’s pricing is also competitive, thanks to the aforementioned price war. An Azure A0 Linux instance (0.75GB, 1 core, 20GB non-SSD disk) costs $0.02/hour or about $15/month, and a high-end D2 instance (7GB RAM, 2 cores, 100GB SSD disk) will run to $0.188/hour or $140/month. DigitalOcean can offer some significant price savings, especially for higher-end instances.
As mentioned previously, DigitalOcean has a very short feature list: an IaaS environment for Linux servers. That’s it: no load balancing, no clustering, no analytics add-ons. But even though the feature set is very limited horizontally, it is impressively deep. DigitialOcean offers useful features to go with your Linux setup, such as:
- One-click setup for various integrated applications such as Docker, Django, Drupal, LAMP, Node.js, and Ghost.
- A control panel to manage features like two-factor authentication, a good API, auto-backups and DNS management
- SSD-only disks in all instances. This is a major selling point and helps boost performance
- A 55-second provisioning limit for a new instance. Other cloud vendors do it in about 1-3 minutes
Azure on the other hand, is a full-featured cloud offering. In addition to Linux support, Azure also offers excellent integration with other Microsoft products. For example SQL Server 2012 and 2014 have the ability for you to deploy, save and backup your database directly to an Azure instance. It also boasts a large array of IaaS and PaaS features such as:
- Compute & Networking: VPN, dedicated Azure connectivity on fiber, traffic manager/ load balancing
- Data & Analytics: SQL database, Hadoop, cloud-based predictive analytics, a NoSQL database called DocumentDB
- Full cloud storage and backup
- Cloud-premises integration using BizTalk and Service Bus
- Active Directory integration
- SSD disk options for instances (which of course cost more)
We've tried to cover the most relevant differences. For a full feature comparison of DigitalOcean and Azure, check this out. Be sure to also read our cloud service provider roundup to get comparisons between leading cloud service providers, including Azure and DigitalOcean.
Performance of cloud vendors is done using a standard testsuite such as UnixBench to measure aspects like the CPU throughput, memory, disk performance and variability. This last one, variability, refers to the level of difference in performance of the same instance over a given sample period. It is important because high variability implies that the cloud vendor’s environment is highly, well, variable. This often results in annoying peaks and dips in observed performance of your cloud-based instance. Azure generally has a variability score of close to 0%, and DigitialOcean about 4-12%.
Azure performance is generally outstanding. With Unixbench scores usually in ranging from 1300-1500, it is consistently rated by independent testers as the best among the large cloud providers. DigitalOcean also boasts very good scores ranging between 800-1500 for various configurations, although with a higher variability rate. And the ultra-fast SSD disks of DigitalOcean instances are of course playing a significant role in achieving these high scores.
DigitalOcean isn’t really a true competitor to Azure. What DigitalOcean offers is a highly specialized and detailed service to a very specific market, sort of what a brain surgeon does. Azure on the other hand is a broad offering catering to a wide array of cloud-based needs. You could compare Azure to a doctor on call in a hospital who attends to everything - cuts and bruises, colds, broken bones, asthma attacks, and so on. He may have a great deal of knowledge in several areas, but this also means he cannot go deep into studying and specializing in any one particular area.
If you are looking for an affordable Linux server with support only for a few well-known tools, and you don’t require other add-ons like load balancing and NoSQL databases and cloud analytics, then DigitalOcean may be a good fit. But if you are hosting your apps or environment on Windows, Unix or MacOS then it’s out of contention. Azure can give you excellent integration with Windows and other environments, and it also offers a plethora of many other tools and services to enhance your cloud hosting experience. Just be aware that it will probably cost you a bit more than DigitalOcean.
MySQL and MongoDB represent two sides of an argument that has been raging recently concerning data storage – the tried and tested relational database vs. non-relational or NoSQL database.
Read Article >
So, Puppet or Chef? They both have evolved significantly since we covered them last—suffice to say, we’re long overdue in revisiting these two heavy-hitters.
Read Article >