December 21, 2017
4 minute read
Amazon’s AWS and Microsoft’s Azure are the big boys of the cloud computing world, even though AWS is much bigger than Azure. How much bigger? Well, AWS’s server capacity is about 6 times larger than the next 12 competitors combined.
The cloud-hosting industry operates on razor-thin margins, making the bulk of their profits from volume. It is thus imperative to capture as much market share as possible. One of the main ways the tech giants (Amazon, Microsoft, Google) achieve this is by regular price cuts of their offerings, especially the all-important compute-storage combo. This has resulted in vicious, headline-news price reduction wars between these companies, which is good for the rest of us users.
What They Are
Amazon’s AWS is really an umbrella offering that includes various branded IaaS and PaaS solutions. The largest and best-known of these is the EC2 IaaS solution. Others are:
Amazon owns the largest data centers in the world. They are located in 9 regions around the world: 3 in the US and 6 scattered strategically around the globe. A tenth one is coming up in China exclusively for that market and will be completely isolated from the others to placate Chinese concerns about US government spying, which have of course been heightened following the Edward Snowden revelations. In 2013 Amazon also won a coveted contract to create GovCloud, a private cloud expressly for the U.S. government. Because of Amazon's dominance in the cloud services market, we've created a 2-part post on using UpGuard with Amazon AWS EC2, so be sure to check it out.
Azure isn’t anywhere near the size of AWS, but Microsoft has been working hard to match Amazon’s services and flexibility. For example in early 2014 Azure begun offering the data storage redundancy across data center regions – a feature dubbed Zone Redundant Storage (ZRS). It also introduced a new ‘Basic’ service level that removes auto-scaling and load balancing for those clients who don’t require such services, such as those running test environments and batch processing applications. For Windows-centric development or hosting, Azure offers slightly better options – Visual Studio, .NET and Windows programming languages such as VB and Visual C++ are all fully supported and well integrated.
On the other hand, Azure also suffers because of Microsoft’s sometimes non-standard quirks. This is especially true for Internet Explorer and the problems it causes web developers. Others are problems with the Web Roles feature (equivalent to AWS’s Elastic Beanstalk) and Microsoft’s own Silverlight interface, which sometimes has interoperability problems with several browsers.
Pricing & Performance
Pricing for cloud services is notorious for its difficulty when trying to do an apples-to-apples comparison. The reason for this is the differences in configuration and measuring of computing units, not to mention the differences in the myriad services offered – compute, storage, database, traffic and so on.
As an estimation, an AWS m3.large instance (21 CPU, 3.75 GB memory) costs $0.133/hour. The closest equivalent on Microsoft is the Medium VM (2 x 1.6GHz CPU, 3.5GB RAM) and costs $0.45/hour. Despite the tit-for-tat price cuts, Azure still seems to be more expensive than AWS for computing, but the former also offers good discounts for upfront, long-term payments.
The same comparison difficulty also affects performance, though to a lesser extent. Performance comparison is also significantly affected by the location of the vendor’s nearest data center in relation to the tester. This is good news for Amazon with its several strategically placed data centers worldwide and especially in North America. Read a more in depth performance comparison here. Building secure assets in the cloud requires careful configuration. One wrong setting can lead to a cloud leak of sensitive information.
And for an overview and comparison of cloud service providers, check out our cloud service provider roundup, or brave the tarpits as we test AWS permissions programatically and encounter some strange behavior.