{"id":10367,"date":"2025-05-21T08:00:20","date_gmt":"2025-05-21T15:00:20","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cosmosdb\/?p=10367"},"modified":"2025-05-16T08:24:13","modified_gmt":"2025-05-16T15:24:13","slug":"now-in-preview-azure-cosmos-db-fleets","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cosmosdb\/now-in-preview-azure-cosmos-db-fleets\/","title":{"rendered":"Now in Preview: Azure Cosmos DB Fleets"},"content":{"rendered":"<p>We\u2019re excited to announce the <strong>preview of Azure Cosmos DB fleets<\/strong>.<\/p>\n<p>Azure Cosmos DB fleets address common challenges that developers face when building and managing multi-tenant or Software as a Service (SaaS) applications.<\/p>\n<p>Today, many SaaS providers using Azure Cosmos DB isolate each tenant in a separate database account to meet strict performance and security requirements\u2014for 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\u2014especially when many tenants are inactive. Monitoring performance and usage across thousands of accounts also adds to the overhead.<\/p>\n<p>Azure Cosmos DB fleets introduce two key capabilities\u2014<strong>pools<\/strong> and <strong>fleet analytics and monitoring<\/strong>\u2014to simplify capacity management and provide at-scale visibility across your tenant environments.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetIntroduction.png\"><img decoding=\"async\" class=\"size-full wp-image-10372 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetIntroduction.png\" alt=\"Fleet hierarchy, with top level fleet, 2nd level fleetspaces with optional RU\/s pooling\" width=\"1206\" height=\"669\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetIntroduction.png 1206w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetIntroduction-300x166.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetIntroduction-1024x568.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetIntroduction-768x426.png 768w\" sizes=\"(max-width: 1206px) 100vw, 1206px\" \/><\/a><\/p>\n<h3><strong>Pools<\/strong><\/h3>\n<p>Fleets let you organize the database accounts in your multi-tenant application into sub-groups called <strong>fleetspaces<\/strong>.<\/p>\n<p>Within each fleetspace, you can create an optional <strong>throughput pool (RU\/s)<\/strong> that all accounts in the group can share.<\/p>\n<p>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\u2014such as during a traffic spike\u2014it 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.<\/p>\n<p>In the below example, we\u2019ve 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 see that for spikes beyond 1000 RU\/s, which otherwise would have been rate-limited, the requests are now served by the pool.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAccounts.png\"><img decoding=\"async\" class=\"size-full wp-image-10370 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAccounts.png\" alt=\"FleetAccounts image\" width=\"1282\" height=\"694\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAccounts.png 1282w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAccounts-300x162.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAccounts-1024x554.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAccounts-768x416.png 768w\" sizes=\"(max-width: 1282px) 100vw, 1282px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/RUConsumedByTenant_v2.png\"><img decoding=\"async\" class=\"size-full wp-image-10373 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/RUConsumedByTenant_v2.png\" alt=\"RU\/s consumed by 10 tenants\" width=\"888\" height=\"353\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/RUConsumedByTenant_v2.png 888w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/RUConsumedByTenant_v2-300x119.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/RUConsumedByTenant_v2-768x305.png 768w\" sizes=\"(max-width: 888px) 100vw, 888px\" \/><\/a><\/p>\n<p>Pool RU\/s autoscale by default. You can configure custom minimum and maximum limits with up to a 10x scaling range. Billing is based on the highest RU\/s the pool reaches within each hour.<\/p>\n<p>Learn more: <a href=\"https:\/\/aka.ms\/CosmosDBFleetPools\">https:\/\/aka.ms\/CosmosDBFleetPools<\/a><\/p>\n<h3><strong>Fleet analytics \/ monitoring<\/strong><\/h3>\n<p>Fleets include built-in monitoring tools that give you visibility across all your database accounts at scale. With the new <strong>At-scale Azure Monitor view<\/strong>, you can track performance, traffic, and usage across your entire fleet. Use this view to quickly identify specific accounts or tenants experiencing issues, and drill in for deeper analysis.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/AtScaleView.png\"><img decoding=\"async\" class=\"size-full wp-image-10369 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/AtScaleView.png\" alt=\"Azure Monitor at-scale view fleet metrics\" width=\"1209\" height=\"370\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/AtScaleView.png 1209w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/AtScaleView-300x92.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/AtScaleView-1024x313.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/AtScaleView-768x235.png 768w\" sizes=\"(max-width: 1209px) 100vw, 1209px\" \/><\/a><\/p>\n<p>You can also enable <strong>optional fleet analytics<\/strong> to collect hourly data on cost, performance, and usage. This data streams to a Microsoft Fabric workspace or an Azure Storage account, making it easy to perform long-term trend analysis. Use the built-in visualizations or run custom queries to answer key questions such as:<\/p>\n<ul>\n<li>What are my most active accounts \/ tenants?<\/li>\n<li>What resources should I scale up or scale down?<\/li>\n<li>When were my account keys last rotated?<\/li>\n<li>And more<\/li>\n<\/ul>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAnalyticsDashboardView.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-10412\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAnalyticsDashboardView.png\" alt=\"FleetAnalyticsDashboardView image\" width=\"1131\" height=\"632\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAnalyticsDashboardView.png 1131w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAnalyticsDashboardView-300x168.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAnalyticsDashboardView-1024x572.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2025\/05\/FleetAnalyticsDashboardView-768x429.png 768w\" sizes=\"(max-width: 1131px) 100vw, 1131px\" \/><\/a><\/p>\n<p>Learn more: <a href=\"https:\/\/aka.ms\/CosmosDBFleetAnalytics\">https:\/\/aka.ms\/CosmosDBFleetAnalytics<\/a><\/p>\n<h3><strong>Getting started<\/strong><\/h3>\n<p>To register for the preview, enable the Preview Feature, <strong>AzureCosmosDBFleets <\/strong>in the Azure Portal. Only the subscription where the fleet will be created is required.<\/p>\n<p>After the registration is approved, you can create a fleet and add database accounts you have access to from any other subscriptions.<\/p>\n<p>Fleet analytics will be available in June 2025.<\/p>\n<h3><strong>Leave a review<\/strong><\/h3>\n<p>Tell us about your Azure Cosmos DB experience! Leave a review on PeerSpot and we\u2019ll gift you $50. <a href=\"https:\/\/peerspotdotcom.my.site.com\/proReviews\/?SalesOpportunityProduct=00kPy000004TKXJIA4&amp;productPeerspotNumber=30881&amp;CalendlyAccount=peerspot&amp;CalendlyFormLink=peerspot-product-reviews-ps-gc-vi-sf-50&amp;giftCard=50\">Get started here<\/a>.<\/p>\n<h3><strong>About Azure Cosmos DB<\/strong><\/h3>\n<p>Azure 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.<\/p>\n<p>To stay in the loop on Azure Cosmos DB updates, follow us on <a href=\"https:\/\/twitter.com\/AzureCosmosDB\">X<\/a>, <a href=\"https:\/\/aka.ms\/AzureCosmosDBYouTube\">YouTube<\/a>, and <a href=\"https:\/\/www.linkedin.com\/company\/azure-cosmos-db\/\">LinkedIn<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We\u2019re excited to announce the preview of Azure Cosmos DB fleets. Azure Cosmos DB fleets address common challenges that developers face when building and managing multi-tenant or Software as a Service (SaaS) applications. Today, many SaaS providers using Azure Cosmos DB isolate each tenant in a separate database account to meet strict performance and security [&hellip;]<\/p>\n","protected":false},"author":592,"featured_media":10410,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14],"tags":[],"class_list":["post-10367","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-core-sql-api"],"acf":[],"blog_post_summary":"<p>We\u2019re excited to announce the preview of Azure Cosmos DB fleets. Azure Cosmos DB fleets address common challenges that developers face when building and managing multi-tenant or Software as a Service (SaaS) applications. Today, many SaaS providers using Azure Cosmos DB isolate each tenant in a separate database account to meet strict performance and security [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/10367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/users\/592"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/comments?post=10367"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/10367\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media\/10410"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media?parent=10367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/categories?post=10367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/tags?post=10367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}