Spyglass MTG Blog

Azure vs. AWS Round 1: The Managed Database

Written by William Richard | Sep 9, 2021 2:15:00 PM

Round 1: The Managed Database... FIGHT!

The world of database management and application development has changed. We’ve seen a swift and long-time coming shift to cloud managed databases. On-prem deployments do not often meet the needs of a modern world anymore. The Oracle 11/12’s, SQL 2008’s, 2012’s and beyond…and does any enterprise really have an on-prem application relational deployment outside of SQL Server or Oracle? AH, sorry z/OS Db2 Mainframe Cobol programmers. But then what about IMS hierarchal database? Nah... Whether it’s their ability to scale easily with growing data volumes without purchasing more hardware, lack of intelligent security components, challenging backup management, or simple end of life deadlines they are ready to be thrown in the woods.

Managed cloud databases are natively built as intelligent, scalable, relational database services built for the cloud. Managed cloud databases automate  time-consuming administration tasks such as hardware provisioning, database setup, patching and backups. They tout optimized performance and durability with automated, AI-powered features that are always up to date. Some provide serverless computers and super scale or elastic storage options that automatically scale resources on demand. Better yet, they drastically reduce your database management overhead and developers are free to focus on building new applications without worrying about storage size or resource management. Free your applications by providing them the fast performance, high availability, security, and compatibility they need as a managed service.

Amongst the many cloud vendors available, Microsoft Azure and Amazon AWS are the top Cloud Platforms that enterprises are utilizing to build scalable data solutions. According to Gartner in 2019, “Only two vendors (Amazon Web Services and Microsoft) account for 75% of the growth from 2017 to 2018.” Gartner Blog Network The next logical question is always which platform should we adopt?!?! Should we leverage one, two, more? What does a hybrid or multi-cloud strategy for application databases look like?

Well, some of those questions are lengthy and best suited for other blog posts, so consider this Part I in the journey towards cloud database migration and what might provide the best managed database for you.

Disclaimer, I wanted to provide my perspective on some core platforms available on AWS and Azure for your general satisfaction. While we are a Microsoft Partner first, I have deep knowledge of both AWS and Azure data solutions and often get asked on the benefits over one or another. Not an easy question by the way, so take this blog for what it is, “an assessment from my experience” and research.    

 

Managed Databases

Description

AWS

Azure

Traditional relational database services for developing applications either on-prem or in the cloud.

AWS RDS

Azure Database

  Cost Management

Costs for AWS RDS are determined by the amount of hardware resources that your instance uses, like CPU, RAM, storage, and network bandwidth. In the Azure database services, cost depends on your database size, concurrent connections, and throughput levels.

When it comes to SQL specifically, the choice between AWS and Azure is clearly in favor of Microsoft. The pricing alone justifies SQL on Azure. With the advantages of Hybrid and reserved in the SQL options, savings can be upwards of 60% over AWS deployments. Even when comparing SQL Managed Instance and Amazon SQL RDS pricing, which in my opinion is more apples to apples than Azure SQL, the “Pay as You Go” pricing on Azure is half of the respective Amazon RDS service.

Security

Microsoft uses the latest binaries available for SQL Server, ensuring that your application always runs on the latest features and capabilities available. AWS does well to keep up but to date the published SQL version is with CU8 on AW RDS where Azure SQL is on the latest CU12.

Microsoft SQL Server on Amazon RDS - Amazon Relational Database Service

Latest updates for SQL Server - SQL Server | Microsoft Docs

What is Azure SQL Managed Instance? - Azure SQL Managed Instance | Microsoft Docs

Both platforms have a host of security add-ons beyond the typical VM based security features of on-prem deployments. Including managed service firewalls, database management UI’s, encryption at rest, authentication (AD or otherwise), virtual network integration and auditing. Noting that encryption at rest only comes with the enterprise license in AWS and AWS does NOT enforce things like SSL or encryption while Azure requires those security features.

Additionally, Microsoft takes the platform security integration one step farther and put Advanced Threat detection and data masking capabilities on top.

Disaster Recovery and Availability

Azure SQL Database offers the following capabilities for recovering from an outage and if you are using zone-redundant Premium or Business Critical databases or pools, the recovery process is automated and the rest of this is irrelevant.

Amazon RDS provides a highly available Multi-AZ configuration as well, which protects against localized failures but not from every possibility, such as a natural disaster, a malicious actor, or logical corruption of a database. However, SQL itself provides advanced capabilities with Always on Availability groups which you can deploy on AWS RDS.

Collaboration and Integration

Azure SQL, like all Azure services, is well integrated into the ecosystem. Azure SQL as an application database can very easily be integrated into application solutions like Azure Functions, App Services, Power Apps and more. Authentication can be managed with identities of services which make the integration seamless and inherently secure via zero trust. Of course, Azure SQL also supports traditional authentication in the way of SQL credentials.

Likewise, Amazon RDS supports the following ways to authenticate database users Password authentication, AWS Identity and Access Management (IAM) database authentication in which you don't need to use a password when you connect to a DB instance (This is like Azure Identity authorization in some ways), and Kerberos authentication which enables external users using Kerberos and Microsoft Active Directory.

Because AWS’s deployment is more server like than Azure’s managed deployments the integration with application services is more traditional and familiar to on-prem or a VM based deployment on Azure.   Unfortunately, to date, services like AWS App Runner don’t have as clear of a path to work with RDS.

Tutorial: Access data with managed identity - Azure App Service | Microsoft Docs

AWS Developer Forums: App Runner and RDS ... (amazon.com)

And the winner is...

What about those other databases? Postgres? Oracle? MySQL? Amazon RDS provides a larger list of managed databases than Azure Database which is limited to SQL, Postgres, and MySQL. RDS includes Oracle, MariaDB and Aurora (Amazon’s compliment to MySQL and Postgres). Oracle is a VM based solution on Azure, but Oracle does have a partnership with Azure for multi-cloud deployments in which you can leverage Oracle’s cloud hosted solution or a certified deployment of Oracle on Azure.

Between the two providers, we really don’t see many differences in complete capabilities for general managed database, the choice is typically driven by which cloud provider you have decided to move forward with in your cloud adoption initiative. Both providers are capable within these alternative databases.

However, with SQL Server options, we see Azure as the clear winner from cost through security to collaboration. You can’t beat the incentives and capabilities of SQL on Azure or the migration path to do so in which there are a host of tools to move your on-prem SQL instances to one of three potential landing zones all with better managed features than on-prem: SQL VM, Azure SQL Managed Instance & Azure SQL Database.

I guess that means we’ll give Azure the edge in round 1, even if AWS actually has the largest market share for cloud relational databases according to Gartner’s 2020 Market Share report.

 

Stay tuned for part 2 of this blog post coming soon! In the meantime, if you have any questions or want to discuss further, please contact us today.