TNS Research: Serverless and Distributed Database Services are Besties Now
Momentum towards distributed databases will be bolstered by the current move towards “serverless” technologies. In particular, database-as-a-services like Amazon DynamoDB are being utilized by developers of microservices. Also, MongoDB offerings are poised to benefit because Node.js is supported by many serverless providers.
For industry insiders, serverless is a combination of Backend-as-a-Service (BaaS) and Function-as-a-Service (FaaS). Although AWS Lambda is farther along, many of its competitors are just ramping up their FaaS abilities. There are many examples of using FaaS in production, but most serverless activity is still in the ideation and testing phase. The market for BaaS is older and has hit some bumps along the way. This does not mean that the serverless trend is fake. Au contraire, serverless is the culmination of several interrelated trends.
The New Stack is reviewing the best way to track actual adoption figures. Please email us with suggestions.
As born out by data and analysis, DevOps tools and container infrastructure are almost prerequisites to deploying microservices at scale. As Ben Kehoe recently wrote, “Almost by definition, serverless architectures are microservices architectures.”
Two other trends are also relevant. In an in-depth review of the serverless API landscape, regular TNS contributor Mark Boyd wrote about how API tooling (for both gateways and generation) links FaaS abilities with providers of BaaS. The types of backend services being offered include identification/authentication and data streaming, both of which connect to databases, which are now often being delivered as a service.
Bitnami‘s survey provides some insights into the demand for Database-as-a-Service. While almost half of respondents still prefer to run databases inside a virtual machine, 30 percent said they would rather utilize a DBaaS offering. According to a survey sponsored by Tesora, the most important criteria for DBaaS — chosen by 47 percent of survey respondents — is the ability to integrate with existing production applications.
For this reason, it is not surprising that end users are most likely to be using traditional databases “as a service” from major cloud providers. At 17 percent, Amazon DynamoDB is used more often than other “more specialized” databases, but Google’s BigQuery gets cited often. The survey did not ask about several other relevant database offerings, but if it did, we believe versions of MongoDB and Redis would have done well.
DynamoDB users display significant microservices maturity. They are more than twice as likely to be using continuous integration and deployment. Also, 34 percent of DynamoDB users have containers in use as compared to 20 percent of the entire Bitnami survey. Combined with the AWS Lambda’s significant headstart, it is not surprising that DynamoDB has been getting so much attention when discussing serverless architecture.
Node.js is the framework to be supported by FaaS providers. Therefore, it is logical to believe that databases used most often by the Node.js community are also more likely to be used for serverless deployments. We used Stackoverflow’s 2016 Developer Survey; we found that Node.js users are almost four times as likely to use MongoDB as compared to the average developer. Again following the logic, we hypothesize that people deploying serverless apps using Node.js are very likely to use MongoDB as their backend.
Databases Used for Serverless Jumping in Popularity
The latest TOPDB rankings show that Firebase and Amazon’s DynamoDB are the databases with the most rapid growth in popularity. We believe this is because they are commonly used as BaaS (Backend as a Service) for serverless deployments.
Acquired by Google, Firebase is a mobile development platform, but its database functionality is what many people know about it. It is important to note that the level of “popularity” as based on Google search trends is still minuscule as compared to Oracle, MySQL and SQL Server. That being said, actual usage levels become much more pronounced among certain end users. Although DB-Engines does not track Firebase, we found that distributed databases such as Redis, MongoDB and Couchbase have not seen such a rapid rise in popularity.
Feature image via Pixabay.