Simplified Cloud Database Management Using Couchbase Cloud and AWS
By Scott Anderson, SVP Product Management and Business Operations at Couchbase
Couchbase NoSQL database administrators have been using Amazon Web Services (AWS) to host clusters for many years, including stand-alone servers, small or large clusters, and more recently Kubernetes-managed configurations.
However, cloud-based solution developers can struggle to keep their general cloud management and data application platforms in sync, requiring different expertise for each one.
In particular, it’s not always easy to build with best practices in mind. Building with reliability, high availability, high performance, and security for global deployments is a challenge without deep knowledge of cloud infrastructure platforms.
Couchbase Cloud takes aim at this challenge by providing customers access to sophisticated management software that allows them to co-manage their NoSQL cloud database directly inside their AWS-powered infrastructure.
In this post, I will describe how Couchbase Cloud leverages the underlying cloud resources. I also show graphical examples of key features from the web-based control plane to demonstrate how easy it is to use.
Couchbase NoSQL as an AWS DBaaS
The newly-released Couchbase Cloud Database-as-a-Service (DBaaS) platform was designed to allow administrators to seamlessly bring the fully-managed NoSQL platform under the umbrella of their AWS account, providing a centralized “omniscient” control plane.
Everything that an administrator needs to do is possible through this control plane—creating nodes, managing backups, and keeping data secure.
Figure 1 – Users, clusters, and projects are managed by the Control Plane.
The platform can manage many Couchbase Cloud clusters, while also controlling upgrades, backups, cluster rebalancing, node additions, failover, monitoring, and more.
Streamlined Customer Experience
Facet Digital is a Couchbase Cloud customer that relies on all of these features to deliver solutions to their clients. They were originally planning to build their own cloud-based deployment, but were happy to leverage this new platform to expedite their roll-out.
Because of the cloud database delivery model and streamlined management tooling, Facet Digital can focus on application development instead of having to make infinite tweaks to their DevOps stack.
“Couchbase Cloud provides a managed service inside your own AWS iteration that addresses the need to have complete control over sensitive data in highly regulated industries such as financial services,” says Scott W. Bradley, Principal Engineer at Facet Digital.
Spinning up a cluster from scratch can be done in minutes with Couchbase Cloud, reducing the several days of setup overhead Facet Digital had with other solutions. They easily leverage their AWS infrastructure and Couchbase Cloud at the same time, reducing time and effort even further due to these efficiencies.
Simplified Association of VPC and NoSQL DBaaS
Couchbase Cloud database empowers developers, but also plays a critical role in helping AWS customers maintain control over their data platform. All of the data and infrastructure remains held in the customer’s AWS instances, providing sovereignty and control over customer data and resources.
Cloud managers simply use a guided form to associate their Amazon Virtual Private Cloud (VPC) accounts with their Couchbase Cloud account, giving them the ability to manage users, clusters, databases, data buckets, and more all through one interface.
Figure 2 – Connecting a VPC account with Couchbase Cloud.
Couchbase Cloud managers only need to interact with this console to roll out new clusters according to their needs and across different regions. All the rest of the underlying infrastructure is automated and managed by this layer.
Pain Free Cluster Management
Administrators choose the type of cluster they want using templates, as well as the type of services they want running on those nodes: key-value document store, document data querying, full-text searching, or big data analytics, to name a few.
They can also choose the number of nodes and the size of the Amazon Elastic Compute Cloud (Amazon EC2) instances they want to use, along with storage and support requirements.
Couchbase Cloud then deploys the clusters by leveraging the power of Amazon Elastic Kubernetes Service (Amazon EKS) and the Couchbase Autonomous Operator to manage the nodes and clusters efficiently behind-the-scenes.
Figure 3 – Couchbase clusters can be scaled up or scaled out depending on need.
Building on top of Amazon EKS, Couchbase Cloud follows the best practices of multi-dimensional scaling (allowing scale-up or scale-out) for adding more nodes to the cluster or increasing power of existing nodes depending on service requirements.
This is supported by the cloud interface and underlying EKS framework, while keeping it simple for the cluster managers to administer.
Together, they can configure, spin up, failover, and coordinate many nodes across clusters without user intervention.
Figure 4 – Common cluster sizing options and services can be chosen for deployment.
The system monitors the creation of these clusters and informs users when they are fully provisioned and online. Any changes to the makeup and design of the cluster are easily adjusted and clusters are modified accordingly by the underlying EKS system.
Figure 5 – Cloud and cluster configuration status updates automatically.
Global Replication and Backups
For users needing high availability, multiple clusters can be linked together using cross data center replication (XDCR). This allows two clusters to communicate as replicas of one another.
Multi-cluster awareness is not limited to clusters hosted only within Couchbase Cloud. Any Couchbase cluster can be linked back to others to help replicate and distribute workloads or even as used as a one-way backup.
Nodes can also be tracked as distributed groups. Using built-in rack zone awareness, geographically distributed clusters can be maintained and monitored.
Applications can choose which cluster to use based on geographic location or other internal priorities.
Figure 6 – Cross data center replication can be used for online migration.
Global Data Privacy Needs
The ability to distribute data and services globally is a key requirement of Facet Digital and their clients. Couchbase Cloud databases adhere to global data protection standards such as GDPR by enabling developers to hold local data in specific cloud-based locales.
Facet Digital’s clients benefit from the distributed database nature of Couchbase and AWS, making it possible to deliver without having to change their development model. In fact, due to the automated nature of this stack, and built-in global capabilities, they have seen 70 percent reduction in time when building with Couchbase Cloud on AWS.
Integrated Cloud Security
Database users, roles, and cloud network access controls are also exposed through the same management interface. This makes it easier to keep things up to date without needing to drop to lower levels in the infrastructure to change settings.
Corporate separation of duties can be reinforced as database management is given the roles and access they require without having to modify security groups directly.
Naturally, the full VPC security settings are always available to be managed as well, providing full transparency and control to the cloud management teams involved.
Figure 7 – VPC security settings, cluster, and database users define roles and privileges.
Developer Quick Start
When clusters are ready to be used, a developer can start testing the environment by copying code from the built-in software developer kit (SDK) code samples provided in the management interface. They are pre-populated by the correct network addresses, helping to shortcut the time-to-test and development cycle.
Figure 8 – Sample SDK code is pre-populated with connection properties.
The end result is flexible cluster management, along with centralized AWS cost control and transparency. Monitoring is built-in and cluster health and performance can be easily seen at-a-glance through the hierarchical interface.
Figure 9 – Built-in monitoring shows cluster health at-a-glance.
Further monitoring can be enabled by leveraging Prometheus, Grafana, or Terraform, depending on what the customer is already using. This provides a unified monitoring capability that does not only rely on what Couchbase Cloud delivers, but integrates fully with the architecture of the customer.
Managing Company Costs Transparently
Couchbase Cloud leverages the power of AWS and all of the related resources users have at their disposal. Users choose the precise instance type they need for performance, whether it’s for prototyping or production.
Couchbase Cloud also allows users to use their reserved instances to plan ahead and reduce costs substantially. This approach to managing total cost of ownership (TCO) is a common challenge for new cloud users, but is made much easier this way.
Ad hoc instance use is still supported as well, giving the manager the ability to decide how to best manage those costs according to company objectives.
Bringing it All Together
It’s now possible to reduce system management complexity while also delivering powerful distributed cloud database technology.
For customers like Facet Digital, they get the best of both worlds, building on top of powerful, stable technology, and sharing the benefits of enterprise performance and scalability with the solutions they deliver to their customers. All of this while keeping costs low and transparent using built-in AWS cost control methods.
To learn more about Couchbase Cloud, get started with a 30-day free trial.
Here are a few other resources you may find helpful:
- Case study: Couchbase Cloud and Facet Digital
- Service overview and datasheet: Couchbase Cloud
- Launch announcement: Couchbase Cloud is the Enterprise-Class NoSQL DBaaS for the Multi-Cloud Era
- Couchbase Cloud on AWS Marketplace
The content and opinions in this blog are those of the third-party author and AWS is not responsible for the content or accuracy of this post.
Couchbase – AWS Partner Spotlight
Couchbase is an AWS Advanced Technology Partner whose mission is to be the data platform that revolutionizes digital innovation.
*Already worked with Couchbase? Rate the Partner
*To review an AWS Partner, you must be a customer that has worked with them directly on a project.