Web Development

AWS vs Azure for Business Web Applications

Amazon Web Services and Microsoft Azure are the two biggest cloud platforms for business applications. Here is how they compare for hosting web apps, and how to choose.

Quick answer: Both AWS and Azure can host business web applications reliably. AWS has the widest range of services, the largest community and the longest track record, which makes it a safe default for most new projects, especially those built on open source stacks like PHP, Node.js or Python. Azure is often the better fit if your business already relies on Microsoft: .NET applications, SQL Server, Active Directory or Office 365, and an existing Microsoft licensing agreement. For a typical web application, the decision usually comes down to your team’s skills and existing technology rather than raw capability.

Moving a business application to the cloud, or building a new one there, nearly always starts with this question. Google Cloud Platform is a growing third option, but for most businesses the shortlist is Amazon Web Services and Microsoft Azure. This guide compares them for the kind of web applications businesses commonly build: customer portals, internal tools, APIs and ecommerce systems.

A brief background

AWS launched its first major services, S3 storage and EC2 virtual servers, in 2006. It has been the market leader since, with a huge range of services and a large ecosystem of tools, consultants and documentation.

Azure launched as Windows Azure in 2010 and was renamed Microsoft Azure in 2014, reflecting broad support for Linux and open source technologies as well as Windows. It has grown quickly, helped by Microsoft’s existing relationships with businesses.

Hosting a web application

Virtual servers

  • AWS EC2 gives you virtual servers in a wide range of sizes, running Linux or Windows. You manage the operating system and software.
  • Azure Virtual Machines offer the same idea, again with Linux and Windows options.

Both are mature. Virtual servers give you full control but also full responsibility for patching, security and scaling.

Platform services

Most business web applications are better served by a platform service, where the provider manages servers and you deploy code.

  • AWS Elastic Beanstalk deploys applications written in PHP, Node.js, Python, Ruby, .NET, Go and Docker containers. It sets up EC2 servers, load balancing and auto scaling for you, while still letting you get at the underlying resources.
  • Azure App Service (formerly Azure Websites) hosts web apps, mobile backends and APIs, with strong support for .NET and also PHP, Node.js and Python. It includes deployment slots for staging, easy custom domains and SSL, and close integration with Visual Studio.

For a .NET team, App Service is particularly pleasant to work with. For teams using open source stacks, both work well, with Elastic Beanstalk slightly more established.

Serverless functions

  • AWS Lambda, launched in 2014, runs code in response to events or API requests without managing servers. Combined with AWS API Gateway, it can power whole APIs. You pay only for the time your code runs.
  • Azure Functions offers a similar model, but it is still in preview, so it is better suited to experiments than production systems at this stage.

If serverless is central to your plans, AWS is ahead for now.

Databases

  • AWS RDS provides managed MySQL, PostgreSQL, MariaDB, Oracle, SQL Server and Amazon Aurora, Amazon’s own MySQL-compatible database. Backups, patching and replication are handled for you.
  • Azure SQL Database is a managed version of SQL Server, very attractive to teams already using it. Azure also offers managed MySQL through partners and DocumentDB, a NoSQL document database.
  • AWS DynamoDB is Amazon’s NoSQL database, fast and scalable for suitable workloads.

If your application runs on SQL Server, Azure SQL Database is a strong reason to choose Azure. For MySQL or PostgreSQL, AWS RDS is the more mature choice.

Storage and content delivery

  • AWS S3 is the standard for file and media storage, with CloudFront as its content delivery network.
  • Azure Blob Storage with the Azure CDN offers equivalent capability.

Both are reliable and inexpensive for typical application needs, such as storing uploads and serving images.

Identity and Microsoft integration

This is where Azure stands out. Azure Active Directory connects with the directory many businesses already use for staff logins and with Office 365. If you are building an internal application or a portal where staff sign in with their existing work accounts, Azure makes this straightforward.

AWS can integrate with Active Directory too, through its Directory Service, but it is not as natural a fit for Microsoft-centred businesses.

Pricing

Both use pay-as-you-go pricing with discounts for committing to longer terms:

  • AWS offers Reserved Instances for EC2 and RDS, with savings for one or three year commitments, plus a free tier for new accounts.
  • Azure offers similar savings through longer commitments and can be bundled with Microsoft Enterprise Agreements. Businesses with existing Windows Server and SQL Server licences may be able to use them in Azure, which can reduce costs.

Comparing headline prices is difficult because instance types and services differ. The best approach is to estimate your actual architecture using each provider’s pricing calculator and compare the totals. Do not forget data transfer, storage, backups and support plans, which often add more than expected.

Regions and compliance

Both have data centres across North America, Europe and Asia Pacific, with more being added. If you need data to stay in a specific country for legal or contractual reasons, check that the provider has a suitable region and the compliance certifications you need. Both publish detailed compliance information.

Tools and developer experience

  • AWS has a large console, a command line tool, SDKs for many languages and CloudFormation for describing infrastructure as code. Its sheer number of services can feel overwhelming at first.
  • Azure has a newer web portal, PowerShell and command line tools, SDKs, and Resource Manager templates for infrastructure as code. Visual Studio integration is excellent for .NET developers.

Support and community

AWS has the larger community, more third party tutorials and more consultants who know it well. Azure has strong enterprise support, especially for organisations that already have Microsoft account managers. Both offer paid support plans with faster response times for production systems.

Which should you choose?

Choose AWS if

  • Your application uses PHP, Node.js, Python, Ruby or other open source stacks.
  • You want serverless functions in production now.
  • You value the widest choice of services and the biggest pool of people who know the platform.

Choose Azure if

  • Your application is built on .NET and SQL Server.
  • Your staff use Active Directory and Office 365, and the application needs to fit in.
  • You have Microsoft licensing that can reduce your cloud costs.

Either is fine if

  • You are building a straightforward web application with a relational database and file storage.
  • Your team is comfortable learning a new platform.

Avoiding lock-in

Whichever you pick, using provider-specific services ties you more closely to that platform. That is not always bad, since managed services save time and money. Just make conscious choices. Keeping your application code portable, using standard databases where possible and documenting your infrastructure makes a move later less painful. Our article on custom software vs off-the-shelf covers similar trade-offs in software choices generally.

FAQ

Is Azure only for Windows?

No. Azure supports Linux virtual machines, PHP, Node.js, Python and many open source tools, alongside Windows and .NET.

Which is cheaper, AWS or Azure?

It depends on your setup. Price your actual architecture on both, including storage, data transfer and support.

Can I move from one to the other later?

Yes, though it takes work. The more you rely on provider-specific services, the bigger the job.

Get the architecture right from the start

The right cloud platform depends on your application, your team and your existing systems. If you are planning a new web application or moving an existing one to the cloud, see how our custom development work can help.

About the author

Imran M

Leave a Reply

Your email address will not be published. Required fields are marked *

Ready to improve your website?

Let's build a faster, higher performing website.