Going interstellar with Microsoft Cosmos

It’s fascinating to watch the thrust and parry of the competing public cloud platforms. Microsoft’s Cosmos is an example of competition-fueled innovation.

160927 d zz999 003b
Credit: Dod/DARPA

At Microsoft’s Build developer conference last week, the company announced Cosmos DB, a new cloud database offering that, if you believe the hype, entirely changed the database game. Before reelecting on what this means for developers and organizations, it’s worth taking a look at what Cosmos is.

Cosmos is a schema-free database service built with the aim of delivering high performance, fault tolerance, automatic indexing of data and truly globally distributed scalability. Cosmos is, at least in part, the evolution of Microsoft’s previous DocumentDB offering. DocumentDB was Redmond’s first foray into the NoSQL world. And while DocumentDB was a NoSQL choice in contrast to Microsoft’s relation offerings, Cosmos DB is multi-modal, offering developers the options to store relational or non-relational data. Scott Guthrie, Microsoft’s perennially red-shirted Executive Vice President of the Cloud and Enterprise group, described Cosmos as, “the first globally distributed, multi-model database service delivering turnkey global horizontal scale out with guaranteed uptime and millisecond latency at the 99th percentile.”

Cosmos is actually the descendant of The Florence Project, an initiative started seven years ago as a prototypical and globally distributed database. Florence eventually saw the light of day as DocumentDB and, three years after that launch, now has morphed into Cosmos DB. Now Cosmos is a significant extension of DocumentDB which was essentially a store for JSON data. Cosmos extends the idea of an index-free database system and also has support for various new data types that can work as a graph database or key-value database. In a case of Microsoft meeting the developers wherever they are and however they work, Cosmos supports SQL, Gremlin, Azure Tables and other driver and translation choices.

Alongside the global nature of Cosmos, it also offers the notion of tunable consistency. Whereas most competitive database offerings offer only strong or eventual regularity, Cosmos offers five different flavors of consistency depending on developer requirements. For those not au fait with the world of databases, strong consistency is a notion in which, whenever data is written to a database, all the different nodes, wherever they may physically be, have to agree on a new value before it becomes visible. Obviously there are some performance trade-offs in this situation. Eventual consistency, by contrast, is a more lenient system where the nodes don’t update simultaneously and, instead, come to agree on a value over time — after there hasn’t been any recent updates of data.

In terms of availability, Cosmos is generally available already across all of the 34 Azure regions. Existing DocumentDB customers, alongside the data stored in DocumentDB, are automatically migrated over to Cosmos. Users can set up a new Cosmos database through the regular Azure control panels, and developers can chose from two general release APIs — MongoDB and SQL. Graph and key-value APIs, however, are only available as previews.

While all 34 Azure regions can host Cosmos databases, a single database can be spread across a total of nine data center regions. Additionally, and no-doubt attractive to those who are sensitive about geographical peculiarities, users can target both reads and writes to individual regions.

Microsoft pitches Cosmos as a killer offering that resolves some of the problems its competitors’ proposals face — namely scaling issues, in the case of Aurora, and incompatibility, in the case of Google’s recently released database product, Spanner. Differentiation, however, is both debatable and a point-in-time advantage, and you can be sure that both AWS and Google watched the Cosmos launch with interest and will resolve any shortcomings their offerings may have.

While there was some chatter at the launch that Cosmos is simply DocumentDB with a different name, a number of developers I spoke with indicated that, in their view, it is a compelling offering, and one which, at first blush, offers some real advantages. The ball is now, it would seem, in the courts of AWS and Google.

This article is published as part of the IDG Contributor Network. Want to Join?

Computerworld's IT Salary Survey 2017 results
Shop Tech Products at Amazon