In an effort to power “planet-scale cloud services and data-intensive applications,” Microsoft is releasing Azure Cosmos, a new database service.
Azure Cosmos is part of Microsoft’s “cloud first, mobile first” strategy. It’s the company’s democratization of technology; rather than make disparate or unique services for Internet of Things (IoT), mobile, desktop or anything else (such as mixed reality), it sees the points where all of those things can interact with one another via the cloud.
Microsoft has also turned this service on for the entire world. There is no gradual rollout; instead, developers can start using Azure Cosmos immediately, and target locations as they see fit. The company says it’s “the industry’s first globally distributed, multimodal database service to deliver horizontal scale with guaranteed uptime, throughput, consistency and millisecond latency at the 99th percentile.”
In keeping with that, Microsoft is promising near-perfect Service Level Agreement (SLA) uptime for a database that’s available worldwide, and for any device or service you develop on or for it. Even better: you only pay for the transactions and data you consume.
It’s also schema-agnostic, auto-indexing, and supports “popular NoSQL choices.” Microsoft says you can choose just about any data model and query API you like (MongoDB, DocumentDB SQL, Gremlin and Azure Tables are noted, with the last two currently in preview), and Cosmos scales from the smallest gigabyte/query solutions well into petabytes of data with millions of queries per second.
The example provided during the Build conference was jet.com, which already uses Cosmos in production. Jet has over 100 trillion queries per day, and claims a single digit performance latency in the 99th percentile. If you’re not familiar with Jet, it’s an Amazon competitor selling online goods from every corner of retail, so uptime and reliability are directly tied to its business model.
Cosmos also feels a bit Amazon-ish. It’s scalable and pay-as-you-go, which in many ways resembles Amazon Web Services (AWS). Cosmos is positioned as useful for enterprise, which is where Oracle does business. To that, we should expect a growing competition between the two companies on the database front. If you were being critical, you could say Microsoft mimicked much of what makes Oracle Database attractive; both provide migration, but Microsoft also offers developers the ability to keep existing databases if they like. Security is also a priority, and both lean hard into the ‘power of the cloud’ for scalability.
One interesting Cosmos feature is how it executes on its SLA promises. Microsoft claims more data-centers worldwide than Google or Amazon, which is handy for countries that demand that data stay within their borders. Azure’s dashboard can report back on issues such as DDoS or attempted hacks, and Graph can also be scaled and replicate data globally or by region.
It also adds new layers to consistency models. While most database services make you choose between strong and consistent, Cosmos adds bounded-staleness, session and eventual to the mix. The company says you can “further optimize the tradeoffs” as you see fit for your apps and services, which can help users get more info based on their connection and ability to link to cloud-based data.
Cosmos isn’t ‘sexy’ technology; databases will never be as exciting as new phones or operating systems, but they’re probably more critical. Microsoft believes in it so much that it says “your data gets there fast, or your money back” on the Cosmos landing page. It’s tied Cosmos directly to its business model, which is a strong endorsement.