{"id":7847,"date":"2024-04-12T09:31:46","date_gmt":"2024-04-12T16:31:46","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cosmosdb\/?p=7847"},"modified":"2024-04-12T09:31:46","modified_gmt":"2024-04-12T16:31:46","slug":"reduce-tco-with-azure-cosmos-db-for-mongodb","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cosmosdb\/reduce-tco-with-azure-cosmos-db-for-mongodb\/","title":{"rendered":"Reduce TCO with Azure Cosmos DB for MongoDB"},"content":{"rendered":"<p><a href=\"https:\/\/aka.ms\/azure-cosmosdb-for-mongodb\"><span data-contrast=\"auto\">Azure Cosmos DB for MongoDB<\/span><\/a> <span data-contrast=\"auto\">is a fully managed MongoDB compatible cloud database service. Built on top of a proprietary engine to provide scale, performance and availability guarantees, the service eliminates the operational overhead of running self-hosted MongoDB instances.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">In this blog, we dig into seven specific reasons why total cost of ownership of your MongoDB database <\/span><span data-contrast=\"auto\">can be <\/span><span data-contrast=\"auto\">minimized with the vCore based offering for Azure Cosmos DB for MongoDB<\/span><span data-contrast=\"auto\">.<\/span><\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Separating the cost of Storage and Compute<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:40,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Although you can view Compute cluster tiers and their attached storage disks as a single entity replicated for scale and availability, Azure Cosmos DB for MongoDB de-couples the cost of each component. Storage remains cheap, even when attached to a Compute resource. Ensuring that the cost of Storage and Compute are not intertwined provides TCO optimizations by allowing compute heavy and storage heavy use cases to be priced independently and optimally.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Tabulated below is the cost impact on a 16-core node, when its attached storage is scaled from 128GB to 4TB.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<table class=\" aligncenter\" style=\"border-collapse: collapse; width: 29.8903%; height: 191px;\">\n<tbody>\n<tr style=\"height: 79px;\">\n<td style=\"width: 50%; height: 79px; text-align: center;\"><strong>Attached Storage Size (GB)<\/strong><\/td>\n<td style=\"width: 50%; height: 79px; text-align: center;\"><strong>% Price increased for Storage and Compute combined<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\">256GB<\/td>\n<td style=\"width: 50%; height: 28px;\">1.1%<\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\">512GB<\/td>\n<td style=\"width: 50%; height: 28px;\">3.3%<\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\">1024GB<\/td>\n<td style=\"width: 50%; height: 28px;\">7.8%<\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\">2048GB<\/td>\n<td style=\"width: 50%; height: 28px;\">16.8%<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">4096GB<\/td>\n<td style=\"width: 50%;\">34%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/04\/Impact-of-Storage-Scaling-on-Overall-Cost.png\"><img decoding=\"async\" class=\" wp-image-7848 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/04\/Impact-of-Storage-Scaling-on-Overall-Cost-300x185.png\" alt=\"Image Impact of Storage Scaling on Overall Cost\" width=\"470\" height=\"290\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/04\/Impact-of-Storage-Scaling-on-Overall-Cost-300x185.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/04\/Impact-of-Storage-Scaling-on-Overall-Cost.png 461w\" sizes=\"(max-width: 470px) 100vw, 470px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span class=\"TextRun SCXW97711235 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW97711235 BCX8\">Despite a 32x increase in Storage<\/span><span class=\"NormalTextRun SCXW97711235 BCX8\"> from 128GB to 4TB<\/span><span class=\"NormalTextRun SCXW97711235 BCX8\">, the cost <\/span><span class=\"NormalTextRun SCXW97711235 BCX8\">of the cluster <\/span><span class=\"NormalTextRun SCXW97711235 BCX8\">increase<\/span><span class=\"NormalTextRun SCXW97711235 BCX8\">s<\/span><span class=\"NormalTextRun SCXW97711235 BCX8\"> by just<\/span><span class=\"NormalTextRun SCXW97711235 BCX8\"> 34%.<\/span><\/span><span class=\"EOP SCXW97711235 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Large Disks for Storage Heavy Use Cases<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:40,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">The vCore offering of Azure Cosmos DB for MongoDB now includes up to 32TB disks per shard (or node) in preview. Typically, storage heavy workloads had to overprovision Compute resources to meet minimum storage requirements. To reiterate, storage is cheap and should remain cheap when request volumes can be managed with fewer Compute resources. With large disks, storage heavy use cases will no longer need to provision more than the necessary amount of Compute just to meet their storage needs.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Let\u2019s consider a 200TB workload that previously used an M60 cluster tier (16-core) along with 4TB disks. Tabulated below are the number of Compute nodes needed when scaling from 4TB to 32TB of storage.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<table class=\" aligncenter\" style=\"border-collapse: collapse; width: 29.8903%; height: 191px;\">\n<tbody>\n<tr style=\"height: 79px;\">\n<td style=\"width: 50%; height: 79px; text-align: center;\"><strong>Storage per node (TB)<\/strong><\/td>\n<td style=\"width: 50%; height: 79px; text-align: center;\"><strong>Number of nodes needed to meet storage needs<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\">4TB<\/td>\n<td style=\"width: 50%; height: 28px;\">49<\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\">8TB<\/td>\n<td style=\"width: 50%; height: 28px;\">25<\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\">16TB<\/td>\n<td style=\"width: 50%; height: 28px;\">13<\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\">32TB<\/td>\n<td style=\"width: 50%; height: 28px;\">7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/04\/Reduction-in-Compute-nodes-with-large-disks.png\"><img decoding=\"async\" class=\" wp-image-7849 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/04\/Reduction-in-Compute-nodes-with-large-disks-300x182.png\" alt=\"Image Reduction in Compute nodes with large disks\" width=\"468\" height=\"284\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/04\/Reduction-in-Compute-nodes-with-large-disks-300x182.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/04\/Reduction-in-Compute-nodes-with-large-disks.png 472w\" sizes=\"(max-width: 468px) 100vw, 468px\" \/><\/a><\/p>\n<p><span class=\"TextRun SCXW49282088 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW49282088 BCX8\">As we can see, the same 200TB workload can <\/span><span class=\"NormalTextRun SCXW49282088 BCX8\">now <\/span><\/span><span class=\"TrackedChange SCXW49282088 BCX8\"><span class=\"TextRun SCXW49282088 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW49282088 BCX8\">save <\/span><\/span><\/span><span class=\"TrackedChange SCXW49282088 BCX8\"><span class=\"TextRun SCXW49282088 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW49282088 BCX8\">85%<\/span><\/span><\/span><span class=\"TextRun SCXW49282088 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW49282088 BCX8\"> on Compute costs<\/span><span class=\"NormalTextRun SCXW49282088 BCX8\"> with larger disks<\/span><span class=\"NormalTextRun SCXW49282088 BCX8\">.<\/span><\/span><span class=\"EOP SCXW49282088 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> Although you may need more than the minimum number of nodes to sustain the request volume of the cluster, the significant savings still stand out.<\/span><\/p>\n<h3><span class=\"TextRun SCXW11283670 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW11283670 BCX8\" data-ccp-parastyle=\"heading 2\">No Need for Storage Tiering<\/span><\/span><span class=\"EOP SCXW11283670 BCX8\" data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:40,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Business verticals such as healthcare and finance must comply with mandates for long-term data retention. While only recent data is actively and heavily accessed, up to a decade of older data may need to be persisted. To save on cost, storage is tiered with hot data pushed to a transactional store and older, colder data archived to a cold store. This adds technical complexity<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">uneven performance,<\/span><span data-contrast=\"auto\"> and multiple points of failure.\u00a0\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">With 32TB disks per shard now in preview and significant savings from large disks, both the hot and cold data can live in the transactional data store and avoid data archival to a disparate cold store.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> This also ensures consistency of performance regardless of the age of the data.<\/span><\/p>\n<h3>A Comprehensive SLA that Minimizes Time to Resolution<\/h3>\n<p><span data-contrast=\"auto\">As a native managed cloud database service, Azure Cosmos DB for MongoDB covers the three tenets of the cloud \u2013 Compute, Networking, and Storage. Architecturally, the upper tier of the service is responsible for MongoDB compatible software that you would engage with as a user, while the lower tier is Azure\u2019s bare metal infrastructure. Our SLA covers both the upper and lower tiers, unlike many third-party services that often exclude the lower tier.<\/span><\/p>\n<p><span data-contrast=\"auto\">While we strive to always be on, things can go wrong on occasion. As a managed service, all support incidents start and end with us<\/span><span data-contrast=\"auto\"> and <\/span><span data-contrast=\"auto\">that\u2019s<\/span><span data-contrast=\"auto\"> wh<\/span><span data-contrast=\"auto\">at <\/span><span data-contrast=\"auto\">our <\/span><span data-contrast=\"auto\">SLA <\/span><span data-contrast=\"auto\">provides<\/span><span data-contrast=\"auto\">. We are responsible for the bare metal hardware as well as the database engine, thereby minimizing time to resolution (TTM) by avoiding re-routing across multiple teams.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> We are responsible for detection, mitigation, root causes analyses and everything in between.<\/span><\/p>\n<h3>You Don&#8217;t Pay Extra for Product Support<\/h3>\n<p><span class=\"TextRun SCXW168409627 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW168409627 BCX8\">In addition<\/span><span class=\"NormalTextRun SCXW168409627 BCX8\">, <\/span><span class=\"NormalTextRun SCXW168409627 BCX8\">there is no added cost for product support. As an Azure customer, you <\/span><span class=\"NormalTextRun SCXW168409627 BCX8\">will <\/span><span class=\"NormalTextRun SCXW168409627 BCX8\">likely <\/span><span class=\"NormalTextRun SCXW168409627 BCX8\">have<\/span><span class=\"NormalTextRun SCXW168409627 BCX8\"> a support <\/span><span class=\"NormalTextRun SCXW168409627 BCX8\">agreement <\/span><span class=\"NormalTextRun SCXW168409627 BCX8\">already<\/span><span class=\"NormalTextRun SCXW168409627 BCX8\">, which also includes<\/span> <span class=\"NormalTextRun CommentStart CommentHighlightPipeRestV2 CommentHighlightRest SCXW168409627 BCX8\">Azure Cosmos DB for MongoDB<\/span><\/span><span class=\"TextRun SCXW168409627 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun CommentHighlightPipeRestV2 SCXW168409627 BCX8\">\u00a0by default<\/span><span class=\"NormalTextRun SCXW168409627 BCX8\">.<\/span><\/span><span class=\"EOP SCXW168409627 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Flexible Replica Configurations<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:40,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">The service provides two replica configurations \u2013 one with High Availability enabled and another without. Disabling High Availability means fewer replicas and thus lower cost. Thus, lower environments can provision fewer replicas without high availability to minimize cost.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">No Licensing Costs<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:40,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Lastly and most importantly, you do not need to worry about timely license renewals as there are none. <\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3>Key Takeaways<\/h3>\n<p>Azure Cosmos DB for MongoDB&#8217;s vCore-based offering effectively minimizes the total cost of ownership. By decoupling storage and compute costs, it allows for economically scalable solutions. The introduction of large disk capacities up to 32TB per shard caters to storage-heavy workloads, significantly reducing compute costs. The service eliminates the need for storage tiering, simplifying data management while ensuring consistent performance. With a comprehensive SLA, inclusive product support, flexible replica configurations, and no licensing costs, Azure Cosmos DB for MongoDB emerges as a robust, cost-effective choice for cloud database management.<\/p>\n<p>Discover additional features about <a href=\"https:\/\/aka.ms\/azure-cosmosdb-for-mongodb\">Azure Cosmos DB for MongoDB<\/a>, explore the <a href=\"https:\/\/aka.ms\/azure-cosmosdb-for-mongodb-migrations\">migration tool<\/a> and <a href=\"https:\/\/aka.ms\/cosmosdb-for-mongodb-free-tier\">get started for free today<\/a>.<\/p>\n<h3>About Azure Cosmos DB<\/h3>\n<p>Azure Cosmos DB is a fully managed and serverless distributed database for modern app development, with SLA-backed speed and availability, automatic and instant scalability, and support for open-source PostgreSQL, MongoDB, and Apache Cassandra.\u00a0<a href=\"https:\/\/cosmos.azure.com\/try\/\" target=\"_blank\" rel=\"noopener\">Try Azure Cosmos DB for free here.<\/a>\u00a0To stay in the loop on Azure Cosmos DB updates, follow us on\u00a0<a href=\"https:\/\/twitter.com\/AzureCosmosDB\" target=\"_blank\" rel=\"noopener\">X<\/a>,\u00a0<a href=\"https:\/\/aka.ms\/AzureCosmosDBYouTube\" target=\"_blank\" rel=\"noopener\">YouTube<\/a>, and\u00a0<a href=\"https:\/\/www.linkedin.com\/company\/azure-cosmos-db\/\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Azure Cosmos DB for MongoDB is a fully managed MongoDB compatible cloud database service. Built on top of a proprietary engine to provide scale, performance and availability guarantees, the service eliminates the operational overhead of running self-hosted MongoDB instances.\u00a0\u00a0 In this blog, we dig into seven specific reasons why total cost of ownership of your [&hellip;]<\/p>\n","protected":false},"author":64774,"featured_media":7863,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14],"tags":[],"class_list":["post-7847","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-core-sql-api"],"acf":[],"blog_post_summary":"<p>Azure Cosmos DB for MongoDB is a fully managed MongoDB compatible cloud database service. Built on top of a proprietary engine to provide scale, performance and availability guarantees, the service eliminates the operational overhead of running self-hosted MongoDB instances.\u00a0\u00a0 In this blog, we dig into seven specific reasons why total cost of ownership of your [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/7847","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\/64774"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/comments?post=7847"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/7847\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media\/7863"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media?parent=7847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/categories?post=7847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/tags?post=7847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}