{"id":6059,"date":"2014-04-08T00:00:00","date_gmt":"2014-04-08T00:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/microsoft-azure-load-balancing-services"},"modified":"2025-09-12T08:59:24","modified_gmt":"2025-09-12T15:59:24","slug":"microsoft-azure-load-balancing-services","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/","title":{"rendered":"Microsoft Azure Load Balancing Services"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Microsoft Azure offers load balancing services for virtual machines (IaaS) and cloud services (PaaS) hosted in the Microsoft Azure cloud. Load balancing allows your application to scale and provides resiliency to application failures among other benefits.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The load balancing services can be accessed by specifying input endpoints on your services either via the Microsoft Azure Portal or via the <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windowsazure\/ee758711.aspx\">service model<\/a> of your application. Once a hosted service with one or more input endpoints is deployed in Microsoft Azure, it automatically configures the load balancing services offered by Microsoft Azure platform. To get the benefit of resiliency \/ redundancy of your services, you need to have at least two virtual machines serving the same endpoint.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The following diagram is an example of an application hosted in Microsoft Azure that uses load balancing service to direct incoming traffic (on address\/port 1.2.3.4:80) to three virtual machines, all listening on port 80.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/acom.azurecomcdn.net\/80C57D\/blogmedia\/blogmedia\/2014\/04\/azureloadbalance.png\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/04\/azureloadbalance-636x311-1.webp\" alt=\"azureloadbalance\" class=\"wp-image-139711\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The key features of the load balancing services in Microsoft Azure are:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"paas-iaas-support\"><strong>PaaS \/ IaaS support<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Load balancing services in Microsoft Azure work with all the tenant types (IaaS or PaaS) and all OS flavors (Windows or any Linux based OS supported).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PaaS tenants are configured via the <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windowsazure\/ee758711.aspx\">service model<\/a>. IaaS tenants are <a href=\"https:\/\/azure.microsoft.com\/en-us\/documentation\/articles\/virtual-machines-set-up-endpoints\/\">configured<\/a> either via the Management Portal or via PowerShell.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"layer-4-load-balancer-hash-based-distribution\"><strong>Layer-4 Load Balancer, Hash based distribution<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft Azure Load Balancer is a Layer-4 type load balancer. Microsoft Azure load balancer distributes load among a set of available servers (virtual machines) by computing a hash function on the traffic received on a given input endpoint. The hash function is computed such that all the packets from the same connection (TCP or UDP) end up on the same server. The Microsoft Azure Load Balancer uses a 5 tuple (source IP, source port, destination IP, destination port, protocol type) to calculate the hash that is used to map traffic to the available servers. The hash function is chosen such that the distribution of connections to servers is fairly random. However, depending on traffic pattern, it is possible for different connections to get mapped to the same server. (Note that the distribution of connections to servers is <strong>NOT <\/strong>round robin, <strong>neither<\/strong> there is any queuing of requests, as has been mistakenly mentioned in some articles and some blogs). The basic premise of the hash function is given a lot of requests coming from a lot of different clients, you will get a nice distribution of requests across the servers.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"multiple-protocol-support\"><strong>Multiple Protocol Support<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Load balancing services in Microsoft Azure supports TCP and UDP protocols. Customers can specify protocol in the specification of input endpoint in their service model, via PowerShell or the Management Portal.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"multiple-endpoint-support\"><strong>Multiple Endpoint Support<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">A hosted service can specify multiple input endpoints and they will automatically get configured on the load balancing service.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Currently, multiple endpoints with the same port AND protocol are not supported. There is also a limit of the maximum number of endpoints a hosted service can have which is currently set to 150.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"internal-endpoint-support\"><strong>Internal Endpoint Support<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Every service can specify up to 25 internal endpoints that are not exposed to the load balancer and are used for communicating between the service roles.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"direct-port-endpoint-support-instance-input-endpoint\"><strong>Direct Port Endpoint Support (Instance Input Endpoint)<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">A hosted service can specify that a given endpoint should not be load balanced and get <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windowsazure\/hh180158.aspx\">direct access<\/a> to the virtual machine hosting the service. This allows an application to control a possible redirect of a client directly to a given instance of the application (VM) without having each request load balanced (and as a result potentially land to a different instance).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"automatic-reconfiguration-on-scale-out-down-service-healing-and-updates\"><strong>Automatic reconfiguration on scale out\/down, service healing and updates<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The load balancing service works in conjunction with Microsoft Azure Compute Service to ensure that if the number of servers instances specified for an input endpoint scales up or down (either due to increasing the instance count for web\/worker role or due to putting additional persistent VMs under the same load balancing group), the load balancing service automatically reconfigures itself to load balance to the increased or decreased instances.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The load balancing service also transparently reconfigures itself in response to service <a href=\"https:\/\/blogs.technet.com\/b\/markrussinovich\/archive\/2012\/08\/22\/3515679.aspx\">healing actions<\/a> by the Microsoft Azure fabric controller or service updates by the customer.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"service-monitoring\"><strong>Service Monitoring<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The load balancing service offers the capability to probe for health of the various server instances and to take unhealthy server instances out of rotation. There are three types of probes supported: Guest Agent probe (on PaaS VMs), HTTP custom probes and TCP custom probes. In the case of <a href=\"\/b\/kwill\/archive\/2011\/05\/05\/windows-azure-role-architecture.aspx\">Guest Agent<\/a>, load balancing service queries the Guest Agent in the VM to learn about the status of the service. In the case of HTTP, load balancing service relies on fetching a specified URL to determine the health of an instance. For TCP, it relies on successful TCP session establishment to a defined probe port.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"source-nat-snat\"><strong>Source NAT (SNAT)<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">All outbound traffic originating from a service is Source NATed (SNAT) using the same VIP address as for incoming traffic. We will dive into how SNAT works in a future post.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"intra-data-center-traffic-optimization\"><strong>Intra Data Center Traffic Optimization<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft Azure Load Balancer optimizes traffic between Microsoft Azure datacenters in the same region, such that traffic between Azure tenants that talk over the VIP and are within the same region, after TCP\/IP connection is initiated, they bypass Microsoft Azure Load Balancer altogether.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"vip-swap\"><strong>VIP Swap<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft Azure Load Balancer allows the swapping of the VIP of two tenants, allowing the move of a tenant that is in \u201cstage\u201d to \u201cproduction\u201d and vice versa. The VIP Swap operation allows the client to be using the same VIP to talk to the service, while a new version of the service is deployed. The new version of the service can be deployed and tested without interfering with the production traffic, in a staging environment. Once the new version passes any tests needed, it can be promoted to production, by swapping with the existing production service. Existing connections to the \u201cold\u201d production continue un-altered. New connections are directed to the \u201cnew\u201d production environment.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"example-load-balanced-service\"><strong>Example: Load Balanced Service<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Next we will see how most of the above features offered by the load balancing service can be used in a sample cloud service. The PaaS tenant we want to model is shown in the diagram below:<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/04\/samplecloudservice-636x305-1.webp\" alt=\"diagram\" class=\"wp-image-8509 webp-format\" style=\"width:721px;height:auto\" data-orig-src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/04\/samplecloudservice-636x305-1.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The tenant has two Frontend (FE) roles and one Backend (BE) role. The FE role exposes four load balanced endpoints using http, tcp and udp protocols. One of the endpoints is also used to indicate the health of the role to the load balancer. The BE role exposes three endpoints using http, tcp and udp protocols. Both FE and BE roles expose one direct port endpoint to the corresponding instance of the service.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The above service is expressed as follows using the azure <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windowsazure\/ee758711.aspx\">service model<\/a> (some schema specifics have been removed to make it clearer):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n<ServiceDefinition name=\u201cProbeTenant\u201c>\n  <LoadBalancerProbes>\n    <LoadBalancerProbe name=\u201cMyProbe\u201d protocol=\u201chttp\u201d path=\u201cProbe.aspx\u201d intervalInSeconds=\u201c5\u201d timeoutInSeconds=\u201c100\u201c \/>\n  LoadBalancerProbes>\n  \n  <WorkerRole name=\u201cBERole\u201d vmsize=\u201cSmall\u201c>\n    <Endpoints>\n      <InternalEndpoint name=\u201cBE_InternalEP_Tcp\u201d protocol=\u201ctcp\u201c \/>\n      <InternalEndpoint name=\u201cBE_InternalEP_Udp\u201d protocol=\u201cudp\u201c \/>\n      <InternalEndpoint name=\u201cBE_InternalEP_Http\u201d protocol=\u201chttp\u201d port=\u201c80\u201c \/>\n\n      <InstanceInputEndpoint name=\u201cInstanceEP_BE\u201d protocol=\u201ctcp\u201d localPort=\u201c80\u201c>\n          <AllocatePublicPortFrom>\n              <FixedPortRange min=\u201c10210\u201d max=\u201c10220\u201c  \/>\n          AllocatePublicPortFrom>\n      InstanceInputEndpoint>\n    Endpoints>\n  WorkerRole>\n  \n  \n  <WorkerRole name=\u201cFERole\u201d vmsize=\u201cSmall\u201c>\n    <Endpoints>\n        <InputEndpoint name=\u201cFE_External_Http\u201d protocol=\u201chttp\u201d port=\u201c10000\u201c \/>\n        <InputEndpoint name=\u201cFE_External_Tcp\u201c  protocol=\u201ctcp\u201c  port=\u201c10001\u201c \/>\n        <InputEndpoint name=\u201cFE_External_Udp\u201c  protocol=\u201cudp\u201c  port=\u201c10002\u201c \/>\n      \n        <InputEndpointname=\u201cHTTP_Probe\u201d protocol=\u201chttp\u201d port=\u201c80\u201d loadBalancerProbe=\u201cMyProbe\u201c \/>\n      \n        <InstanceInputEndpoint name=\u201cInstanceEP\u201d protocol=\u201ctcp\u201d localPort=\u201c80\u201c>\n           <AllocatePublicPortFrom>\n              <FixedPortRange min=\u201c10110\u201d max=\u201c10120\u201c  \/>\n           AllocatePublicPortFrom>\n        InstanceInputEndpoint>\n\n        <InternalEndpoint name=\u201cFE_InternalEP_Tcp\u201d protocol=\u201ctcp\u201c \/>\n    Endpoints>\n  WorkerRole>\nServiceDefinition>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Analyzing the service model, we start with defining the health probe the load balancer should use to query the health of the service:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n <LoadBalancerProbes>\n    <LoadBalancerProbe name=\u201cMyProbe\u201d protocol=\u201chttp\u201d path=\u201cProbe.aspx\u201d intervalInSeconds=\u201c5\u201d timeoutInSeconds=\u201c100\u201c \/>\n  LoadBalancerProbes>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">This says that we have an http custom probe, using the URL relative path \u201cProbe.aspx\u201d. This probe will be attached later to an endpoint to be fully specified.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next we define the FE Role as a WorkerRole. &nbsp;This has several load balanced endpoints using http, tcp and udp as follows:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n<InputEndpoint name=\u201cFE_External_Http\u201d protocol=\u201chttp\u201d port=\u201c10000\u201c \/>\n<InputEndpoint name=\u201cFE_External_Tcp\u201c  protocol=\u201ctcp\u201c  port=\u201c10001\u201c \/>\n<InputEndpoint name=\u201cFE_External_Udp\u201c  protocol=\u201cudp\u201c  port=\u201c10002\u201c \/>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Since we did not assign a custom probe to these endpoints, the health of the above endpoints is controlled by the guest agent on the VM and can be changed by the service using the <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/microsoft.windowsazure.serviceruntime.roleenvironment.statuscheck.aspx\">StatusCheck<\/a> event.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next we define an additional http endpoint on port 80, which uses the custom probe we defined before (MyProbe):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n <InputEndpoint name=\u201cHTTP_Probe\u201d protocol=\u201chttp\u201d port=\u201c80\u201d loadBalancerProbe=\u201cMyProbe\u201c \/>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">The load balancer combines the info of the endpoint and the info of the probe, to create a URL in the form of: https:\/\/{DIP of VM}:80\/Probe.aspx that will use to query the health of the service. The service will notice (in the logs ?), that the same IP periodically is accessing it. This is the health probe request coming from the host of the node where the VM is running.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The service has to respond with a HTTP 200 status code for the load balancer to assume that the service is healthy. Any other HTTP status code (e.g. 503) directly takes the VM out of rotation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The probe definition also controls the frequency of the probe. In our case above, the load balancer is probing the endpoint every 15 secs. If no positive answer is received for 30 secs (two probe intervals), the probe is assumed down and the VM is taken out of rotation. Similarly, if the service is out of rotation and a positive answer is received, the service is put back to rotation right away. If the service is fluctuating between healthy \/ unhealthy, the load balancer can decide to delay the re-introduction of the service back to rotation until it has been healthy for a number of probes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The FE service exposes a set of direct ports, one for each instance (instance input endpoint), that connect directly to the FE instance on the port specified below:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n <InstanceInputEndpoint name=\u201cInstanceEP\u201d protocol=\u201ctcp\u201d localPort=\u201c80\u201c>\n          <AllocatePublicPortFrom>\n              <FixedPortRange min=\u201c10110\u201d max=\u201c10120\u201c  \/>\n          AllocatePublicPortFrom>\n      InstanceInputEndpoint>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">The above definition connects using tcp ports 10110, 10111, \u2026 to port 80 of each FE role VM instance. This capability can be used in many ways:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">a)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get direct access to a given instance and perform action only to that instance<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">b)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Redirect a user app to the particular instance after it has gone through a load balanced endpoint. This can be used for \u201csticky\u201d sessions to a given instance. Note though that this can cause overload to that instance and removed any redundancy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, the FE role exposes an internal endpoint, which can be used for communicating between FE \/ BE roles:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n        <InternalEndpoint name=\u201cFE_InternalEP_Tcp\u201d protocol=\u201ctcp\u201c \/>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Each role can discover the endpoints it exposes, as well as what endpoints each other role is exposing by using the RoleEnvironment class.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The BE role is also modeled as a WorkerRole.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The BE role does not expose any load balanced endpoint, only internal endpoints using http, tcp and udp:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n<InternalEndpoint name=\u201cBE_InternalEP_Tcp\u201d protocol=\u201ctcp\u201c \/>\n<InternalEndpoint name=\u201cBE_InternalEP_Udp\u201d protocol=\u201cudp\u201c \/>\n<InternalEndpoint name=\u201cBE_InternalEP_Http\u201d protocol=\u201chttp\u201d port=\u201c80\u201c \/>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">The BE role also exposes an instance input endpoint, that connects directly to the BE instances:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n<InstanceInputEndpoint name=\u201cInstanceEP_BE\u201d protocol=\u201ctcp\u201d localPort=\u201c80\u201c>\n          <AllocatePublicPortFrom>\n              <FixedPortRange min=\u201c10210\u201d max=\u201c10220\u201c  \/>\n          AllocatePublicPortFrom>\n      InstanceInputEndpoint>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">The above definition connects using tcp ports 10210, \u2026 to port 80 of each BE role VM instance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We hope the above example demonstrates how all the load balancing features can be used together to model a service.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In future posts we will see this tenant in action and provide code samples. In addition we will describe in more detail:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">a)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; How SNAT works<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">b)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Custom Probes<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">c)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Virtual Networking<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, please send us your requests on what would you like to see in more detail.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the Microsoft Azure Networking Team,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Marios Zikos<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft Azure offers load balancing services for virtual machines (IaaS) and cloud services (PaaS) hosted in the Microsoft Azure cloud.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1457],"tags":[],"audience":[],"content-type":[1481],"product":[1555],"tech-community":[],"topic":[],"coauthors":[1435],"class_list":["post-6059","post","type-post","status-publish","format-standard","hentry","category-networking","content-type-thought-leadership","product-load-balancer","review-flag-1680286581-295","review-flag-1-1680286581-825","review-flag-2-1680286581-601","review-flag-3-1680286581-173","review-flag-4-1680286581-250","review-flag-5-1680286581-950","review-flag-new-1680286579-546","review-flag-vm-1680286585-143"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Microsoft Azure Load Balancing Services | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"Microsoft Azure offers load balancing services for virtual machines (IaaS) and cloud services (PaaS) hosted in the Microsoft Azure cloud. Load balancing allows your application to scale and provides\u2026\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Microsoft Azure Load Balancing Services | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"Microsoft Azure offers load balancing services for virtual machines (IaaS) and cloud services (PaaS) hosted in the Microsoft Azure cloud. Load balancing allows your application to scale and provides\u2026\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2014-04-08T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-12T15:59:24+00:00\" \/>\n<meta name=\"author\" content=\"Marios Zikos\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marios Zikos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/marios-zikos\/\",\"@type\":\"Person\",\"@name\":\"Marios Zikos\"}],\"headline\":\"Microsoft Azure Load Balancing Services\",\"datePublished\":\"2014-04-08T00:00:00+00:00\",\"dateModified\":\"2025-09-12T15:59:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/\"},\"wordCount\":1790,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/04\/azureloadbalance-636x311-1.webp\",\"articleSection\":[\"Networking\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/\",\"name\":\"Microsoft Azure Load Balancing Services | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/04\/azureloadbalance-636x311-1.webp\",\"datePublished\":\"2014-04-08T00:00:00+00:00\",\"dateModified\":\"2025-09-12T15:59:24+00:00\",\"description\":\"Microsoft Azure offers load balancing services for virtual machines (IaaS) and cloud services (PaaS) hosted in the Microsoft Azure cloud. Load balancing allows your application to scale and provides\u2026\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Networking\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/networking\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Microsoft Azure Load Balancing Services\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Microsoft Azure Load Balancing Services | Microsoft Azure Blog","description":"Microsoft Azure offers load balancing services for virtual machines (IaaS) and cloud services (PaaS) hosted in the Microsoft Azure cloud. Load balancing allows your application to scale and provides\u2026","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:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/","og_locale":"en_US","og_type":"article","og_title":"Microsoft Azure Load Balancing Services | Microsoft Azure Blog","og_description":"Microsoft Azure offers load balancing services for virtual machines (IaaS) and cloud services (PaaS) hosted in the Microsoft Azure cloud. Load balancing allows your application to scale and provides\u2026","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2014-04-08T00:00:00+00:00","article_modified_time":"2025-09-12T15:59:24+00:00","author":"Marios Zikos","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Marios Zikos","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/marios-zikos\/","@type":"Person","@name":"Marios Zikos"}],"headline":"Microsoft Azure Load Balancing Services","datePublished":"2014-04-08T00:00:00+00:00","dateModified":"2025-09-12T15:59:24+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/"},"wordCount":1790,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/04\/azureloadbalance-636x311-1.webp","articleSection":["Networking"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/","name":"Microsoft Azure Load Balancing Services | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#primaryimage"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2014\/04\/azureloadbalance-636x311-1.webp","datePublished":"2014-04-08T00:00:00+00:00","dateModified":"2025-09-12T15:59:24+00:00","description":"Microsoft Azure offers load balancing services for virtual machines (IaaS) and cloud services (PaaS) hosted in the Microsoft Azure cloud. Load balancing allows your application to scale and provides\u2026","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/microsoft-azure-load-balancing-services\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"Networking","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/networking\/"},{"@type":"ListItem","position":3,"name":"Microsoft Azure Load Balancing Services"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/6059","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=6059"}],"version-history":[{"count":1,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/6059\/revisions"}],"predecessor-version":[{"id":46133,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/6059\/revisions\/46133"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=6059"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=6059"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=6059"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=6059"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=6059"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=6059"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=6059"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=6059"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=6059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}