In the first week of AWS re:Invent 2020, a three-week virtual event by Amazon Web Services (AWS), the database announcements came thick and fast. A common theme soon emerged: AWS really wants to help you migrate off Microsoft and Oracle legacy database systems, and onto its range of “purpose-built” cloud databases. AWS also doubled down on serverless as a database strategy.
Tying together all those themes was the release of a new version of Amazon Aurora Serverless, the on-demand and auto-scaling version of Amazon’s relational database product, Aurora. “Amazon Aurora Serverless v2,” as it’s been rather awkwardly named, is notable for enabling instant scaling of an Aurora database “to hundreds-of-thousands of transactions per second.” It’s currently in preview, with MySQL compatibility to start with (the v1 version is also compatible with PostgreSQL, and v2 will add that in early 2021).
The announcement of v2 is the latest sign that cloud database systems are getting very close to the functionality of legacy on-prem systems, with the added benefit of the backend complexity being abstracted away via serverless technologies. Or as AWS itself put it, Aurora Serverless v2 is suited to “a much broader set of applications” than v1.
The v2 announcement is also a continuation of Amazon’s attack on what it calls “old-guard database vendors” — clearly a reference to Microsoft and Oracle. Amazon has had those two companies in its crosshairs for years, of course. But what’s different now is that Aurora Serverless v2 appears capable of supporting large enterprise customers; the type of customers currently with Microsoft or Oracle, most likely on legacy database systems. According to AWS:
“For example, Amazon Aurora Serverless [v2] can now support enterprises that have hundreds of thousands of applications and want to manage database capacity across the entire fleet, or for Software as a Service (SaaS) vendors that have a multitenant environment with hundreds or thousands of databases that each support a different customer.”
If this is true (and the devil will be in the details, so as of now it’s just a claim), v2 is a significant step up in capability from v1. AWS only recommended v1 for “infrequently-used applications” and “development and test databases.” As noted, v2 is apparently ready to support large-scale production workloads.
Let Us Help You Move off Microsoft SQL Server…
What also became clear at re:Invent this year is that AWS isn’t content to just build modern, cloud-based database systems. It’s also actively courting enterprise customers from the legacy vendors — and in particular, Microsoft.
Another big announcement at re:Invent was Babelfish for Aurora PostgreSQL, an open source translation layer that makes it easy — and much less costly — to move from Microsoft SQL Server to an AWS database product. As Jaana Dogan, a Principal Engineer at AWS, put it on Twitter: “When I was working on databases, large customers who wanted to move off of SQL Server had no options but to invest millions of dollars to rewrite their applications.”
AWS CEO Andy Jassy bluntly made the case for migrating off Microsoft in his keynote: “Stop paying for SQL Server licenses you don’t need.”
Note that Babelfish is not technically a migration service, although it will certainly push customers to move their data off SQL Server and onto an equivalent AWS cloud database. It’s a straight translation service. As explained by AWS Head of Open Source Strategy and Marketing, Matt Asay, “Babelfish enables PostgreSQL to understand database requests — both the command and the protocol — from applications written for Microsoft SQL Server without changing libraries, database schema, or SQL statements.”
A short announcement article on AWS put it more simply: “With Babelfish, applications currently running on SQL Server can now run directly on Aurora PostgreSQL with little to no code changes.”
Customers: Let’s See It on GitHub First…
However, as with the Aurora Serverless v2 announcement, the proof will be in the pudding.
Robert Koch is Lead Architect at S&P Global Platts, a US corporation dealing in energy and commodities. In his daily work, he manages both Microsoft SQL Server and Amazon database products (he’s an AWS Database Hero). When I asked for his take on Babelfish, he said that it will have its share of skeptics “until we can see it in action.” But he is hopeful it will, at the very least, ease the pain of migrating from on-prem to the cloud.
“Between lift and shift, rearchitecting, and/or rebuild,” Koch explained, “migrating to the cloud is a challenge in itself and Babelfish might be a big help in that regard. If there’s a sense of urgency in making our data more resilient, we can copy our SQL Server instances over to Aurora PostgreSQL and potentially not miss a beat.”
Koch will be keenly monitoring GitHub for the upcoming open source release, before deciding whether it’s ready for production.
“I look forward to seeing Babelfish code land on GitHub to see the ‘magic’ happen,” he said. “At that point, I believe developers will feel much more at ease.”
(Incidentally, GitHub is owned by Microsoft — I bet AWS enjoys that irony!)
There are also open questions about how thorough the translations will be. In his article, Asay acknowledged that Microsoft SQL Server “has evolved to meet a wide array of use cases” over the years. He noted that Babelfish won’t be able to handle all of those use cases straight away, “but will be able to tackle the most common application scenarios.”
This of course is why AWS is open sourcing the Babelfish technology, so that developers the world over will be able to add functionality that will eventually cover those other use cases. But for now, one suspects there will be teething problems for customers looking to migrate off Microsoft. Those SQL Server licenses might be needed for a while yet.
A Family of Cloud Databases
In another re:Invent session, Building for the future with AWS databases, Vice President of Databases Shawn Bice (seen in the feature image), tied all of the company’s database announcements into an overarching strategy. It can be summed up as follows: whatever your database needs, we have a cloud database for you!
Bice also emphasized the growing importance of serverless in its database strategy. As serverless database workloads grow, he said, products like Aurora Serverless v2 have the “rapid incremental scale” required to grow with them.
Overall, with the proviso that we don’t yet know how new product offerings like Aurora Serverless v2 and Babelfish for PostgreSQL will work for customers (especially those with large, complex applications), the AWS cloud database strategy outlined at re:Invent is strong and forward-looking. As AWS continues to lean into serverless, and as customers are given more tools to help wean them off legacy database systems, the cloud is becoming more and more customer-friendly for enterprises. Many of them will no doubt join the AWS database “family.”
Amazon Web Services is a sponsor of The New Stack.