First By Weekly Update
- Nelson Gomez Bohorquez
- Feb 22
- 2 min read
Updated: Mar 7
Planned Activities:
Research related works on load balancing performance and algorithms.
Explore AWS load balancing configuration.
Progress Update:
Literature Review & Research Findings
While searching through the University of Victoria's library resources, we found several articles discussing load balancing in cloud environments, including details about some commonly used algorithms. These articles provide sufficient material to analyze and begin designing our development approach for the project.
Cloud Providers Selection & Load Balancing Algorithms
Our project focuses on two major platforms: Amazon Web Services (AWS) and Google Cloud Platform (GCP).
AWS Load Balancers: We are evaluating three managed load balancers: Classic Load Balancer (CLB), Application Load Balancer (ALB), and Network Load Balancer (NLB), each employing a different algorithm.
GCP Load Balancer: The Google Cloud HTTP(S) Load Balancer is based on Maglev, a consistent hashing algorithm used for distributing and mapping traffic efficiently.
After reviewed AWS and GCP documentation and configuration guides, below are summary tables outlining the load-balancing algorithms we will evaluate for each cloud provider.
Load Balancer Type | Layer | Algorithm | Additional Details |
Classic Load Balancer (CLB) | Layer 4 - TCP/SSL Layer 7 - HTTP/HTTPS | TCP/SSL: Round Robin HTTP/HTTPS: Variant of Least Outstanding Requests | Uses Round Robin for TCP/SSL connections and a request-based method for HTTP/HTTPS to direct traffic to the least busy instance. |
Application Load Balancer (ALB) | Layer 7 - HTTP/HTTPS | Least Outstanding Requests | Supports advanced routing for modern web applications. |
Network Load Balancer (NLB) | Layer 4 - TCP/UDP | Flow Hashing | Optimized for high concurrency and low latency, ideal for persistent connections and high-volume traffic. |
Table. AWS Load Balancers
Load Balancer Type | Layer | Algorithm | Additional Details |
Google Cloud HTTP(S) Load Balancer | Layer 7 -HTTP/HTTPS | Maglev (Consistent Hashing) | Provides global traffic distribution, supports path-based and host-based routing, and auto-scales with demand. |
Table. GCP Load Balancer
Preliminary Deployment Details:
Our deployment strategy involves setting up a cloud-based architecture where a group of virtual machines (EC2 instances) will be deployed behind the load balancers, while an additional instance will be used to generate load via Apache JMeter.
For monitoring and data evaluation collection, it will be conducted using Amazon CloudWatch (AWS) and Google Cloud Monitoring (GCP) to track key infrastructure metrics such as request counts, and latency.
For load testing, Apache JMeter will simulate concurrent requests and capture client-side metrics, including response times, throughput, and error rates.
This configuration will provide both a data center infrastructure-level perspective (CloudWatch/Cloud Monitoring) and an end-user perspective (JMeter), giving us a better understanding of the operation of each load-balancing algorithm.
As initial performed tasks, we created new AWS accounts to start the analysis and configuration based on our research findings.
Next Steps:
The next steps for our project involve:
Design the test scenario: The first stage includes designing the test scenario, selecting the appropriate region and availability zones, choosing suitable instance types and virtual machines, and identifying the proper tools to effectively test the setup.
AWS Environment Setup:
Deploy a basic AWS environment for initial tests with the AWS Classic Load Balancer.
Integrate monitoring into the basic AWS environment.
Load Testing Implementation: Review JMeter load scenarios to simulate varying levels of concurrency.
Research about the Google Cloud Load Balancer configuration.
Research additional metrics on Amazon CloudWatch (AWS) and Google Cloud Monitoring (GCP) which could be valuable to analyze load balancer performance.
Comentarios