Clearly, a key debate facing any potential business cloud user is Amazon AWS vs. Microsoft Azure. These two behemoths are clearly the top contenders for cloud dominance.
With HP recently closing down its Helion cloud service, a few things became rather clear: it's really hard to establish a cloud service in 2015, and Gartner was right when it put Amazon AWS and Microsoft Azure at the top of its Cloud Infrastructure-as-a-Service (IaaS) Magic Quadrant. Gartner, in essence, clearly defined the top business choices as AWS vs. Azure.
Amazon was first to the cloud, an unlikely leader given its specialty is e-commerce. But it had a lot of provisioned compute power sitting around idle, so it set up the EC2 service initially as a place for developers to rapidly set up a virtual machine to do some work when their own enterprise was dragging its feet in provisioning some compute resources. Very quickly, AWS grew into a monster and is projected to bring in more than $7 billion in 2015.
Microsoft came late because it took former CEO Steve Ballmer time to get cloud religion, and his replacement Satya Nadella is working very hard to make up for lost time. And seems to be doing just that, making up for lost time. Microsoft's annualized revenue run rate for its cloud business is $8.2 billion, and the company is on track to reach $20 billion by fiscal year 2018.
The issues of AWS vs. Azure is far from simple – there are pluses and minuses to both cloud vendors. Azure is great if you are all-in for Microsoft. But Gartner says AWS has 10 times the compute capacity of its next 14 competitors, and that includes Azure. These kinds of contrasts are seen up and down the comparison list for the two firms, as you will see.
Both services offer free trials for testing their products. AWS has three models, all of which are charged by the hour, rounding up. There is On-Demand, where customers pay for what they use without any upfront cost; Reserved, where customers reserve an instance for up to three years with an up-front cost; and Spot, where customers pay for extra capacity when needed. It also recently added EC2 Dedicated Hosts, where CPU, memory and storage can be assigned to a customer and fully dedicated to their use.
Azure has two models, On-Demand and Short-term Commitment, both of which it charges on a pre-paid or monthly rate, with the minutes rounded up. Azure also offers short-term commitments with discounts.
Both companies have price comparison calculators, and here the edge goes to Microsoft because it has a more streamlined offering. Amazon has the Simple Monthly Calculator that lets you determine your monthly or annual fees from a variety of services, while Microsoft has the Azure Pricing Calculator. Both are fairly complex, Microsoft less so because it has fewer offerings to choose from.
Amazon's Elastic Compute Cloud(EC2) is its core compute service, which Amazon started out with along with its storage service (S3). EC2 is built on virtual machines that allow the user to select the size, power, memory capacity, and number of VMs. It has preconfigured templates for instances for different server types, secure login and firewalls and persistent storage.
While Amazon led with computing, Microsoft's compute service didn't launch until May 2013. It consists of several services: Virtual Machines lets users provision Windows and Linux virtual machines and applications; Cloud Services is for developers to write scalable cloud applications in Java, PHP, Python, .Net and Ruby; Batch allows running large-scale parallel and batch compute jobs; RemoteApp deploy Windows client apps in the cloud which can then be pushed out to clients.
Amazon Relational Database Service (RDS) gives a healthy selection of choices, including Amazon Aurora, Oracle, Microsoft SQL Server, PostgreSQL, MySQL and MariaDB. Microsoft offers Azure Database, which is built on the SQL Server 2014 on-premises database, but running in the cloud. It also offers HDInsight for Data Lake pools in Big Data, DocumentDB for NoSQL, a SQL data warehouse, and StorSimple, a hybrid storage service.
For storage, AWS is built on its Simple Storage Service (S3) and adds features like Elastic Block Storage (EBS), Elastic File System (EFS), Import/Export Snowball service for transferring large volumes of data, the Glacier archival backup service and Storage Gateway, which works with on-premises environments.
Microsoft’s offerings include its core Azure Storage service, temporary storage through D drive, page blobs through Azure Blob block storage, Block Blobs and Files serve for Object Storage, DyanmoDB for NoSQL database support and Big Data storage via Windows Azure Table and HDInsight.
In addition to letting you move your apps to their cloud, or build them in a variety of languages, Amazon supports the enterprise applications of three major vendors: Microsoft, Oracle, and SAP. This is interesting given Microsoft and Oracle are both making cloud offerings for their own apps.
Microsoft has done quite a bit of work to get its on-premises apps onto Azure Active Directory. You get Office 365, Microsoft Dynamics CRM, BizTalk, Sharepoint, Exchange, and SQL Server. In addition, Microsoft has cozied up to Salesforce, making its apps and platform available, plus Citrix and Box. And Azure Active Directory can be integrated with an enterprise's on-premises Active Directory network to extend local directories to the cloud.
Containers are the hot new technology because they allow developers to spin up a small virtual system without the overhead of a virtual machine. Containers are much smaller and only use the resources they need. However, Containers have been primarily a Linux phenomenon that has slowly migrated to Windows, which gives Amazon an advantage.
However, that does not mean Azure is a Docker-free zone. Quite the contrary. Microsoft worked with Docker and Mesosphere to create a container scheduling and orchestration service called the Azure Container Service. It will also come native in the Windows Server 2016 operating system next year.
Azure Container Service uses Mesosphere's Datacenter Operating System (DCOS), which allows users to manage virtualized or non-virtualized datacenters as if they were a single, massive machine by making the servers appear as a single elastic pool of resources. So slowly Microsoft is closing the gap in container/Docker offerings.
Both AWS and Azure are well-protected, as you would expect given they are both being charged with sensitive business data and information. Since Amazon's offerings are more mature, they have more overall security modes.
AWS EC2 has multilevel security at the host operating system, virtual instances, virtual guest OS, firewalls and app-level API calls. The Xen hypervisor has different layers of privilege for the host and guest OS as well as the apps. It has isolation of instances to prevent data conflicts, and in the process does system checks while moving virtual data on a machine. And by default, all firewall ports are closed, so your apps function in a closed sandbox unless you open the ports.
Windows Azure security is hardly immature. It is built on Active Directory, which has been around since Windows 2000. It also offers isolation of the hypervisor, host OS, and guest virtual machines. The isolation of the virtual machines is critical for both security and sharing disk space safely so there isn't a conflict between two instances of the same data. All internal traffic in Azure is encrypted with SSL to protect it, and Azure offers certificates and private keys generated by a mechanism that is not available from the application code.
Have you had experience with the AWS or Azure cloud platforms? We welcome your Comments below.
Photo courtesy of Shutterstock.