Now Generally Available: Azure Cosmos DB Fleet Pools

Wait 5 sec.

We’re excited to announce two updates to Azure Cosmos DB fleets: Fleet pools – now generally available Fleet analytics – now in public previewAzure Cosmos DB fleets enables developers to build scalable, isolated, and cost-effective multi-tenant or Software as a Service (SaaS) applications.Today, many SaaS providers using Azure Cosmos DB isolate each tenant (the end customer of the SaaS provider) in a separate database account to meet strict performance and security requirements—for example, supporting customer-managed keys. While this approach ensures tenant isolation, it creates operational complexity at scale. Managing thousands of RU/s settings becomes difficult, and provisioning dedicated capacity for every tenant can be costly—especially when many tenants are inactive. Monitoring performance and usage across thousands of accounts also adds to the overhead.With Azure Cosmos DB fleets, you get two new capabilities – pools (GA) and fleet analytics (public preview) – that help you lower costs, simplify capacity management, and provide at-scale visibility across your Cosmos DB accounts.Why Pooling?In a multi-tenant environment, it is very common for different tenants (Azure Cosmos DB accounts) to have RU/s usage spike by orders of magnitude, but at different, unpredictable times. In this basic example below, with 4 tenants, each consumes 10,000 RU/s at some point during the hour, but typical per-tenant usage is much closer to 2,000 - 3,000 RU/s.At any given point in the hour, the cumulative usage across all tenants is closer to 15,000 RU/s, much lower than 40,000 RU/s, the sum of all individual peaks. By shifting our RU/s usage to the shared pool, we can realize cost savings across the time dimension. As the number of tenants grow, so does the impact of pooling.Let’s take a closer look into how this works.Fleets let you organize the database accounts in your multi-tenant application into sub-groups called fleetspaces. By design, the database accounts can span across different subscriptions and resource groups.Within each fleetspace, you can create an optional throughput pool (RU/s) that all accounts in the group can share.Each resource still gets dedicated RU/s that are guaranteed and always available to that resource. When a resource needs more than its dedicated RU/s—such as during a traffic spike—it can draw from the shared pool. This approach allows you to provision each tenant based on typical usage instead of over-provisioning for peak load, significantly simplifying capacity management. You maintain the performance and security isolation benefits of separate database accounts per tenant while optimizing for cost by using the pool.In the below example, we’ve set up a fleetspace with 10 database accounts and a pool of RU/s. Each database account has 1 container with dedicated autoscale 100-1000 RU/s.We now see that for spikes beyond 1000 RU/s, which otherwise would have been rate-limited, the requests are now served by the pool. It is important to note, pool RU/s autoscale by default. You can configure custom minimum and maximum limits with up to a 10x scaling range and billing is based on the highest RU/s the pool reaches within each hour.Learn more: https://aka.ms/CosmosDBFleetPoolsFleet analytics (public preview)As a SaaS provider who has hundreds or thousands of Azure Cosmos DB resources, it can be difficult to monitor and understand long-term trends of the fleet at scale.With fleet analytics, you can enable optional collection of hourly data on cost, performance, and usage across all resources in a fleet.This data, stored in open source Parquet format and organized in a star schema, streams automatically to a Microsoft Fabric workspace or an Azure Storage account.With Microsoft Fabric, use built-in visualizations or run sample queries to answer key questions such as: What are my most active accounts / tenants? What resources should I scale up or scale down? Do I have antipatterns, such as collections with large document sizes? How many RU/s should I purchase for a reservation?Below are examples of the insights you can capture with Fleet Analytics:Fleet Overview Track RU and request trends over time Visualize total storage growth See the percentage of collections using autoscale Compare backup strategies across the fleet Identify top accounts by traffic View regional activity at a glanceFleet OptimizationView where you can reduce cost or improve operational efficiency: Compare provisioned vs. scaled RU/s Identify unused accounts with projected monthly cost Surface collections with anti-pattern of large document sizes Highlight collections that never scale beyond autoscale minimums - optimization opportunity Analyze cost distribution across accounts - helpful for attributing cost per tenant in a multi-tenant systemFleet Analytics helps you turn operational data into clear, actionable insights, making it easier to optimize cost, improve performance, and manage your entire Cosmos DB fleet efficiently.Learn more: https://aka.ms/CosmosDBFleetAnalyticsTry It Out!To get started, create a new fleet and fleetspace with a pool of RU/s. Next, add your Cosmos DB accounts and see the pool in action!Leave a reviewTell us about your Azure Cosmos DB experience! Leave a review on PeerSpot and we’ll gift you $50. Get started here.About Azure Cosmos DBAzure Cosmos DB is a fully managed and serverless NoSQL and vector database for modern app development, including AI applications. With its SLA-backed speed and availability as well as instant dynamic scalability, it is ideal for real-time NoSQL and MongoDB applications that require high performance and distributed computing over massive volumes of NoSQL and vector data.To stay in the loop on Azure Cosmos DB updates, follow us on X, YouTube, and LinkedIn.