Azure Cosmos DB
Azure Cosmos DB is Microsoft’s globally distributed, multi-model database service for mission-critical workloads. Azure Cosmos DB provides turnkey global distribution with unlimited endpoint scalability, elastic scaling of throughput (at multiple granularities, e.g., database, key-space, tables and collections) and storage worldwide, single-digit millisecond latencies at the 99th percentile, five well-defined consistency models, and guaranteed high availability, all backed by the industry-leading comprehensive SLAs. Azure Cosmos DB automatically indexes all data without requiring developers to deal with schema or index management. It is a multi-model service, which natively supports document, key-value, graph, and column-family data models. As a natively born in the cloud service, Cosmos DB is carefully engineered with multitenancy and global distribution from the ground up. As a foundational service in Azure, Cosmos DB is ubiquitous, running in all public regions, DoD and sovereign clouds, with industry-leading compliance certification list, enterprise grade security – all without any extra cost.
Cosmos DB’s unique approach of providing wire protocol compatible APIs for the popular open source-databases ensures that you can continue to use Azure Cosmos DB in a cloud-agnostic manner while still leveraging a robust database platform natively designed for the cloud. You get the flexibility to run your Cassandra, Gremlin, MongoDB apps fully managed with no vendor lock-in. While Azure Cosmos DB exposes APIs for the popular open source databases, it does not rely on the implementations of those databases for realizing the semantics of the corresponding APIs.
At Ignite 2018, we are bringing decades of distributed systems research to make Cosmos DB the database which helps Microsoft realize its Intelligent-Cloud-Intelligent Edge vision. With Azure Cosmos DB, we have harvested decades of distributed systems research, married with rigorous engineering and operationalized it at massive scale that you can learn more about in this technical blog.
Azure Cosmos DB at Ignite 2018
The new Cosmos DB capabilities which we are announcing at Ignite 2018 is a crucial step towards enabling anyone to easily build globally distributed apps for the Intelligent-Cloud-Intelligent Edge era.
General availability of multi-master at global scale
We are happy to announce the general availability of multi-master at global scale. This enables unprecedented write scalability and availability with multi-master replication. With Cosmos DB’s multi-master replication protocol every region becomes writable (in addition to being readable) which enabled the following capabilities:
- Unlimited and elastic write scalability, all around the world. With Azure Cosmos DB, you can now elastically scale the writes (in addition to the reads) all around the world, across any number of Azure regions, any time.
- 99.999% write availability, all around the world. Azure Cosmos DB offers 99.999% write availability (in addition to 99.999% read availability) around the world, backed by the industry-leading SLAs.
- Guaranteed low write latency at the 99th percentile, all around the world. In addition to the guaranteed single-digit-millisecond read latencies, Azure Cosmos DB now delivers a single digit write latency at the 99th percentile, anywhere around the world, which is guaranteed by the financially-backed SLAs.
- Unlimited endpoint scalability, all around the world. Azure Cosmos DB’s replication protocol is designed to support unlimited number of endpoints – from 100s of cloud regions to billions of edge devices. Its master-less replication protocol is designed to treat cloud regions and edge endpoints homogeneously – cloud regions and edge devices are true peers. We have architected Azure Cosmos DB to enable ISVs and developers to write occasionally connected edge apps and seamlessly connect databases running on-premises and on other clouds to Cosmos DB in an active-active manner.
- Multiple well-defined consistency models to choose from. Azure Cosmos DB’s multi-master replication protocol composes extremely well with various consistency models it already exposes. You continue to get an intuitive programming model for data consistency with clear tradeoffs for availability, latency and throughput for a given consistency model.
- Intuitive and flexible programming model for conflict management. In master-less database architectures, write-write conflicts are possible. In a typical master-less system, detection and resolution of conflicts are usually left as burden for application developers. The design of Azure Cosmos DB’s replication protocol ensures conflicts are automatically detected by the system. We also provide multiple, well-defined conflict resolution modes that guarantees strong convergence.
- Multi-master capabilities for all APIs and data models. Azure Cosmos DB’s multi-master replication protocol automatically applies to all APIs the service already exposes. You can continue to use your favorite open source software (OSS) API and toolchain, and now you get multi-master and all capabilities that come with it for your OSS-based apps. For the first time, you can build multi-master MongoDB, multi-master Gremlin (graph) apps within seconds.
Read more about multi-master replication here.
General availability of Cassandra API
We are excited to announce general availability of Cassandra API. By providing wire protocol level compatibility with the Apache Cassandra, Cosmos DB ensures you can continue using your existing application and OSS tools with no code changes and gives you the flexibility to run your Cassandra apps fully managed with no vendor lock-in while still leveraging a robust database platform natively designed for the cloud. With Azure Cosmos DB’s native support for Apache Cassandra by virtue of Cassandra API you will get the following benefits:
- Fully managed, serverless Cassandra as-a-service. As a true PaaS service, Azure Cosmos DB ensures that you do not have to worry about managing and monitoring myriad of settings across OS, JVM and YAML files and deal with complex interdependencies. Azure Cosmos DB provides first-class monitoring of throughput, latency, consistency, storage and availability and configurable alerts to take action on changes across them.
- Turnkey global distribution. Azure Cosmos DB was designed as a globally distributed service from the ground up to ensure that your data is made available wherever your users are. The service transparently and automatically replicates the data across any number of Azure regions associated with your Cassandra tables. You can add or remove regions for your Cassandra tables with a few clicks in Azure portal or programmatically, at any time.
- Elastic and transparent scaling of storage. Azure Cosmos DB provides automatic storage management without the need for any manual intervention and grows the capacity as your application storage needs increase. You don’t need to worry about the complexities of capacity planning or having to deal with adding cluster nodes and tuning configs anymore.
- Elastic scaling of throughput all around the world. With Azure Cosmos DB you don’t need to worry about tuning config settings for CPU, memory, disk IO, and compaction. Azure Cosmos DB allows you to scale throughput for your Cassandra tables all around the world and guarantees the configured throughput regardless of the volume of data being stored.
- Guaranteed low latency reads and writes. As a schema-agnostic database, Azure Cosmos DB automatically indexes all your data, so you can perform blazing fast queries. The service offers guaranteed <10 ms latencies at the 99th percentile for near real-time query results.
- Multiple well-defined consistency models with clear tradeoffs. Writing correct distributed application logic against an eventually consistent database is often difficult. Azure Cosmos DB helps you by providing five well-defined, intuitive and practical consistency levels, each with a clear trade-off between desired consistency and performance, guaranteed correctness and backed by SLAs. You can now choose from multiple consistency models and can configure them any time and change on a per request basis.
- Secure, compliant and enterprise-ready, by default. Azure Cosmos DB is secure, compliant and enterprise-ready service for mission-critical apps. Azure Cosmos DB has met the stringent compliance standards including ISO 27001, ISO 27018, EUMC, PCI DSS, SOC 1,2,3, HIPAA/HITECH and other compliance certifications. Azure Cosmos DB also provides encryption at rest and in motion, IP firewall and audit log for your database activities, VNET (service endpoint) support to ensure demanding security standards of enterprises.
- Backed by industry leading, comprehensive SLAs. Azure Cosmos DB provides industry-leading, comprehensive SLAs for 99.99% high availability for single region and 99.999% read and write availability at global scale, consistency, throughput and low latency reads and writes at the 99th percentile. Users do not need to worry about operational overheads and tuning many dozens of configuration options to get good performance. Azure Cosmos DB takes away the worry of managing all these issues and lets you focus on your application logic instead.
- Easy migration of NoSQL workloads to cloud. Azure Cosmos DB also makes it easy to migrate your NoSQL data workloads to Cosmos DB and benefit from the cloud-native database and the benefits it provides instantly.
Read more about Azure Cosmos DB Cassandra API here.
More Cosmic developer goodness!
5x lower minimum entry point for database-level provisioned throughput offer: We are happy to announce 5x lower minimum entry point for database-level provisioned throughput. In addition to being able to provision throughput for a Cosmos DB container (which could be a collection, a table or a graph – depending on the data model and API you are using) either programmatically or via Azure portal. Now, you can also configure throughput on your Cosmos DB database. Provisioning throughput on a Cosmos DB database, allows you to share the throughput among all the containers that belong to that database. This allows you to “pool” the provisioned throughput across a set of containers within a Cosmos DB database. In fact, within a given Cosmos DB database, you can mix and match containers which “share” the throughput among themselves as well as specific containers which have been assigned dedicated throughput. By provisioning throughput at different granularities (e.g., containers and databases), you can now better optimize your costs based on your workloads’ characteristics.
If your container or a database are distributed across multiple regions, then the throughput you configure on the container or the database is guaranteed to be made available across all regions. Now it becomes even 5x less expensive to start with the database level offer. Read more about provisioning throughput at database level here.
Reserved capacity for Azure Cosmos DB: Azure Cosmos DB Reserved Capacity is now generally available for customers worldwide, effective today. Reserved capacity enables you to reserve provisioned throughput in Cosmos DB on a one-or three-year term and provide up to 65% cost savings versus pay-as-you-go prices. Azure Cosmos DB reserved capacity gives you price predictability and helps improve your budgeting and forecasting. Read more about reserved capacity and the cost savings you can achieve in this blog and in the documentation.
Even stronger SLAs: We are proud to announce even stronger SLAs for Cosmos DB. Cosmos DB is the only database service in the market which offers comprehensive five 9 SLAs encompassing consistency, latency, throughput and availability. Starting today, we are updating our SLA page – with five nines write availability (in addition to five nines read availability) for multi-regional databases and a single digit millisecond write latency at the 99th percentile anywhere in the world. Read our latest SLA page here.
General availability of new Azure Cosmos DB JavaScript SDK 2.0: We are happy to announce the general availability of the version 2.0 of the JavaScript SDK, with completely redesigned object model, added support for promises and completely redesigned the object model to make it easier to interact with and perform operations against Cosmos DB. With the new SDK, you can create a new database, container, and add an item to it, all in 10 lines of code or less! The Azure Cosmos DB JavaScript SDK is open source, and our team is planning to do all development in the open. To that end, we will be logging issues, tracking feedback, and accepting PR’s in GitHub. Read more and try the samples with the new SDK here.
New features and improvements for developers: We are very excited to announce new features and improvements for developers. You can now try Azure Cosmos DB for free for an entire month! We have extended the popular Try Cosmos DB for Free experience to 30 days (which you can always renew). This experience allows you to evaluate Azure Cosmos DB’s capabilities for free for 30 days, no Azure subscription or credit required. Get started with Try Azure Cosmos DB for free today. Other improvements we are bringing to developers include SDK updates to support multi-region writes, Cosmos Explorer, Portal UX updates with recommendations and Cosmos DB Local version (Emulator) support for all APIs and Azure DevOps build task. Read more about these features here.
Voices of our customers
It is deeply heartening for us to see the growth of the service. We are very grateful to our customers who have relied on Azure Cosmos DB to build their mission-critical apps, pushed the limits of the service and always demanded the best.
Some of the world’s largest internet-scale businesses such as Siemens, ASOS, Citrix, Jet.com, Dominos, Kohler, Crestron and countless other enterprises depend on Cosmos DB for their mission-critical workloads. Within Microsoft, Cosmos DB has become ubiquitous – Microsoft’s own mission critical applications and services including LinkedIn, Skype, XBOX, Active Directory, Azure Portal, Office 365, Bing, Universal Store and countless others all rely on Cosmos DB for managing their data globally, at scale.
Here are a few words directly from some of our customers on how transformative Azure Cosmos DB has been to their businesses:
“Cosmos DB has delivered a high-performance worldwide platform for our global reputation system. With a click of a button we can rapidly deploy regions worldwide to deliver excellent response time to our customers and partners. The Cosmos DB Cassandra API eliminated major engineering efforts during migration of our services as we were able to integrate with very minimum change. Our largest service is slated to migrate with the launch of Cassandra API support.”
Michael Shavell, Technical Director / Architect at Symantec
“Azure Cosmos DB is an amazing technology. The biggest benefit for us is that we can have one database for anonymous data that is replicated worldwide into all regions that are relevant for us, in a consistency model that perfectly fits our needs. It’s key that Azure Cosmos DB is naturally built into the Azure core infrastructure, and we can build on its high availability and replication, offering software to all our customers at the same time.”
Thomas Gossler: Lead Architect, Digital Ecosystem Platform, Siemens Healthineers
“Cosmos DB continues to provide us the scale and performance needed across many regions in making our Crestron XiO Cloud successful. Support for multi-master write will be a huge plus moving forward.”
Krushna Samanta, Senior Manager Software Products & Enterprise Solutions, Crestron
“At Liberty Mutual, we are always looking for new ways to engage with our customers and personalize their web experience. To do this, we needed to approach data modeling differently. We had a mix of hierarchical and transitive relationship patterns and data normalization was only taking us so far. Modeling our data as a graph enabled us to address our needs, and Azure Cosmos DB enabled us to deliver this solution quicker, and in a cloud managed environment that’s enterprise-ready, scalable and highly performant. The Cosmos DB Change Feed API helped us simplify synchronization with existing Systems of Record, allowing us to focus on building customer-centric capabilities rather than infrastructure and operational concerns.”
Arvin Suresh, Architect, Liberty Mutual Insurance
“Azure Cosmos DB has allowed us to develop our smart environment use cases for our Digital Vault through the power of Gremlin API and flexible data shape management. We have implemented graph database with our uniform building metadata representation and taken advantage of the added security, high availability and global scale that Cosmos DB provides.”
Dr. Youngchoon Park, VP, Platform and Data Science.
“We used MongoDB aggregation pipeline and when Cosmos DB offered that, it enabled Cosmos DB as an amazing option for us. We see tremendous potential for Cosmos DB in our products”
Phil Christensen, Senior Vice President for Reality Modeling & Cloud Services, Bentley Systems
“The low latency geo-replicated nature of the Multi-Master feature is critical to RemoteSpark users by allowing them to connect to their local Azure Cosmos DB database, facilitating a common session between remote front-line workers and an expert. They can communicate via video/audio call, share documents, and view interactive IoT enabled holograms even though each user is connected to a different Azure Data Center. This enables remote workers to connect to experts anywhere in the world without worrying which is the best data center to connect to for optimum performance.”
Ryan Groom, CTO, Kognitive Spark
“ServiceLink/FNF provides digital mortgage services to some of the largest lenders in the country, and EXOS is the name of our Azure based digital platform that serves as the underpinning for various mortgage products we offer in the market. As part of the EXOS platform, for the customer facing mobile component and all the data that we leverage to run real-time algorithms, we had to choose a database with extreme low latency and high scalability to provide a sub second response to the end user. Our Uber like Vendor mobile app and the Consumer mobile app leverages micro-service based architecture to run complex algorithms and present data to the mobile users in less than a second, and Cosmos DB is at the core of this architecture. Our end user response times have come down from around 6-8 seconds prior to leveraging Cosmos DB to less than 1 second, and our TCO has come down significantly since we started leveraging Cosmos DB.”
Kiran Vattem, EVP, Chief Digital and Technology Officer, ServiceLink
“Cosmos DB helps us to scale out our digital integration scenarios with a tremendously reduced need of actually ‘caring’ about the resource and with a high degree of flexibility of API & data models .”
Kai Walter, Lead IT Solution Architect, ZEISS Group“Our secret weapon is Azure Cosmos DB. Reliability plays a key role in our mission-critical systems, which require predictable, lightning-fast performance and SLAs of at least 99.99 percent uptime. I’m very glad that we are using Azure Cosmos DB. Thanks to this solution, we are more productive. It’s a fast scale up and scale down; we can concentrate on creating real business value.”
Jonas Granlund, Cloud Architect, Elkjøp
“We consider Azure Cosmos DB Graph API a major financial win for us. We get Azure Cosmos DB Graph API for about 2 percent of the price of our previous solution. We use Azure Cosmos DB elastic scaling to accommodate that load without having to pay for maximum capacity 24/7,” says Boon. “We simply scale up for the duration of the import, whether that takes 10 seconds or two minutes, and then instantly scale back down.”
Darren Boon, Development Manager, Diply”When our customers are in the thick of doing their work, they need the right content at that moment. Our customers can look up details on recent law changes far more easily with Azure Search and Azure Cosmos DB. We refreshed our Nextens platform with Azure Cosmos DB graph and improved the quality of the relationships between all our content types, including tax laws, news, and jurisprudence. Our customers can look up details on recent law changes far more easily with Azure Search and Azure Cosmos DB graph.”
Michael Goedhart: Senior Director of Technology, Nextens“Cosmos DB combines schema free document database with SQL syntax and Change Feed streaming capabilities, all under strict SLA. This is great! This substantially simplified our architecture and enabled us to meet all our core requirements.”
Frantisek Kaduk, Principal Software Engineer, Skype
Transform the world through the apps you build on Azure Cosmos DB
We are committed to making Azure Cosmos DB the best globally distributed database for all businesses and modern applications. With the new capabilities which we are announcing at Ignite 2018, we believe that you will be able to write amazingly powerful, intelligent, modern apps. We want to help you to truly transform the world through the apps you build on Azure Cosmos DB.
If you are using Azure Cosmos DB, please feel free to reach out to us at AskCosmosDB@microsoft.com any time. If you are not yet using Azure Cosmos DB, you can try Azure Cosmos DB for free today, no sign up or credit card is required. If you need any help or have questions or feedback, please reach out to us any time. For the latest Azure Cosmos DB news and features, please stay up-to-date by following us on Twitter #CosmosDB, @AzureCosmosDB. We look forward to see what you will build with Azure Cosmos DB!
– Your friends at Azure Cosmos DB