Cloud Computing illustration

Amazon Web Services vs. Microsoft Azure: Which cloud is right for me?

If you don't want to operate the IT infrastructure for your application yourself, it makes sense to move it to the cloud. But then the question arises: which cloud platform is best for me?

Because if you want to develop or use a cloud application today, you are spoiled for choice: there are a whole range of cloud platforms. In this blog post, we take a closer look at two of them in particular: Amazon Web Services and Microsoft Azure. Depending on the project context, the question then arises: Which of the two cloud platforms is more suitable?
Both platforms are among the leading public cloud providers.

According to a survey by RightScale, this year approx. 61 % of the users surveyed used Amazon Web Services and approx. 52 % Microsoft Azure. This means that AWS is still the most frequently used cloud platform compared to the previous year, but Azure has been able to catch up.

Cloud computing models

Both platforms offer different cloud computing models:

  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)

IaaS describes the provision of IT infrastructure resources and usually provides access to network functions, computers and data storage. With IaaS, the user has the Most freedomsthe provider merely provides the service of virtualizing servers, storage or networks2.

According to an analysis by Statista, Amazon's market share of sales in the IaaS sector between 2016 and 2018 was significantly higher than that of other cloud providers.

With PaaS the entire Infrastructure providedoperating system and runtime environments. This means that management of the underlying infrastructure is no longer necessary.

SaaS goes one step further and offers a Complete applicationwhich is executed and managed by the provider. With SaaS, the user generally has no administrative rights and therefore cannot make any changes3.

PaaS for the in-house development of a cloud application

The cloud platform must be selected before you can start developing your application. An exception is when the cloud platform only provides the infrastructure without using AWS or Azure-specific functionalities. This means that IaaS Cloud computing model is a Switch to another cloud provider is usually not a problem. The disadvantage, however, is that you still have to manage the underlying infrastructure of your application yourself.

SaaS refers in most cases to End user applications. One example of this is web-based e-mail programs, where neither the infrastructure nor the functions of the e-mail program need to be managed.

If you want to develop a cloud application but have nothing to do with managing the underlying infrastructure, you can use PaaS as a cloud computing model. With PaaS, you generally only have to use the Applications and services manage, that you develop yourself. All other components are managed by the cloud provider.

But which provider should you choose? In order to make a decision, we first need an overview of the functionalities offered by each of the cloud platforms. So let's first take a closer look at the two platforms.

Amazon Web Services

Amazon Web Services (AWS) offers a global infrastructure and with 'Pay as you go' flexible cost accounting. All AWS offerings are billed according to consumptionprices vary depending on the service4.

The AWS resources can be Design flexibly. For example, server instances can be easily moved upwards. Scalewhen access to a web application increases. Such a Horizontal scaling with several parallel instances can also be automatically scaled down again when the load decreases. Amazon Web Services can handle Linux optimally, but you can also work with Windows in AWS.

Amazon's cloud computing platform is in Regions with different data centers to ensure the stability of the system and minimize the effects of downtime. By using multiple availability zones in a region, it is possible to minimize very Fail-safe systems with high fault tolerance and low latency as this provides multiple instances and replicates the data. The Amazon S3 service, for example, is designed to use all availability zones in a region, which means that an availability of 99.999999999 % can be achieved for this service5.

Also Hybrid cloud architectures are possible with AWS, which is a mix of cloud, on-premises data centers and edge locations6.

With AWS you have - depending on the use case - the Choice between different services. For example, the Amazon Elastic Compute Cloud (EC2), a virtual server that runs either a Linux or Windows server operating system. Amazon Simple Storage Service (S3) offers highly scalable storage resources on demand and provides different storage classes. AWS also offers both relational and non-relational databases. Amazon CloudFront is a global network service designed to accelerate the delivery of content such as websites, APIs or video content. AWS applications can be monitored with Amazon CloudWatch.

The service offers data and meaningful insights to monitor applicationsan overview of the Operating status and to maintain the Resource utilization to improve7.

Microsoft Azure

The Scalable cloud computing platform from Microsoft provides cloud services such as IaaS, PaaS and SaaS worldwide. The services are mainly aimed at Companies and developers. The aim of the platform is to provide users with a Flexible cloud infrastructure to make available the resources that quickly Individual requirements and can make the operation of your own IT infrastructure superfluous. Azure also offers numerous standard services such as virtual machines, SQL databases and VPN gateways8.

Microsoft operates data centers all over the world, which means that Azure Services can be used with a high availability can be used - regardless of where you are.

As can be seen in the diagram, Microsoft Azure is currently available in 54 regions. Due to the distributed data center structure, service level agreements are possible - depending on the respective Azure service - which Availabilities guarantee up to 99.9 percent ("availability class 3") or even 99.999 percent ("availability class 5")9.

Microsoft's cloud platform relies on hybrid technologies. This means that cloud services can be connected to local data centers and only some of the services, applications and data are moved to the cloud.

Other Microsoft products such as Active Directory, Exchange, SharePoint, SQL Server, Office 365, etc. can be easily integrated into the Azure Cloud. Azure's focus is on Windows, but Linux is also supported.

With Azure, you can also choose between a large number of different services choose. For example, Azure API apps, with which backend applications can be created and used quickly and easily. There are also Azure App Services to create powerful cloud applications for web and mobile devices. Managed database services are also provided for a whole range of different databases, e.g. the Azure Database for PostgreSQL or the Azure Database for MariaDB. Application Insights can be used to monitor Azure applications. The application performance monitoring tool helps to diagnose problems and understand how the respective app is used by the users.

Similarities and differences

AWS and Azure are similar in terms of standard functions. Both offer virtual computers, databases, networks and other cloud services. They provide functionalities from all three cloud computing models: IaaS, PaaS and SaaS.

Both providers also offer Serverless computing on. With these often also Function as a service (FaaS) products, the underlying server infrastructure is abstracted even further than with PaaS. These are short-lived runtime environments that are dynamically assigned and scaled by Amazon or Microsoft and can be used, for example, to execute backend processes in response to events or schedules11. On Amazon these are described as AWS Lambdas for Microsoft it is Azure Functions.

Both providers offer also solutions for application performance monitoringIoT applications, messaging services and mobile services. There are also services for authentication and authorization, encryption and the backup and restoration of data12.

Overall, both cloud platforms are based on a central group of compute, storage, database and network services. In most cases, both platforms are characterized by a Basic equivalence between the services offered.

In addition, both providers are continuously working on Optimization and expansion of their cloud services. The services are managed on both platforms via the respective web portals and CLIs.

The functionalities offered by AWS and Azure are very similar, However, the resources that provide these functionalities are often organized differently. Between the services offered by the two platforms, there is usually a no 1001TP3 match. In some cases, functionalities are combined in one service on one of the two platforms, while the other platform offers separate services for this purpose13].

The following table shows for example, a comparison between a range of AWS and Azure services:

Range AWS Azure Description
Compute - Virtual ServerElastic Compute Cloud instances (EC2)Azure Virtual MachinesThese are virtual servers that enable users to provide, manage and maintain operating system and server software.
Compute - ServerlessAWS LambdaAzure FunctionWith AWS Lambdas or Azure Functions, backend processes can be executed on the basis of short-lived runtime environments in response to events or schedules.
Database - NoSQL/DocumentDBAWS DynamoDB


AWS SimpleDB

Azure Cosmos DBThese are globally distributed multi-model databases.
DevOps and application monitoringCloudWatch


AWS X-Ray

 Azure MonitorThe services support the collection, analysis and processing of telemetry data.
Network - DNS managementRoute 53Azure DNS


Traffic Manager

These services can be used to host domain names and manage DNS entries.
Storage -Object memorySimple Storage Services (S3)Azure Blob StorageThese are object storage services that can be used to store and back up large volumes of data.

Conclusion

Which cloud provider is better suited, ultimately depends on the specific project and its requirements. That's why the first step in choosing the right cloud provider is to Analysis of your own requirements. The next step is to assess which provider is the best fit. We use both Amazon Web Services and Microsoft Azure in our projects.

Another variant is a Multi-cloud strategywhich means that several cloud platforms are used in parallel. The advantages of this are greater flexibility and less dependency on a specific cloud provider. The latter is discussed in the blog post "Preventing a vendor lock-in with cloud providers" in more detail. However, due to the greater complexity and higher costs, it must also be carefully weighed up whether a multi-cloud strategy makes sense for the respective use case.

Melanie Müller

About ME

All contributions from Melanie Müller

Learn more

Further information on our website and in our newsletter

Arrow up