{"id":4353,"date":"2017-12-18T08:48:39","date_gmt":"2017-12-18T16:48:39","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4353"},"modified":"2025-06-13T16:52:24","modified_gmt":"2025-06-13T23:52:24","slug":"scaling-couchbase-server-azure","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/","title":{"rendered":"Scaling Couchbase Server on Azure"},"content":{"rendered":"<div class=\"paragraph\">\n<p>Scaling is one of Couchbase Server&#8217;s strengths. It&#8217;s easy to scale, and Couchbase&#8217;s architecture makes an efficient use of your scaling resources. In fact, when Couchbase customer Viber switched from Mongo to Couchbase, they cut the <a href=\"https:\/\/diginomica.com\/2014\/04\/07\/viber-migrates-mongodb-couchbase-halves-number-aws-servers\/\">number of servers they needed in half<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This blog post is the third in a (loose) series of posts on Azure.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The first post showed you the <strong>benefits of <a href=\"https:\/\/www.couchbase.com\/blog\/serverless-architecture-cloud-computing\/\">serverless computing<\/a><\/strong> on Azure with Couchbase.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The second post showed a concrete example of creating a <strong><a href=\"https:\/\/www.couchbase.com\/blog\/chatbot-azure-couchbase-viber\/\">chatbot using Azure functions and Couchbase Server<\/a><\/strong>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The previous post only used a cluster with a single node for demonstration purposes. Now suppose you&#8217;ve been in production for a while, and your chatbot is starting to get really popular. You need to scale up your Couchbase cluster. If you deployed Couchbase from the <a href=\"https:\/\/azuremarketplace.microsoft.com\/en-us\/marketplace\/apps\/couchbase.couchbase-enterprise\">Azure Marketplace<\/a>, this is a piece of cake. <strong>Long story short: you pretty much just move a slider<\/strong>. But this post will take you all the way through the details:<\/p>\n<\/div>\n<div class=\"olist arabic\">\n<ol class=\"arabic\">\n<li>\n<p>Creating a brand new cluster with 3 nodes.<\/p>\n<\/li>\n<li>\n<p>Scaling the cluster up to 5 nodes.<\/p>\n<\/li>\n<li>\n<p>Scaling the cluster down to 4 nodes.<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_create_couchbase_cluster_on_azure\">Create Couchbase Cluster on Azure<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Assuming you have an Azure account, login to the portal. If you don&#8217;t yet, <a href=\"https:\/\/www.couchbase.com\/blog\/azure-getting-started-easy-free\/\"><br \/>\nGetting Started with Azure is Easy and Free<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Once you&#8217;re logged in, click &#8220;+ New&#8221; and search for Couchbase Server in the marketplace. <em>I&#8217;m using BYOL (bring your own license) for demonstration, but there is also an &#8220;Hourly Pricing&#8221; option that comes with <a href=\"https:\/\/www.couchbase.com\/support-policy\/\">silver support<\/a>.<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09301-couchbase-azure-marketplace.png\" alt=\"Couchbase in the Azure Marketplace\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Once you select Couchbase, you&#8217;ll be taken through an Azure installation wizard. Click the &#8220;Create&#8221; button to get started.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09302-azure-step-0.png\" alt=\"Azure step 0 - create\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Step 1 is the &#8220;Basics&#8221;. Fill out the username and password you want for Couchbase, the name of a resource group, and a location (I chose North Central US because it is close to me geographically). Make sure to make a note of this information, as you&#8217;ll need it later.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09303-azure-step-1-basics.png\" alt=\"Azure step 1 - basics\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The next step is Couchbase Config. There are some recommended VM types to use. I went with DS1_V2 to keep this blog post cheap, but you probably want at least 4 cores and 4gb of RAM for your production environment. I also elected not to install any Sync Gateway Nodes, but if you plan to use Couchbase Mobile, you will need these too. I&#8217;m asking for a total of <strong>3 nodes<\/strong> for Couchbase Server.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09304-azure-step-2-config.png\" alt=\"Azure step 2 - Couchbase Config\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>After this, step 3 is just a summary of the information you&#8217;ve entered.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09305-azure-step-3-summary.png\" alt=\"Azure step 3 - summary\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The last step is &#8220;buy&#8221;. This shows you the terms. One &#8220;Create&#8221; button is all that remains.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09306-azure-step-4-buy.png\" alt=\"Azure step 4 - buy\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Now, Azure will go to work provisioning 3 VMs, installing Couchbase Server on them, and then creating a cluster. This will take a little bit of time. You&#8217;ll get an Azure notification when it&#8217;s done.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09307-azure-waiting-provisioning.png\" alt=\"Azure provisioning VMs\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>You should have just enough time to get yourself a nice beverage.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_using_your_couchbase_cluster\">Using your Couchbase Cluster<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>When Azure finishes with deployment, go look at &#8220;Resource groups&#8221; in the Azure portal. Find your resource group. Mine was called <em>my_cb_resource_group<\/em>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09308-azure-resource-groups.png\" alt=\"Azure resource groups\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Click on the resource group. Inside that resource group, you&#8217;ll see 4 things:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><strong>networksecuritygroups<\/strong> (these are firewall rules, essentially)<\/p>\n<\/li>\n<li>\n<p><strong>vnet<\/strong> (the network that all the resources in the group are on)<\/p>\n<\/li>\n<li>\n<p><strong>server<\/strong> (Couchbase Server instances)<\/p>\n<\/li>\n<li>\n<p><strong>syncgateway<\/strong> (Couchbase Sync Gateway instances. I didn&#8217;t ask for any, so this is an empty grouping)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09309-azure-resource-group-drill-down.png\" alt=\"Azure resource group drill down\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>First, click &#8216;server&#8217;, and then &#8216;instances&#8217;. You should see 3 servers (or however many you provisioned).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09310-servers-provisioned.png\" alt=\"Couchbase Servers provisioned\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Next, click &#8216;deployments&#8217;. You should see one for Couchbase listed. Click it for more information about the deployment.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09311-deployment.png\" alt=\"Azure deployment\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>The next screen will tell you the URL that you need to get to the Couchbase Server UI (and Sync Gateway UI if you installed that). It should look something like: <code>https:\/\/vm0.server-foobarbazqux.northcentralus.cloudapp.azure.com:8091<\/code>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09312-deployment-info.png\" alt=\"Azure deployment info\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Paste that URL into a browser. You will be taken to the Couchbase Server login screen. Use the credentials you specified earlier to login.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09313-couchbase-login.png\" alt=\"Couchbase Server login\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>After you login, click on &#8216;servers&#8217;. You will see the three servers listed here. The URLs will match the deployments you see in the Azure portal.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Let&#8217;s put some data in this database! Go to Settings &#8594; Sample Buckets and load the &#8216;travel-sample&#8217; bucket.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09314-load-sample-data.png\" alt=\"Load sample data\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This sample data contains 31591 documents. When it&#8217;s done loading, go back to &#8220;servers&#8221;. You can see how the &#8216;items&#8217; (and replica items) are evenly distributed amongst the three servers. Each node in Couchbase can do both reads and writes, so this is not a master\/slave or a read-only replica sets situation.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09315-couchbase-servers.png\" alt=\"Couchbase servers\"><\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_scaling_up\">Scaling up<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Now, let&#8217;s suppose your application is really taking off, and you need to scale up to provide additional capacity, storage, performance. Since we&#8217;re using Couchbase deployed from the Azure marketplace, this is even easier than usual. Go to the Azure portal, back to the resource group, and click &#8220;server&#8221; again. Now click &#8220;scaling&#8221;<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09316-azure-scaling.png\" alt=\"Azure scaling\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Next, you will see a slider that you can adjust to add more instances. Let&#8217;s bump it up to 5 total servers. Make sure to click &#8220;save&#8221;.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09317-azure-scaling-sliders.png\" alt=\"Azure scaling slider\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Now, go back to &#8216;instances&#8217; again. <em>Note: you may have to refresh the page. Azure doesn&#8217;t seem to want to update the stale page served to the browser on its own.<\/em> You will now see <strong>server_3<\/strong> and <strong>server_4<\/strong> in &#8220;creating&#8221; status.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09318-scaling-additional-servers.png\" alt=\"Scaling additional servers\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>You will need to wait for these to be deployed by Azure. In the meantime, you can go back over to the Couchbase Server UI and wait for them to appear there as well.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09319-new-couchbase-nodes.png\" alt=\"New Couchbase Server nodes\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>When adding new servers, the cluster must be <a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/clusters-and-availability\/rebalance.html\">rebalanced<\/a>. The Azure deployment should attempt to do this automatically (but just in case it fails, you can trigger the rebalance manually too).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09320-rebalancing.png\" alt=\"Couchbase rebalancing\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>During this rebalance period, the cluster is still accessible from your applications. There will be no downtime. After the rebalance is over, you can see that the # of items on each server has changed. It&#8217;s been redistributed (along with replicas).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09321-servers-after-rebalance.png\" alt=\"Cluster after rebalance\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>That&#8217;s it. It&#8217;s pretty much just moving a slider and waiting a few minutes.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_scaling_down\">Scaling Down<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>At some point, you may want to scale down your cluster. Perhaps you need 5 servers during a certain part of the year, but you only need 3 for other parts, and you&#8217;d like to save some money on your Azure bill.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Once again, this is just a matter of adjusting the slider. However, it&#8217;s a good idea to scale down one server at a time to avoid any risk of data loss.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09322-scaling-down-slider.png\" alt=\"Scaling down slider\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>When you scale down, Azure will pick a VM to decommission. Couchbase Server can respond in one of two ways:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Default behavior is to simply indicate that a node is down. This could <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.0\/settings\/configure-alerts.html\">trigger an email alert<\/a>. It will show as &#8216;down&#8217; in the UI.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.0\/settings\/change-failover-settings.html\">Auto-failover<\/a> can be turned on. This means that once a node is down, the Couchbase cluster will automatically consider it &#8216;failed&#8217;, promote the replicas on other nodes, and rebalance the cluster.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>I&#8217;m going to leave auto-failover off and show the default behavior.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>First, the server will show a status of &#8216;deleting&#8217; in the Azure portal.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09323-scaling-down-deleting.png\" alt=\"Scaling down - deleting\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Soon after, Couchbase will recognize that a node is not responsive. It will suggest failover to &#8216;activate available replicas&#8217;.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09324-failing-node.png\" alt=\"Couchbase failing node\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I&#8217;ll go ahead and do just that.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09325-manual-failover.png\" alt=\"Manual failover\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Once it&#8217;s removed from the cluster, you&#8217;ll need to trigger a &#8216;rebalance&#8217;.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/09326-manual-rebalance.png\" alt=\"Manual rebalance\"><\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_summary_and_resources\">Summary and resources<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Scaling a Couchbase cluster on Azure is simply a matter of using the slider.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>If you&#8217;re scaling down, consider doing it one node at a time.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>For more information, check out these resources:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>A <a href=\"https:\/\/www.youtube.com\/watch?v=LAHc-FI95Ww\">video by Ben Lackey<\/a> covering the scaling process of Couchbase on Azure.<\/p>\n<\/li>\n<li>\n<p>Make sure to read up on <a href=\"https:\/\/docs.couchbase.com\/server\/current\/manage\/manage-settings\/change-failover-settings.html\">Auto-failover<\/a> in the documentation.<\/p>\n<\/li>\n<li>\n<p>Also check out the documentation on <a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/clusters-and-availability\/rebalance.html\">rebalancing<\/a>.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>If you have questions, please contact me on <a href=\"https:\/\/twitter.com\/mgroves\">Twitter @mgroves<\/a> or leave a comment.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Scaling is one of Couchbase Server&#8217;s strengths. It&#8217;s easy to scale, and Couchbase&#8217;s architecture makes an efficient use of your scaling resources. In fact, when Couchbase customer Viber switched from Mongo to Couchbase, they cut the number of servers they [&hellip;]<\/p>\n","protected":false},"author":71,"featured_media":3934,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,1821,1816],"tags":[1245,1590,1673,2108],"ppma_author":[8937],"class_list":["post-4353","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-architecture","category-couchbase-server","tag-cloud","tag-microsoft","tag-microsoft-azure","tag-scaling"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Scaling Couchbase Server on Azure - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Scaling a Couchbase Server cluster on Azure is as easy as using a slider. This post walks you through it from the beginning.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scaling Couchbase Server on Azure\" \/>\n<meta property=\"og:description\" content=\"Scaling a Couchbase Server cluster on Azure is as easy as using a slider. This post walks you through it from the beginning.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-18T16:48:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-13T23:52:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"922\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Scaling Couchbase Server on Azure\",\"datePublished\":\"2017-12-18T16:48:39+00:00\",\"dateModified\":\"2025-06-13T23:52:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/\"},\"wordCount\":1292,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg\",\"keywords\":[\"cloud\",\"Microsoft\",\"Microsoft Azure\",\"scaling\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Architecture\",\"Couchbase Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/\",\"name\":\"Scaling Couchbase Server on Azure - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg\",\"datePublished\":\"2017-12-18T16:48:39+00:00\",\"dateModified\":\"2025-06-13T23:52:24+00:00\",\"description\":\"Scaling a Couchbase Server cluster on Azure is as easy as using a slider. This post walks you through it from the beginning.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg\",\"width\":1920,\"height\":922,\"caption\":\"National Cloud Database Day\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scaling Couchbase Server on Azure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Scaling Couchbase Server on Azure - The Couchbase Blog","description":"Scaling a Couchbase Server cluster on Azure is as easy as using a slider. This post walks you through it from the beginning.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/","og_locale":"en_US","og_type":"article","og_title":"Scaling Couchbase Server on Azure","og_description":"Scaling a Couchbase Server cluster on Azure is as easy as using a slider. This post walks you through it from the beginning.","og_url":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-12-18T16:48:39+00:00","article_modified_time":"2025-06-13T23:52:24+00:00","og_image":[{"width":1920,"height":922,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg","type":"image\/jpeg"}],"author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Scaling Couchbase Server on Azure","datePublished":"2017-12-18T16:48:39+00:00","dateModified":"2025-06-13T23:52:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/"},"wordCount":1292,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg","keywords":["cloud","Microsoft","Microsoft Azure","scaling"],"articleSection":["Best Practices and Tutorials","Couchbase Architecture","Couchbase Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/","url":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/","name":"Scaling Couchbase Server on Azure - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg","datePublished":"2017-12-18T16:48:39+00:00","dateModified":"2025-06-13T23:52:24+00:00","description":"Scaling a Couchbase Server cluster on Azure is as easy as using a slider. This post walks you through it from the beginning.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/08\/074-hero-Azure-Clouds.jpg","width":1920,"height":922,"caption":"National Cloud Database Day"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/scaling-couchbase-server-azure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Scaling Couchbase Server on Azure"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"Matthew D. Groves is a guy who loves to code.  It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything.  He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s.  He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community.  He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/4353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=4353"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/4353\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/3934"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=4353"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=4353"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=4353"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=4353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}