Amazon’s Amazon Web Services (AWS) has ruled public cloud computing for nearly 12 years. From a Gartner report, their server capacity is a staggering 10 times higher than that of their 14 closest cloud competitors combined. Microsoft-led Azure, which launched in 2010, is doing all it can to catch up, however. It managed to lower AWS’ market share from 68 to 62 percent in the fourth quarter – a decidedly impressive feat.
Both AWS and Azure are backed by companies with deep pockets that have experienced developers. Each offers outstanding software as a service (SaaS) and infrastructure as a service (IaaS) features. If you have to choose between them, which one should you pick? To help you decide, we present an unbiased comparison between AWS and Azure.
AWS classifies its services into four groups:
- Content delivery and storage
Regardless of the service, you will be protected by Amazon’s security and identity services. These include Active Directory, AWS Certificate Manager, AWS CloudHSM, and AWS Identity and Access Management. They handle everything from SSL/TLS certification to cloud key storage, and you can observe the infrastructure through Amazon CloudWatch. AWS Config allows you to monitor your inventory, while AWS CloudTrail tracks user activity.
Azure categorizes its offerings slightly differently:
- Data management and databases
Your infrastructure is protected by a combination of services, mainly Active Directory Federation Services, Multi-Factor Authentication, Azure Active Directory, and a role-based access system. You have complete control over who has access to the server and can review your infrastructure through several basic monitoring tools or even third-party software. The built-in tools include Azure Monitor, Advisor, Service Health, Management Solutions, Log Analytics, and Application Insights.
Is there a standout performer between AWS and Azure? The answer is no. They both offer outstanding performance because they use similar world-class servers. Does that mean you can go with either one? The answer is that it depends on your needs.
If you use AWS, you will rent an Elastic Compute Cloud (EC2) instance. There are various instance types, depending on how much “horsepower” you need. T2 is an entry-level testing instance, for example, suitable for basic tasks. P2, on the other hand, is an instance that harnesses powerful GPUs and processors to enable you to handle high-intensity functions like computational fluid dynamics and operating legacy-level databases.
If you choose Azure, you will rent a Virtual Machine (VM). Just like with AWS, your requirement determines the kind of VM you need. If you want something for general purposes, rent the A series. If you need something high-performance, go with the N or H series. The “N” stands for VMs with NVIDIA GPUs, and “H” is high-performance computing (HPC).
There is much competition in the cloud computing business, which keeps prices down. Both AWS and Azure provide a great cost-to-performance ratio. Which one is cheaper? Again, it depends on your needs.
To rent the AWS T2 unlimited instance, which offers burst CPU performance during times of high workload, you pay $0.05 per vCPU hour for Linux and $0.096 per vCPU hour for Windows. For a 1GB RAM B-Series Azure setup, you spend an estimated $0.72 per hour.
It is hard to compare costs directly, however, because the capacities for the servers differ. In the examples above, Azure is more powerful and has no limits on usage. With AWS, usage is limited. It depends on the infrastructure and the way the app is configured.
Both AWS and Azure provide extensive free trials, so you do not have to commit to either one unless you like the service.
Renting resources from AWS and Azure for any large-scale operation costs a lot of money, so it is essential to track expenses. Both AWS and Azure have expense-tracking features built-in. They also allow you to save money by “switching off” resources that you aren’t using at that moment.
With AWS, you monitor your expenses using the Billing and Cost Management menu. This dashboard includes information about your Spend Summary, Month-to-Date Spend by Service, and Month-to-Date Top Services by Spend. You track costs for your entire account.
With Azure, you monitor expenses for subscriptions. The more the subscriptions you have, the more the expense reports, which can be a little confusing because you typically have several at any given time. You can generate automatic billing alerts, however, to ensure that you do not overshoot your budget. With Microsoft’s acquisition of Cloudyn, now named Cost Management, it is even easier to track costs.
AWS offers customization and power. It has support for many third-party applications and enjoys a great relationship with the Open Source market. With an enormous array of features and capabilities comes a big learning curve, however. AWS is user-friendly and streamlined, but it takes getting used to.
If you are used to Windows-based PCs or other Microsoft tools, you will find the Azure interface familiar and comforting. There is a learning curve involved, of course, but Microsoft has done an excellent job with the interface. It is both intuitive and well-designed.
Hybrid cloud support
Moving legacy applications to the cloud, as you may be aware, can be a nightmare. Most organizations do not want to spend the resources to develop new apps for the cloud from scratch. Hybrid cloud is a happy medium. The hybrid cloud model allows the use of a mixture of cloud and on-site resources as needed.
Amazon has long been a proponent of the “all Cloud or nothing” policy. It has changed its stance recently, however. They are now beginning to offer hybrid solutions like Storage Gateway, OpsWorks, and DynamoDB Local. Their offerings are not as extensive as Microsoft’s, but they are catching up quickly.
Azure offered hybrid services from the beginning, which gives it a distinct advantage in the hybrid niche. It offers compelling platforms and services like Azure StorSimple, Hybrid SQL Server, and Azure Stack as well as close integration of on-site servers with cloud-based ones at an affordable price.
Most developers love cloud computing. It enables them to focus on creating and running their app without having to worry about the server. AWS and Azure offer excellent platform as a server (PaaS) support. Microsoft has a slight edge because it has been in the app development business for decades. Azure is smooth and possibly more development-friendly than AWS, however.
With AWS, you can take advantage of app deployment, running, and scaling features like Container Service, Lambda, Batch, and Elastic Beanstalk. With Azure, you can use App Services, Service Fabric, Container Service, and Batch. Porting apps to these platforms is possible thanks to the software container support.
While AWS is the clear leader when it comes to market share, Azure is a worthy rival that several high-profile businesses, such as Johnson Controls and Hewlett Packard, swear by. It all depends on your requirements, budget, and personal preferences. Ultimately, there is no better one.