Most of the time (and for most of the remainder of this page), the term “cloud database” refers to a cloud-based database-as-a-service.
The key benefits of cloud databases are that they are accessible from anywhere, scalable from day one, and designed for reliability and performance.
Whether your team is already developing software on cloud infrastructure, or in the process of migrating legacy applications to the cloud, it makes obvious sense that cloud-native database offerings are growing in popularity.
Modern database-as-a-service platforms enable easy (but controlled) access from cloud and non-cloud systems through consistent APIs and drivers, simplifying access to critical resources. Microservice architectures in particular benefit from centralized and easily accessible database resources, as many applications need to access and share data.
While cloud SQL databases serve in many cases, the flexibility of today’s cloud NoSQL databases dramatically improve agility in data management and software development alike. There’s no need for downtime for system upgrades, rebalancing clusters or provisioning faster hardware, or even making changes to schemas and structures.
If you’re thinking that NoSQL means no control over data quality, you may want to look at how MongoDB manages to provide structural guarantees without sacrificing the ultimate flexibility of the document model.
The real test of a data management system is how it adapts and performs under high load.
Whatever database technology works best for you, cloud database services are typically designed to automatically scale up to accommodate data growth, and outward to handle load with consistent performance characteristics. What can’t be automatically tuned, a good database-as-a-service will automatically alert you of, so that you can optimize your indexes and access patterns in order to hit your performance targets.
Not only is it usually cheaper to use a fully managed cloud database than to maintain your own, it requires less manual work, so you and your team can focus on delivering value.
There’s little worse than having a mission-critical database go offline - except to lose all of the data inside it.
Cloud databases are usually replicated and backed up by default, so that no single point of failure can bring your application offline, and even catastrophic incidents are mitigated by regular, automated backup and disaster recovery.
MongoDB Atlas, the MongoDB cloud database, is automatically replicated and backed up in real-time, enabling point-in-time restore, giving you an extra layer of confidence.
Cloud databases work in most cases that traditional databases do. They are particularly valuable when building software products that:
Data applications that take advantage of centralization, like legacy modernization and analytics, are also fantastic candidates for cloud database usage.
While certain use cases are more obvious candidates for cloud database usage, more traditional use cases, like real-time online transaction processing, caching, or data warehousing work just as well in the fully managed paradigm.
Whether you’re still thinking about whether a cloud database is right for you, or in the process of selecting the ideal database-as-a-service for your needs, there are a few key factors to take into consideration:
While some cloud databases are available on all cloud providers (MongoDB Atlas runs on any major public cloud provider), others are specific to one provider (e.g. Cloud Bigtable on Google, or RDS on Amazon Web Services).
If you have an existing footprint, compatibility requirements, or existing relationships that dictate your cloud provider choice, then your options will be self-managed database on cloud VMs, or the database-as-a-service products offered by or on that cloud provider.
Other strategies, like multi-cloud or hybrid-cloud might dictate that you leverage multiple public and private clouds, which would narrow your database choices to products that operate across providers and/or on-premise.
Cloud provider strategy.
You might be looking for an SQL-compatible offering in order to work with existing systems, process, or skill sets, or be more interested in a NoSQL offering tailored to your system’s needs. Sometimes other choices in your team’s technology stack, like programming language, will make one or another database technology a better fit, and you should look closely at whether a given provider or platform fits your development process.
Is it compatible?
Is it portable?
Does it fit my use case?
Do you have the people, and the skill sets, to manage the right database technology yourself? If you do, then self-managed databases on cloud VMs can work well for you. Even so, however, you should consider fully managed DBaaS platforms that take over much of the management load for you, and free your team up for more advanced projects.
VM vs DBaaS
Another benefit of cloud databases is a shift to usage-based or consumption-based pricing. This means that rather than making up-front investments before you even know what your ultimate resource needs will be, you can start small and ramp up as needed.
VM-based, license based, or usage-based
Matching your pricing model to your business model
The cost of data breaches is only rising, and regulatory scrutiny is at an all-time high. Managed cloud databases bake in layered security best practices, keep systems up to date automatically, and leverage broad expertise to implement the most secure configurations. Why take all of that on yourself?
Access control and auditing
Managed, layered security best-practices
Today’s cloud database-as-a-service offerings can bring a lot more than just the database itself. MongoDB Atlas, for instance, includes SQL-compatible connectors, integrated charts and graphs, and tools for building data-driven workflows with triggers and serverless computing, and more.
Triggers & processing
MongoDB can be installed and run on any cloud provider or on-premise network as a self-managed database cluster or virtual machine, or on AWS, GCP, or Azure using MongoDB Atlas, our cloud database-as-a-service (DBaaS) offering. There are major benefits to adopting the DBaaS option, including:
MongoDB Atlas, part of MongoDB’s broader data-as-a-service (DaaS) development platform, is a powerful and compelling alternative to managing your own NoSQL, or traditional, database, or using a cloud provider-specific managed offering.
The way a cloud database works is that rather than installing, configuring, and maintaining a database instance or instances, an automated system is able to provision, manage, and scale the underlying database cluster for you.
Fully managed database services handle the complexities of maintaining a consistently available, high performance cluster in a way that allows you, the developer, to access it as a simple, globally available resource.
You can treat the cluster as a single database instance, covered by a transparent usage-based pricing model, so you’re never worrying about over- or under-provisioning.