Azure Load Balancer

  • Author: Ronald Fung

  • Creation Date: 26 May 2023

  • Next Modified Date: 26 May 2024


A. Introduction

Load balancing refers to evenly distributing load (incoming network traffic) across a group of backend resources or servers.

Azure Load Balancer operates at layer 4 of the Open Systems Interconnection (OSI) model. It’s the single point of contact for clients. Load balancer distributes inbound flows that arrive at the load balancer’s front end to backend pool instances. These flows are according to configured load-balancing rules and health probes. The backend pool instances can be Azure Virtual Machines or instances in a Virtual Machine Scale Set.

A public load balancer can provide outbound connections for virtual machines (VMs) inside your virtual network. These connections are accomplished by translating their private IP addresses to public IP addresses. Public Load Balancers are used to load balance internet traffic to your VMs.

An internal (or private) load balancer is used where private IPs are needed at the frontend only. Internal load balancers are used to load balance traffic inside a virtual network. A load balancer frontend can be accessed from an on-premises network in a hybrid scenario.

Load Balancer

Figure: Balancing multi-tier applications by using both public and internal Load Balancer

For more information on the individual load balancer components, see Azure Load Balancer components.


B. How is it used at Seagen

As a biopharma research company, Seagen can use Azure Load Balancer to distribute incoming traffic across multiple virtual machines (VMs) for improved availability and scalability. Azure Load Balancer is a cloud-based solution that enables organizations to load-balance incoming traffic across multiple VMs.

Here are some ways Seagen could use Azure Load Balancer:

  1. Distribute traffic across VMs: Azure Load Balancer enables Seagen to distribute incoming traffic across multiple VMs, improving availability and scalability.

  2. Ensure high availability: Azure Load Balancer ensures high availability by detecting and routing traffic to healthy VMs in the event of a VM failure.

  3. Scale out: Azure Load Balancer enables Seagen to scale out by adding or removing VMs as demand changes.

  4. Protocol support: Azure Load Balancer supports multiple protocols, including TCP, UDP, and HTTP/HTTPS.

  5. Customizable rules: Azure Load Balancer enables Seagen to create custom load-balancing rules based on traffic type, application, and other criteria.

  6. Health probes: Azure Load Balancer includes health probes that monitor the health of VMs and ensure that traffic is only sent to healthy VMs.

Overall, Azure Load Balancer provides a powerful platform for load-balancing incoming traffic across multiple VMs in Azure. Its ability to distribute traffic, ensure high availability, scale out, support multiple protocols, create custom rules, and include health probes make it a popular choice for organizations looking to improve the availability and scalability of their applications.


C. Features

Azure Load Balancer is a cloud-based solution that enables organizations to load-balance incoming traffic across multiple virtual machines (VMs). Here are some key features of Azure Load Balancer:

  1. Load balancing: Azure Load Balancer distributes incoming traffic across multiple VMs, improving availability and scalability.

  2. High availability: Azure Load Balancer ensures high availability by detecting and routing traffic to healthy VMs in the event of a VM failure.

  3. Scale out: Azure Load Balancer enables organizations to scale out by adding or removing VMs as demand changes.

  4. Protocol support: Azure Load Balancer supports multiple protocols, including TCP, UDP, and HTTP/HTTPS.

  5. Customizable rules: Azure Load Balancer enables organizations to create custom load-balancing rules based on traffic type, application, and other criteria.

  6. Health probes: Azure Load Balancer includes health probes that monitor the health of VMs and ensure that traffic is only sent to healthy VMs.

  7. IP address management: Azure Load Balancer enables organizations to manage IP addresses for incoming traffic, including static public IP addresses.

  8. Integration with Azure services: Azure Load Balancer integrates with other Azure services, such as Azure Virtual Machines, Azure Kubernetes Service, and Azure App Service.

  9. Network security: Azure Load Balancer includes network security features, such as network security groups and application security groups.

Overall, Azure Load Balancer provides a powerful platform for load-balancing incoming traffic across multiple VMs in Azure. Its ability to distribute traffic, ensure high availability, scale out, support multiple protocols, create custom rules, include health probes, manage IP addresses, integrate with Azure services, and provide network security make it a popular choice for organizations looking to improve the availability and scalability of their applications.


D. Where Implemented

LeanIX


E. How it is tested

Testing Azure Load Balancer involves several steps that include:

  1. Creating a testing environment: The first step is to create a testing environment that is separate from the production environment. This ensures that any issues or bugs discovered during testing do not affect the live system.

  2. Creating test cases: The next step is to create test cases that cover all the functionalities of Azure Load Balancer. Test cases should include positive and negative scenarios, edge cases, and stress tests.

  3. Running tests: Once the test cases are created, the next step is to run the tests. This involves executing the test cases and recording the results.

  4. Debugging and fixing issues: If any issues or bugs are discovered during testing, they must be debugged and fixed before proceeding with further testing.

  5. Repeat testing: After fixing the issues, the tests must be run again to ensure that the fixes have been successful and there are no further issues.

  6. Integration testing: Once Azure Load Balancer has been tested, it must be integrated with other systems and applications to ensure that it works seamlessly with other components.

  7. User acceptance testing: Finally, Azure Load Balancer must undergo user acceptance testing to ensure that it meets the requirements of the end-users.

Overall, testing Azure Load Balancer involves a comprehensive testing approach that covers all the functionalities of the solution and ensures that it meets the requirements of the end-users. Testing should include both functional and non-functional testing, such as performance testing, security testing, and scalability testing.


F. 2023 Roadmap

????


G. 2024 Roadmap

????


H. Known Issues

Like all software products, Azure Load Balancer may have some known issues. Here are some of the known issues for Azure Load Balancer:

  1. Configuration issues: Configuring Azure Load Balancer correctly can be complex, and there may be issues related to configuration that impact the functionality of the solution.

  2. Resource allocation issues: Azure Load Balancer may have resource allocation issues that impact the performance of virtual machines and the overall user experience.

  3. Compatibility issues: Azure Load Balancer may have compatibility issues with some third-party applications and systems. This can impact the performance of Azure Load Balancer and the overall user experience.

  4. Health probe issues: Health probes used by Azure Load Balancer may produce false positives or false negatives, which can impact the availability of the VMs.

  5. Network security issues: While Azure Load Balancer includes network security features, organizations must ensure that their deployments are secure and compliant with industry standards.

  6. Performance issues: Azure Load Balancer relies on cloud-based infrastructure, which may cause latency issues when retrieving data from various sources. This can impact the performance of Azure Load Balancer and the overall user experience.

Overall, while Azure Load Balancer is a powerful solution for load-balancing incoming traffic across multiple virtual machines, users must be aware of these known issues and take steps to mitigate their impact. This may include addressing configuration issues, providing adequate training to users, and ensuring that Azure Load Balancer is compatible with other systems and applications.


[x] Reviewed by Enterprise Architecture

[x] Reviewed by Application Development

[x] Reviewed by Data Architecture