Cloud computing has changed the way that businesses think about their IT infrastructure. No longer do you need to invest in expensive hardware or maintain your own server rooms. You can now have access to computing power and storage as and when you need, thanks to cloud services.

There are two dominant players in the cloud computing game: Amazon and Microsoft. We're comparing them in this epic showdown between Amazon Web Services (AWS) and Microsoft Azure to find out which cloud service is the best.

AWS vs. Microsoft Azure: Storage

You can't have cloud computing services without storage solutions in mind. Let's run through what cloud storage solutions Amazon and Microsoft have to offer.

Amazon Web Services

There are no less than nine different storage products on offer from Amazon. Amazon Simple Storage Service (S3) is the most flexible storage solution. It can be used as the storage for cloud-based apps, disaster recovery, media hosting, or as a plain-old cloud store for your files. You could use an S3 store as a back up for your Linux devices, for instance.

If you're looking for a low-cost solution for your backups (and to use with AWS Backup), then Amazon S3 Glacier is a better option. You sacrifice regular access for a lower storage fee. The retrieval fees differ depending on how quickly you want to access your data.

There are some more specialist storage products on offer from Amazon, like Cloud Data Migration Services, which will securely move files between other AWS storage services or from an external provider. Other products like Amazon FSx or Elastic File System will give you optimized storage for your specialist cloud projects, like machine learning applications or enterprise databases.

Microsoft Azure

In a direct Azure vs. AWS comparison, Azure Blob is a lot like Amazon S3. It's structured a little differently, however. Azure Blob comes in three flavors---Hot, Cool, and Archive.

Blob Hot is for general purpose storage, intended for frequent access. Blob Cool is optimized to store data you might storage for a long-term---at least 30 days. Amazon's S3 Infrequent Access product has a minimum storage period of at least 30 days.

There are no prizes for guessing that Blob Archive is Microsoft's archiving storage product. It's the best option for data you need to store long-term. Azure Archive has a minimum storage duration of 180 days, which is twice as long as the 90-day minimum for Amazon Glacier.

Microsoft also offers Azure Backup, a service intended for backing up and restoring your data in the cloud, storing data in "Recovery Services vaults" which you can access from the Azure Portal. If you want to mount your cloud storage like you would a network drive, Azure Files should cover your requirements.

There's also Azure Disk, Microsoft storage products for virtual machines. Azure Disk is useful for specialist operations you might have involving high-performance computing, similar to Amazon FSx.

AWS vs. Microsoft Azure: Computing Power

Both cloud computing services have an impressive array of products offering the widest selection of compute power for customers, whether it's to host a simple web server or an enterprise database cluster.

Amazon Web Services

Amazon's flagship compute offering is Elastic Compute Cloud (EC2), which offers scalable virtual machines using pre-provided Amazon Machine Images. Each AMI is a virtual machine you can run, including an operating system like Linux or Windows and any extra software you might need.

You can set up automated scaling of your AMIs, so you'll never run out of the system resources you need. Amazon offers hundreds of different variations of EC2 for you to try. They range from the general purpose and cheap to the niche and expensive.

To give you an idea of the range, you could spin up an "a1.medium" EC2 instance with 1 virtual CPU and 2GB of RAM. Alternatively, you could go for an "r5ad.24.xlarge" memory-optimized EC2 instance with 96 virtual CPUs and 768GB of RAM.

The choice is yours---the flexibility means that it's unlikely that you won't find an EC2 instance that isn't ideally matched to your needs. While you can switch between instance types, you can't customize them (for example, by increasing RAM on an "a1.medium" EC2 instance from 2GB to 4GB).

Microsoft Azure

Microsoft's compute instances are simply called Virtual Machines, and you can opt to run either Linux or Windows.

Looking at Azure vs. AWS, Azure's Virtual Machines are categorized in a similar way to AWS EC2 instances. They come with optimized alternatives for your specific storage, memory, and GPU requirements. If you need to render a lot of 4K videos, for instance, you might rent a GPU-optimized Azure NV instance. These come with 24 virtual CPUs, 224GB RAM, and 4 GPUs with 48GB graphics RAM each.

For standard users, the Azure B-series will cover you. B-series VMs come with virtual CPUs ranging from one to 20 virtual CPUs, and RAM ranging from 0.5GB to 80GB. Like AWS, while you can switch between instance types, you can't customize them. You have to choose from the pre-set configurations already available.

Microsoft also offers the Azure Kubernetes Service (AKS) to make it easy to deploy containers using the Kubernetes management tool. If you've got complex web apps you need to quickly deploy, AKS can get you up and running quickly.

AWS vs. Microsoft Azure: Pricing and Value

AWS Pricing Options

The biggest decision in choosing a cloud service could be the price.  Unfortunately, there are thousands of different product variations, with everything from location to resource allocation having an impact on pricing.

Let's look at things more generally, covering some of the most common services, whether you choose AWS or Azure.

Amazon Web Services

Starting with Amazon, there are a few different pricing models for AWS, which can affect the price you pay. You can pay less for resource usage, how often you access your data, and how much data you use. You can also receive discounts for paying in advance, rather than paying for your use on-demand.

Prices are usually displayed per-hour or per-GB. Amazon S3 Standard storage, for instance, is $0.023 per GB for the first 50TB, compared to $0.00099 per GB for Amazon Glacier. If you wanted to rent an EC2 instance, you're billed per second. A reasonably powered "t2.medium" instance, with 2 virtual CPUs and 2GB RAM running Linux, would cost around $0.046/hour, or around $33.97/month.

The good news is you can try some AWS products out for free. New customers can receive 12 months free use of a general-purpose EC2 "t2.micro" instance,  with one virtual CPU and 1GB RAM.

Amazon's AWS simple monthly calculator can give you a clear, up-to-date estimate of the monthly fee you might pay for any AWS service.

Microsoft Azure

Like AWS, Microsoft also offers 12 months free to trial certain Azure services. You also get $200 credit to try any service for 30 days.

You're also charged by the second for the services you use unless you're prepared to pay upfront for one to three years, for a large discount. In a like-for-like comparison, while a "t2.medium" AWS instance cost $0.046/hour, a similar Azure "B1MS" instance (with 2 virtual CPUs and 4GB RAM) costs $0.04/hour, or around $30.36/month.

If you want scalable storage using Azure Blobs, it'll cost you from $0.0208 per GB for Blob Hot, down to $0.0010 per GB for Archive. You may also have to pay extra for your data access, such as a $0.02 per GB data retrieval cost for Archive storage.

You can find specific costs for individual packages using the Microsoft Azure pricing calculator.

AWS vs. Microsoft Azure: The Winner Is...

The short and honest answer, based on the criteria we've looked at, is that there is no clear winner. Both services offer similar features and performance. Although Amazon pioneered cloud services, Microsoft has done a good job of catching up in recent years. If the price is your biggest concern, Azure is slightly cheaper per-hour when you look at Azure vs. AWS directly.

You've also got Google using their vast resources trying to compete in the same market, with customizable virtual machines and an impressive $300 in free credit for new users. Of course, you might want to build your own cloud storage with a Raspberry Pi if you'd rather go for the DIY approach instead.