“Developers, as you know, do not like to pay for things”

CockroachDB EC-1 Part 3: Developer relations and business

In the previous part of this EC-1, we looked at the technical details of CockroachDB and how it provides accurate data instantaneously anywhere on the planet. In this installment, we’re going to take a look at the product side of Cockroach, with a particular focus on developer relations.

As a business, Cockroach Labs has many things going for it. The company’s approach to distributed database technology is novel. And, as more companies operate on a global level, CockroachDB has the potential to gain some significant market share internationally. The company is seven years into a typical 10-year maturity model for databases, has raised $355 million, and holds a $2 billion market value. It’s considered a double unicorn. Few database companies can say this.

The company is now aggressively expanding into the database-as-a-service space, offering its own technology in a fully managed package, expanding the spectrum of clients who can take immediate advantage of its products.

But its growth depends upon securing the love of developers while also making its product easier to use for new customers. To that end, I’m going to analyze the company’s pivot to the cloud as well as its extensive outreach to developers as it works to set itself up for long-term, sustainable success.

Cockroach Labs looks to the cloud

These days, just about any company of consequence provides services via the internet, and a growing number of these services are powered by products and services from native cloud providers. Gartner forecasted in 2019 that cloud services are growing at an annual rate of 17.5%, and there’s no sign that the growth has abated at all.

Its founders’ history with Google back in the mid-2000s has meant that Cockroach Labs has always been aware of the impact of cloud services on the commercial web. Unsurprisingly, CockroachDB could run cloud native right from its first release, given that its architecture presupposes the cloud in its operation — as we saw in part 2 of this EC-1.

Yet, the company’s early business model was centered on offering an enterprise license to its technology as well as integration services. Potential customers looking to use CockroachDB would first have to set up their own cloud infrastructure, then install CockroachDB, and then manage and optimize the performance of the database as their application needs changed. Plenty of companies have the talent to do that heavy lifting, but that business model limited the pool of potential clients who could use CockroachDB.

To address that drawback, the company is now aggressively expanding into the database-as-a-service (or what is clunkily known as DBaaS) space, offering its own technology in a fully managed package, expanding the spectrum of clients who can take immediate advantage of its products.

Given its ease of use, DBaaS has grown heavily in popularity in recent years as companies became more receptive to this service model. Last year, research firm IMARC Group predicted DBaaS would grow by around 20% from a starting 2020 market value of $12.8 billion between 2021 and 2026. So far, the projections are holding up and might even be accelerating given the rapid growth of internet services during the pandemic last year.

To secure its future, Cockroach Labs is trying to protect its property from unremunerated use by other cloud providers by moving from the Apache License 2.0 to a variant of the Business Source License (BSL) in 2019. As Chief Revenue Officer Jeff Miller points out, “ … we’ve protected ourselves with the licensing model so that cloud providers cannot cannibalize us.”

Chief Revenue Officer Jeff Miller. Image Credits: Cockroach Labs

As its blog post at the time noted:

We’re applying this license to the core edition of CockroachDB (i.e., the code that is currently under the Apache 2.0 license). This means that CockroachDB core is no longer Open Source (according to OSI’s Open Source Definition), although the complete source code is still available, and any commercial usage is allowed with the one exception of building a DBaaS. We believe this is the best way to balance the needs of the business with our commitment to Open Source. The new license still permits the vast majority of users to use, redistribute, and modify CockroachDB freely, and will become no-strings-attached Open Source after three years.

Cockroach Labs knew there was money to be made in the cloud. It wasn’t a matter of if the company would make CockroachDB a database-as-a-service offering, but a matter of when, and it finally took the plunge in 2019 when it released CockroachCloud.

Setting up CockroachCloud and pricing

CockroachCloud is a full-fledged implementation of CockroachDB as a DBaaS product. Customers create an account with the service, provide some billing information, and then create installations of multimachine, multiregion CockroachDB clusters.

CockroachCloud does not physically host these clusters, but rather, as of this writing, runs them in either Amazon Web Services (AWS) or Google Cloud (GC) data center regions. Support for Azure is notably missing, but will be forthcoming in the near future, according to Jim Walker, director of product marketing at Cockroach Labs.

Developers and database administrators use the browser-based CockroachCloud Console to create clusters and databases as well as assign user privileges.

The CockrochCloud Console allows administrators and developers to create CockroachDB clusters.

The CockroachCloud Console allows administrators and developers to create CockroachDB clusters. Image Credits: Cockroach Labs

Once created, they can use the CockroachCloud command-line tool or a graphical user interface provided by a third-party such as DBVisualizer to work with the database cluster.

These are the only tools that companies need to use to administer the product. At the application level, CockroachCloud provides the connection string and parameter information that applications need to connect to the database cluster through code using PostgreSQL database drivers, which are widely available in the standard libraries of most programming languages.

Matters of backup, regulatory compliance, security, provisioning and scale are handled behind the scenes in the cloud. The value proposition for using CockroachCloud is straightforward: A company can avail the benefits of globally distributed CockroachDB database clusters without having to pay for staff and computing resources.

The CockroachDB command line tool and GUI

The CockroachDB command line tool and DBVisualizer GUI. Image Credits: Cockroach Labs

Similar to other cloud-pricing models, CockroachCloud is sold on a subscription basis. Customers pay according to metered charges applied on a per-node, per-hour basis with the company’s self-service offering. The user chooses a public cloud storage host when a cluster is created. Subscribers do not pay for hosting on AWS or Google Cloud, since the cost is included in CockroachCloud’s pricing.

The costs run between $.50 and $3.83 per hour depending on node configuration. Notably, the prices are slightly more expensive for AWS than Google Cloud for equivalent hardware — ranging about 10%-15% higher. The screenshot below shows CockroachClouds pricing schedule as of July 2021.

Unlike traditional enterprise services agreements, CockroachCloud self-service subscribers are entitled to unlimited support tickets with a 24-hour turnaround time. In addition, the company offers a Premier support service that costs more. The company was not able to offer any details on the pricing of its enterprise contracts or premier support to TechCrunch.

CockroachCloud charges apply on a per node basis

CockroachCloud charges apply on a per node basis. Image Credits: Cockroach Labs

“Developers, as you know, do not like to pay for things”

CockroachDB is a free, open-source product. It doesn’t cost anything to download and set up on your own, putting it on par with other popular open-source databases like MySQL and MariaDB.

But after spending most of his professional life code-slinging until he started his own companies, Cockroach Labs co-founder and CEO Spencer Kimball understands two facts about software developers. First, their support can be critical for long-term adoption of a given technology, and second, they don’t like to pay.

“Developers, as you know, do not like to pay for things. And to my mind, that means that you have to make a database free,” Kimball said. “We want to deliver [a product] that’s interesting without them ever having to put a credit card in. We want this to be absolutely, perpetually free. That’s why for CockroachCloud, we provide a pretty generous free tier.”

That’s the logic behind CockroachLabs’ absolutely free developer version of CockroachCloud, which it provides in addition to its paid self-service and enterprise offerings. All a developer needs to do is provide some basic registration information.

Once entered, developers have access to their own CockroachDB cluster running on a scaled-down environment of Google Cloud. Crucially, no credit card is required.

Any developer can have an instance of a CockroachDB cluster running for free on CockroachCloud.

Any developer can have an instance of a CockroachDB cluster running for free on CockroachCloud. Image Credits: Cockroach Labs

In addition to getting a CockroachDB cluster, developers on the free tier can create event alerts within their cluster. However, the free tier does not allow you to create more than one cluster and doesn’t support backups either.

The system monitoring capabilities you get in a paid subscription are missing, too. Nonetheless, the free tier version provides enough of the capabilities that a developer needs to get some experience with CockroachCloud.

That free tier can be quite compelling, particularly in light of the free offerings from some of the company’s SQL database competitors. Microsoft has the free SQL Server Express version of its product as does Oracle with its free version, Oracle Database 18c Express Edition (XE). These free offerings are useful for developers to experiment with, but are not really suited for production use.

CockroachDB wins in the competition against these express products because it is production ready. But then again, so are MySQL and MariaDB.

CockroachDB has a distinct competitive advantage, though: The free version supports global clustering. A company can set up a fully functional, multiregion cluster of CockroachDB database servers for free right out of the box. Other database providers require that a company pay for an enterprise version in order to get a lot of the functionality that CockroachDB provides for free.

Attracting and maintaining developers’ attention

In 2000, Steve Ballmer, then-CEO of Microsoft, pretty much summed it up as he pranced across the stage in a sweat-soaked frenzy shouting, “Developers, developers, developers!” during Microsoft’s Windows Developer Conference. Cockroach Labs understands today what Microsoft understood back then: When it comes to making money in the software business, developer adoption is vital.

Microsoft CEO Steve Ballmer delivers the opening keynote address at TechEd 2004. Image Credits: Kim Kulish/Corbis / Getty Images

Cockroach Labs wants to make adopting CockroachDB as painless and captivating as possible for developers, and has gone to great lengths to achieve this goal.

CockroachDB’s technical documentation is well organized, attractive and interactive. In addition to the standard fare of quickstarts and API references, which are comprehensive and well-written, developers can get direct experience working with CockroachDB by writing Cockroach SQL code interactively into the SQL Playground section of its web site. (CockroachDB SQL is an extension to the SQL programming language that Cockroach Labs created to accommodate the way CockroachDB handles global data.)

The SQL Playground allows developers to practice writing CockroachDB SQL against a globally configured demonstration database named “movr”.

The SQL Playground allows developers to practice writing CockroachDB SQL against a globally configured demonstration database named “movr.” Image Credits: Cockroach Labs

In addition to SQL Playground, which is a pretty forward-thinking feature, Cockroach Labs provides a number of interactive tutorials to demonstrate particular concepts and features. The tutorials use Katacoda’s interactive learning technology, an approach also used by Red Hat to teach OpenShift and by the Cloud Native Computing Foundation to teach Kubernetes.

Cockroach Labs takes a formal approach to developer education through its free online courses at Cockroach University. The company also provides a wide variety of informal instructional videos on YouTube as well as streams on Twitch.

Developers can also sign up for certifications that allow them to promote themselves as CockroachDB specialists. Finally, Cockroach Labs runs a number of hackathons to encourage interest in its products.

But while developer support is essential, it doesn’t mean squat if your service doesn’t have a feature set that can compete head-on with other, similar services. To its good fortune, CockroachDB does.

Expanding CockroachCloud beyond the database

Part of the allure of becoming a software-as-a-service (SaaS) or a platform-as-a-service (PaaS) provider is that the provider gets the opportunity to capture increased revenue by expanding beyond its initial base services.

For example, AWS started out with storage services via S3 and virtual machine hosting via EC2. Over the years, its services expanded well beyond those early offerings, and its revenue increased accordingly.

When asked if Cockroach Labs intended to pursue this strategy of increasing revenue by broadening the scope of its service offering, the answer was “eventually.”

Walker, the director of product marketing, says, “We’ve got a lot of work to do to build a relational database for [global] consumption. Our primary focus is on building that relational, transactional system and delivering it in a way our customers want to consume it, which is primarily through the cloud. What that really ends up being is the concept of this serverless database where I don’t have to worry about scale.”

So while Cockroach Labs is aware of the enormous potential of CockroachCloud to evolve beyond data management services, the company’s short- and medium-term intent is to keep its focus on its primary technology, CockroachDB.

It’s a smart decision, as the competitive landscape in the SQL market is legion with competitors, which we will explore in the fourth and final part of this EC-1.


CockroachDB EC-1 Table of Contents

Also check out other EC-1s on Extra Crunch.