Photobank - Fotolia
SEATTLE -- Microsoft added more flexibility to Azure Cosmos DB to make the managed service a hub for a range of database approaches.
A year after Microsoft rolled its globally distributed database into its public cloud, Azure Cosmos DB has become one of the platform's fastest growing services. Microsoft has continued to expand its functionality, with more choices for consistency models, integration with Azure Functions and Spark, and an SLA that covers throughput, latency availability and consistency. That momentum continued here this week at Microsoft's Build developer conference, with additional tools for cost controls, consistency and uptime.
Multi-master write replication, currently in preview, is probably the most important update to Azure Cosmos DB. The service cloud can already elastically scale reads, but this write feature extends that scalability. Write masters can sit in any Azure region and the feature boosts availability to 99.999% and guarantees single-digit write latency.
The addition of the multi-master feature isn't particularly surprising, given the conflict created when a single master controls a globally distributed database. This capability also is in other managed cloud databases from Google and AWS.
Where Azure Cosmos DB may be unique is in Microsoft's attention to resolve those conflicts. The company put protocols in place to address those problems, including automatic detection and multiple policy choices for how best to resolve those issues.
"They're definitely ahead of the curve in that sense," said Tony Baer, an analyst at Ovum. "They're not the only ones doing it, but they're one of the few doing it at that scale."
Johnson Controls, an HVAC multinational manufacturer headquartered in Milwaukee, uses Cosmos DB as part of its IoT deployments in customers' facilities. Working with different environments can result in multiple data models and protocols, so Cosmos DB was an attractive option to establish a single place to pull in data from multiple sources, said Justin Ploegert, senior staff engineer at Johnson Controls.
"It lends itself to being really adaptable so you don't have to rebuild your whole repository," he said. "You can evolve it to what's necessary, and since a lot of new development is trial and error, it can be really adaptable to try out."
AWS, Microsoft's biggest public cloud competitor, has taken a "best fit engineering" approach, where it recommends a specific database service for a specific need. Conversely, Cosmos DB tries to unify multiple types of database uses, which can enable customers to link key-value, graph, column-family and document data sets all under one umbrella.
That can simplify workflows for customers and require less data movement, but it might create issues for companies with more complex database demands, said Adam Ronthal, a Gartner analyst.
"The potential downside is usually it's a trade off or a compromise," he said. "If you have a really complex high-end graph, then there's a reason to go to dedicated graph store because the processing demands are unique."
Another Azure Cosmos DB update, currently in preview, enables users to configure throughput directly on the database. Provisioning was previously limited to single Cosmos DB collection, graph or table, either accessed programmatically or via the Azure portal. Now throughput can be shared between data sets connected to a particular database, and that flexibility could benefit users who must better match their expenses to their architecture's requirements.
Tony Baeranalyst, Ovum
Unlike private data centers, clouds don't have infrastructure limits. That adds a lot of flexibility, but it also has the potential to create runaway costs if companies aren't careful. Most Cosmos DB users use multiple data store models within the service, so this feature is particularly important to help users be more efficient with their resources, Baer said.
"Having multiple models means loads are going to be a lot more diverse, so you really need to optimize it," he said.
Microsoft also added an update to address security concerns. VNet Service Endpoints was incorporated into Cosmos DB to limit traffic to specified virtual networks and subnets. This feature can work with existing authorizations, such as Firewall Access Control List, and it extends these security controls across multiple regions.