DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Last call! Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • The Future Trends Driving Open-Source Database Programs
  • Hiring Full-Stack Developers? 6 Skills To Look For in 2022
  • Serverless Computing vs Cloud Computing
  • Reasons Why You Should Get a Cloud Computing Certification

Trending

  • Understanding IEEE 802.11(Wi-Fi) Encryption and Authentication: Write Your Own Custom Packet Sniffer
  • Build Your First AI Model in Python: A Beginner's Guide (1 of 3)
  • Unlocking AI Coding Assistants: Generate Unit Tests
  • A Deep Dive Into Firmware Over the Air for IoT Devices
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. What Is a Serverless Database? (Overview of Providers, Pros, and Cons)

What Is a Serverless Database? (Overview of Providers, Pros, and Cons)

Read on to learn about different well-known serverless databases as well as the advantages and disadvantages associated with them.

By 
Nemanja Novkovic user avatar
Nemanja Novkovic
·
May. 14, 18 · Analysis
Likes (5)
Comment
Save
Tweet
Share
19.0K Views

Join the DZone community and get the full member experience.

Join For Free

Get To Know Serverless Architecture

Serverless computing is a cloud computing execution model, meaning that the cloud provider is dynamically managing the distribution of computer's resources. What's taking up valuable computing resources is the function execution. Both AWS and Azure charge more if you have a combination of allocated memory and the function execution elapse time, which is rounded up to 100ms. AWS Lambda's current pricing is $0.00001667 for every used GB-second, while Azure's functions cost $0.000016 for each GB-second. That gives you an idea of how fast the cost can climb. Considering that the amount of allocated memory can be configurable between 128 MB and 1.5 GB, the price of function execution can be variable depending on your setting. The cost per 100ms of the execution time for the configuration of significant power will be around 12 times more expensive than the 128 MB option, which is the basic one.

Serverless computing still requires servers, and that's where serverless database comes in. Knowing your needs will undoubtedly make it easy to choose the right database service and to start using the most advanced technological solutions of today.

Different Serverless Databases

There are several well-known databases already in use like Azure Data Lake. Azure is Microsoft's public cloud and a host of this service.

Google Cloud Store

Google Cloud Store is a document-oriented store offering database component of Google App Engine as a standalone service. Also owned by Google, the Firebase is available in two different payment plans from which customers can choose. There's a fixed plan or pay-as-you-go plan. Firebase also includes a hierarchical database.

FaunaDB

FaunaDB is distributed worldwide, and it is the most significant transactional database service. It's technology is based on Twitter.

Amazon Aurora Serverless

The preview for Amazon Aurora Serverless was launched in the last quarter of 2017. It comes in two different editions compatible with both MySQL or PostgreSQL, but it is also compatible with other known systems like MariaDB, Oracle, etc. Amazon Aurora serverless database is fully-managed and automatically scales to up to 64 terabytes of database storage.

DynamoDB

This is yet another Amazon service. DynamoDB is an entirely managed NoSQL database service, able to provide predictable and high-speed performance with seamless scalability. With DynamoDB, creating database tables is straightforward, and you can store and retrieve any amounts of data, and it is also able to serve any level or requested traffic.

MongoDB

While not being a serverless database, MongoDB is still worth mentioning because of their Database as a Service offering, called MongoDB Atlas. MongoDB is free and open-source, published by GNU Affero General Public License. It is very flexible in storing the data, JSON-like documents, which means that the field is variable from document to document, and the data structure will change over time.

Moving on to MongoDB Atlas, and as I said, is their DBaaS tool. It comes with some great features, like being able to have automated operations, meaning that you'll be able to create and deploy clusters in a few minutes as well as ensure your cluster has zero downtime. Role-based access controls keep your data protected. It is also encrypted and the network is isolated. Authentication is just another segment of the protection provided.

Another great feature of MongoDB Atlas is that it makes it entirely easy to scale up or out by just pressing a button. You're also able to deploy clusters across several regions for better reads and guarantees. The clusters are geo-distributed, they can heal themselves, and they come with excellent fault tolerance. The continuous backup solution that comes with MongoDB Atlas has an option of point-in-time restores and snapshots that are queryable. Finding any details is quite comfortable, and the view performance is in real-time. You can customize alerts, and the optimized dashboards highlight the key historical metrics.

Advantages of Using a Serverless Database

Cost Efficiency

Buying a fixed number of servers usually takes a lot of time for underutilization and is far more expensive than using a serverless database. Other than being more cost-effective, it can also be more cost-efficient than provisioning an autoscaling group because of the more efficient bin-packing of the machine resources. Immediate cost benefits come with realizing that there are no operating system costs which include the licensing, installations, maintenance, support, and patching. It's description might be considered as pay-as-you-go computing, since you are charged only upon the used time and memory allocated on running your code.

Operations, Scalability, and Productivity

What serverless architecture means is that developers and operators can save their time by not setting up and tuning autoscaling policies or systems. It is cloud provider's responsibility to scale the capacity to meet the demands seamlessly. Small developer teams are now able to run the code by themselves independently. There is no need to look for support teams of infrastructure and engineers. Respectfully, more developers are becoming DevOps skilled. The differences between a software developer and a DevOps engineer are now indistinguishable.

Disadvantages of Using the Serverless Database

Performance and Resource Limits

Not using the databases very often can cause the database to suffer from more significant response latency compared to a database that's actively running on a dedicated server, virtual machine, or in a container. It is happening because the cloud provider "spins down" a serverless database entirely if it's not used, meaning that if the runtime requires some time to start up, it will create more latency. Serverless computing is also not suitable for some computing workloads like high-performance computing. The reason for this resource limits are the providers who impose those resource limits. Another reason is that it would probably be a lot more cost-efficient to bulk-provision the number of servers that you require at any given period.

Monitoring and Debugging

To diagnose performance or excessive resource usage problems with serverless architecture can be far more difficult than with traditional server architecture. Although complete functions can be timed, there is no possibility to dig into more details by attaching profilers, debuggers or APM tools. Be aware that the environment in which serverless architecture is running is usually not open source meaning that its performance characteristics aren't easy to precisely replicate in a local environment. Fortunately, there are already some fantastic serverless monitoring tools on the market that you can use.

Security

Serverless databases are sometimes considered, by mistake, as more secure than traditional databases. To some point, this is true because cloud providers are taking care of the OS's vulnerabilities. The amount of the attacks is much higher because there are many more components to the application compared to the traditional architecture and every element is an entry point to the serverless application. Securities that customers had to protect their cloud workloads became unimportant because they can't do anything on the endpoint and network levels like IDS/IPS regarding the control or installation.

You can find more information about serverless security risks and where to find them by visiting this article.

We hope you enjoyed reading this short overview of serverless databases. Feel free to contact us over chat, and if you have any questions, leave them in the comments section below.

Database Cloud computing operating system Open source Serverless computing Amazon Aurora Computing

Published at DZone with permission of Nemanja Novkovic, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • The Future Trends Driving Open-Source Database Programs
  • Hiring Full-Stack Developers? 6 Skills To Look For in 2022
  • Serverless Computing vs Cloud Computing
  • Reasons Why You Should Get a Cloud Computing Certification

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!