Azure Load Balancer is a high-performance, ultra-low-latency Layer 4 load-balancing service (inbound and outbound) for all UDP and TCP protocols. It’s built to handle millions of requests per second while ensuring your solution is highly available.
With Azure Load Balancer, you can scale your applications and create highly available services. Load balancer supports both inbound and outbound scenarios.
If you’re using Azure Load Balancer in your solution architectures, please remember that on September 30, 2025, Azure Basic Load Balancer will be retired. You can continue to use your existing Basic Load Balancers until then, but you’ll no longer be able to deploy new ones after March 31, 2025.
To keep your workloads appropriately distributed, you’ll need to upgrade to Standard Load Balancer, which provides significant improvements including:
- High performance, ultra-low latency, and superior resilient load-balancing.
- Security by default—closed to inbound flows unless allowed by a network security group.
- Diagnostics such as multi-dimensional metrics and alerts, resource health, and monitoring.
- SLA of 99.99 percent availability.
- Azure Monitor integration
More informations about differences between Basic and Standard Load Balancers can be found here.
The recommended way to to the automatic upgrade from Basic to Standard Load Balancer is to use the AzureBasicLoadBalancerUpgrade Powershell module provided by Microsoft (this module is automatically installed in Azure CLI via Portal):
Install-Module -Name AzureBasicLoadBalancerUpgrade -Scope CurrentUser -Repository PSGallery -Force
To show how this tool works, lets’ consider a Basic Load Balancer instance:
Open the Azure Cloud Shell and execute the following command:
Connect-AzAccount -Tenant <TenantId> -Subscription <SubscriptionId> -UseDeviceAuthentication
Start-AzBasicLoadBalancerUpgrade -ResourceGroupName <LoadBalancerResourceGroupName> -BasicLoadBalancerName <BasicLoadBalancerName>
After executing the command, the Basic Load Balancer instance is upgraded to the Standard SKU:

The command makes a backup of the roles and configuration of your Basic Load Balancer and deletes it. Then it creates a new Standard Load Balancer SKU and applies to it your original roles and configurations.
The command generates 3 files:
- an ARM template for the Basic load balancer
- a State file (that essentially is another backup of the Basic load balancer)
- an upgrade log file (Start-AzBasicLoadBalancerUpgtrade.log). This file is useful if you have errors during migration.
If you run more than one migration, the upgrade log will be appended to the current log. More informations about upgrade procedures can be found here.
Please note that because the Basic Load Balancer needs to be removed before the new Standard Load Balancer can be created, there will be downtime to your application.


