Cloud on cloud: Couchbase as a service on Azure

The Azure Marketplace lets you add third-party tools and services, such as Couchbase’s NoSQL database, to your applications.

Cloud on cloud: Couchbase as a service on Azure
ivanastar / Getty Images

One of the advantages of modern cloud platforms such as Azure is their variety of PaaS and IaaS. You can mix and match different technologies, bringing your own tools and applications to the cloud alongside Azure’s services. All you need to do is configure a VM, host it in a resource group, and choose from your library of software or from Microsoft’s.

Things get more interesting when you add in the Azure Marketplace, which offers Azure-optimized applications from third-party vendors, both familiar on-premises tools and new cloud-native applications. Applications purchased through the Azure Marketplace are billed via your Azure account and installed from the Marketplace’s own library of virtual machines.

The cloud marketplace as the new software package

As vendors get happier working with cloud providers, and as users get more familiar with cloud-native management models, a new class of applications is evolving. Delivered through marketplaces, they run in familiar virtual machine appliances, installed, managed, and billed as you’d expect. But there’s a new management model: The vendor takes over managing those VMs, providing its own management console for the new cloud-managed versions of its applications.

These new console-managed applications are available alongside traditionally licensed versions, so you can continue to manage your own instances if you prefer. But in areas where you want to hand over updates and security to experts, opting for a managed application from the Azure Marketplace makes a lot of sense. You’re letting the vendor do what it does best: offering a tuned experience for the cloud and providing security and other updates as they roll out, while you concentrate on building and running your applications.

A cloud-centric approach to service management makes sense with Azure Marketplace applications: Users are already familiar with Azure’s own management model by the time they start to use the Marketplace. They expect security and application updates to be transparent, that their applications will continue to run as updates are applied, and that they will have access to a set of monitoring and management tools focused on their applications, not the virtual infrastructure that hosts the service.

Running Couchbase Cloud on Azure

One of the latest applications to transition to this cloud-first service model is Couchbase, a flexible, in-memory NoSQL database. Built around a JSON document database, it’s designed to quickly cluster, and it offers a SQL-like query language as well as support for distributed transactions and alternate consistency models, much like those used by Microsoft’s own Azure Cosmos DB.

Unlike installing a database instance in your own virtual infrastructure, Couchbase Cloud provides a one-stop shop for managing and deploying database instances across all your resource groups and across multiple Azure regions.

Couchbase’s Azure release is closely related to its AWS Couchbase Cloud, built on top of the Couchbase Enterprise Server 6.6 product, with all control tools moved to a new Cloud Control Plane. That does mean you lose access to the Couchbase CLI and the web console, but you can still transfer settings from on-premises systems to the cloud. The two versions offer similar features but have different service levels.

Couchbase’s approach is conceptually similar to that used by software-defined networking, separating out the control plane and the data plane. Couchbase operates the control plane for you, providing a web-based management and monitoring environment while the data plane runs in your Azure resources, using them for compute and storage. Using the Couchbase tools, clusters are configured and deployed directly into your Azure account, with cluster-level and project-level monitoring.

The flexibility of Couchbase Cloud in Azure

Two versions are available: Cloud Developer Pro and Cloud Enterprise. You can use the Developer Pro version to build and test databases before moving them to a Cloud Enterprise instance. Most of the familiar Couchbase tools are available in the cloud service, and you have the option of using the database’s replication tools to link on-premises clusters to cloud instances, so you can move existing applications to the cloud easily or use a cloud Couchbase instance when you need burst capacity.

In practice you’re most likely to use Couchbase Cloud for production databases, working with local instances for development purposes, either in VMs in Azure or on your own hardware. Data and schema can be transferred to cloud instances before you go live, and applications can be given cloud API end points, especially if you’re using the cloud service in conjunction with Couchbase’s mobile and edge applications.

The Couchbase service will scale up and down as necessary, adding new nodes and handling sharding automatically. The Azure Couchbase Cloud instances are initially available in the main data centers in the United States, Europe, Japan, and Southeast Asia, which should support most applications without significant latency and give you enough coverage to set up geographically isolated instances for resilient operations.

New vendor relationships in the public cloud

Like many other Azure Marketplace vendors, Couchbase is adapting its business model to the way the public cloud works. Having a product that’s already in use on-premises and in the cloud is an advantage over other NoSQL database vendors that may find it hard to transition from selling products and services to operating databases as a service for hundreds or thousands of customers.

Billing is per hour, per node, with additional costs for Azure resources. Couchbase is an in-memory database, so you will need to consider this when sizing compute instances and choosing storage options. Entry-level pricing is $0.28/hour/node for Developer Pro and $0.44/hour/node for Cloud Enterprise, though operational pricing does require contacting Couchbase’s sales team for a quote. Once up and running you can pay per hour or buy credits in advance.

The latter option works well in combination with reserved instances, as it allows you to budget in advance for your application costs. You can use a pay-as-you-go model while you are setting up and scaling an application, both in Azure and in Couchbase, before using operational data to determine what fixed resources are needed. Once you have the data, you can budget for planned expansion while still significantly reducing overall operational expenses.

From a developer and user perspective, the Azure Marketplace makes it easy to buy in-platform services that work with the Azure way of building applications. With the option of buying directly from Couchbase or through the Marketplace (coming April 2021), it’s possible to manage your expenditure more directly, building on existing relationships with either Microsoft or with Couchbase. The result is a flexible way to add fast, powerful, in-memory databases to your code, without having to worry about setting up, configuring, and managing a whole new virtual infrastructure.

Copyright © 2021 IDG Communications, Inc.