Choosing a cloud provider can be difficult, with several options, each offering a wide variety of services. The two leading providers are Amazon AWS and Microsoft Azure, which combine for over 50% of the cloud provider market share. There are several others, but here we will focus on AWS & Azure. Each has its pros and cons, and both provide very similar services. Often, companies will deploy a multi-cloud approach and choose to host services with two or more providers. Ultimately, the choice depends on your company’s needs and personal preferences.
Amazon launched AWS in the summer of 2002, while Microsoft released Azure in 2008. Both started with few offerings and have been adding services at a rapid pace ever since. Below, we will highlight some standard services and how they differ between companies.
AWS – Virtual Private Network (VPC)
Azure – Virtual Network
Regardless of the provider you choose to utilize, before you do anything, you must set up a virtual network to deploy your resources. This is similar to a private network hosted in a data center but is virtual and 100% separated from all other users. Microsoft and Amazon offer matching options such as creating multiple subnets, firewalls, internal DNS, etc. One of the most significant differences is that Azure allows for larger IP ranges than AWS. Azure enables a network to contain up to 16,777,216 addresses, and AWS allows a maximum of 65,536 addresses. Both services allow you to create multiple networks and peer them together. DDoS protection is available for both at a monthly cost of ~ $3K/month. AWS does provide a free standard version of DDos protection to all resources automatically.
AWS – Elastic Cloud Compute (EC2)
Azure – Virtual Machines
Virtual servers of all sizes are available in both AWS and Azure. These can range from tiny single-processor machines to giant servers with hundreds of vCPUs and terabytes of RAM. Both services offer a library of hundreds of operating system images to choose from and a Marketplace where special images can be purchased from other users and vendors. Pricing models are similar at both, with charges being applied on a per-hour usage rate depending on the size of the server. You do not pay if your server is turned off, and you can delete it at any time and only be charged for the time the server was in use. If you require a server for at least one year, you can reserve that instance at a considerable discount by paying for it upfront. These discounts can be upwards of 80% of the life of the server. One advantage that AWS has is its offer of Free Tier services. These are the tiniest micro servers offered and are an excellent way to practice using EC2 or running small microservices for free.
AWS – Directory Service
Azure – AD Domain Services & Microsoft Entra ID
Both Azure & AWS offer AD services but in different ways. Azure provides setup and management of Active Directory with a built-in Software as a Service (SaaS) solution. This means that you are not responsible for any of the underlying software or operating system (OS), just the management of the directory itself. AWS does not offer this. Instead, they automate the creation of actual servers (Instances) and install all the necessary software. You are responsible for the server software and OS, along with the management of the directory. AWS offsets this by offering their service a bit cheaper than Azure. Depending on the region and size of your directory, the average base cost for AWS is $0.12/hour, while Azure is $0.15/hour. Azure also has a free version of Active Directory called Microsoft Entra ID with every account. This is a limited version of cloud AD that can be used to authenticate users and grant access to services inside of Azure and can be upgraded to include advanced features if required on a per-user basis.
AWS – Relational Database Service (RDS)
Azure – SQL Databases & SQL Managed Instances
SQL Server is owned and developed by Microsoft, allowing Azure to offer more solutions and options than AWS. Both Azure offerings will always use the latest version of SQL, whereas AWS allows you to choose your version. The caveat is that AWS will only sometimes have the newest version of SQL available. Both services allow for built-in disaster recovery via replication. In AWS, this is called multi-AZ (availability zones), and Azure has geo-replication. Both will replicate to a second database that can be raised to primary so your systems do not go down. This can be set to automatically occur or be manually handled at any time. This replication is optional and does raise the cost of services as you will be paying for multiple databases instead of just one, but it is highly recommended.
In conclusion, choosing between Amazon AWS and Microsoft Azure, the two dominant cloud providers is a decision hinging on your company’s specific needs and preferences. Both have evolved significantly since their inception, offering a plethora of services. AWS offers a Free Tier and a unique approach to Active Directory, while Azure boasts more extensive SQL Server offerings.
This post was originally posted here.