Database-as-a-Service: a Win for App Developers, but Not DBAs
In my previous column, I wrote about how the “serverless” trend has abstracted away the infrastructure layer for application developers. Well the same thing is happening to databases, via Database-as-a-Service (DBaaS) solutions like Amazon Aurora, MongoDB Atlas, Azure SQL Database and Redis Cloud Essentials.
In its report on DBaaS vendors last year, analyst firm Forrester noted that the trend is accelerating the deployment of new business applications. DBaaS gives app developers “a database platform to build simple to sophisticated applications quickly, allowing them to focus on application logic rather than deal with database administration challenges.”
Forrester declared Amazon, Oracle, MongoDB, Microsoft and Google as leaders in a thriving DBaaS market, with Redis Labs and a few others listed as “strong performers.”
Demand for DBaaS is growing rapidly. In MongoDB’s Q4 2020 earnings call, the company announced that Atlas revenue grew over 80% year-over-year and now represents 41% of its total revenue. Also I recently spoke with Redis Labs, who told me DBaaS is 50% of their business.
Part of the reason why there is such demand for DBaaS is the sheer complexity of running databases on the cloud. For one thing, there are a lot of different types of databases to choose from now. The days when SQL was the only database game in town are long gone. NoSQL databases — the current favorite of internet companies, due to their scalable and distributed properties — are fast gaining on traditional relational databases.
According to a ScaleGrid survey last year, NoSQL now represents about 40% of all database usage — mainly thanks to popular cloud native options like MongoDB, Redis, and Cassandra. All of those projects, by the way, were started in the middle of Web 2.0 — not long after Amazon introduced its first cloud products in 2006.
The term “NoSQL” itself gained popularity around 2009. It’s a somewhat nebulous term that covers multiple types of databases — key-value, document and wide column are just a few. But generally speaking, NoSQL databases are less structured and thus more flexible than SQL.
The big platform players in the DBaaS market — Oracle, Amazon, Google and Microsoft — prefer to cover their bases and support both SQL and NoSQL databases in the cloud. It’s another reminder that SQL is not dead yet — far from it in fact. As Andrew C. Oliver from the NoSQL company Couchbase wrote in The New Stack earlier this week, “there are no proprietary query languages that express which data should be included, correlated, and excluded as eloquently and concisely as SQL.”
According to Forrester, Amazon has both “the largest adoption and broadest range of [DBaaS] options.” It even offers something called Amazon Quantum Ledger Database, although unfortunately it isn’t a quantum computing database as the name suggests (it’s a blockchain product).
So who benefits from DBaaS offerings, other than vendors like Amazon and MongoDB? The biggest beneficiary is (you guessed it) the developer because it means one less systems headache to deal with when building apps.
Indeed, developers have never had it so good in terms of what has been abstracted away. With serverless solutions, developers needn’t touch a server. And now with DBaaS, they can steer clear of databases too.
In a contributed post on The New Stack last November, MongoDB Vice President of Cloud Products Andrew Davidson wrote there is “a new generation of developers coming up that can’t fathom doing anything other than abstracting away the database layer into an elastic service that just works.”
But what has happened to that staple of the IT team back in the 1980s and 90s, the Database Administrator (DBA)? Well, if Amazon’s recent massive database migration — moving 75 petabytes of data off thousands of Oracle databases and onto Amazon’s own DBaaS products — is any indication, the DBA’s time has now been “freed up.” Amazon Web Services Chief Evangelist Jeff Barr explained:
“…our DBAs once spent a lot of time managing and scaling our legacy Oracle databases. The migration freed up time that our DBAs now use to do an even better job of performance monitoring and query optimization, all with the goal of letting them deliver a better customer experience.”
I’m not sure Amazon’s DBAs would see the increased focus on performance monitoring and optimization as a step forward in their career. Those sound like tasks ripe for automation, especially in the DevOps era where operations automation is a key component of the development process.
However, not everyone thinks DBAs are an endangered species. According to a recent blog post on Percona, an open source database services company, the DBA is now the person who will “design and tune the database to support the application.” In Percona’s view, the modern DBA has become more focused on design and architecture – things that are not so easy to automate.
That may be true, but the NoSQL trend in particular has been a boon for developers, and you have to think it’s at the expense of DBAs. Traditional relational databases required a different skill set to what developers knew, which is why DBAs were so valuable back when SQL databases dominated. But with NoSQL, developers can interact with the data in ways that are more native to how they work. On a podcast with The New Stack last December, Redis Labs Chief Product Officer Alvin Richards explained this well:
“It’s also the fact that developers see data structures that are familiar to them. So they get lists, sets, sorted sets, they get JSON documents. And this is their mental model. In the relational world, you had this database schema that DBAs did, and then you had your Java code or your C# code. And these two things look completely different. So you have this mapping layer to do this constant transformation. And that’s just really alien for a developer.”
Of course, developers must also now deal with the increased complexity of the cloud native world — including data that is distributed across many different clouds and on-premise servers. But ultimately, this will lead to more powerful distributed apps.
Going back to the MongoDB earnings call in March, CEO Dev Ittycheria noted that a key part of the company’s strategy going forward is that “the apps of the future will dramatically expand in their functionality and scope.”
Ittycheria said that future apps will need to process “massive amounts of real-time data” and that, as a result, “developers will require one unified interface, designed to bring together data at massive scale to build these new applications more quickly and efficiently.”
The DBaaS trend is helping to bring that future nearer, because it puts databases directly into the hands of developers.
Amazon Web Services, MongoDB and Redis Labs are sponsors of The New Stack.
Feature image via Pixabay.