In this blog you will learn about Platform9 Private Cloud Director’s Load Balancer as a Service (LBaaS), resource efficiencies, key components like listeners and pools, and how it compares to VMware NSX Load Balancing with its limitations and advantages.
Introduction
As applications scale and user traffic grows, ensuring performance and availability becomes crucial. Load balancing is a fundamental technique used to distribute incoming network traffic across multiple backend servers (like virtual machines), preventing any single server from becoming overwhelmed and ensuring a smooth user experience.
Platform9 Private Cloud Director (PCD) offers a built-in Load Balancer as a Service (LBaaS) to address this need within your private cloud environment.
A Modern Approach: LBaaS with OVN
Platform9 PCD’s LBaaS takes an efficient, modern approach. Instead of relying on dedicated load balancer virtual machines (like VMware NSX often does, or the default approach in OpenStack Octavia), PCD utilizes the OVN (Open Virtual Network) provider driver.
Here’s why this matters:
- Resource Efficiency: Load balancing is implemented directly within OVN’s distributed virtual router using OpenFlow rules programmed into Open vSwitch (OVS). This eliminates the need to deploy and manage separate, resource-consuming load balancer VMs.
- Faster Deployment: Creating a load balancer is nearly instantaneous because there’s no VM provisioning or boot time involved.
- Simplified Management: LBaaS integrates seamlessly with the existing OVN infrastructure, removing the complexity of managing separate load balancer appliances or networks.
Core Components of Platform9 LBaaS
Setting up load balancing in Platform9 PCD involves configuring these key components:
- Load Balancer & Virtual IP (VIP): You start by creating a load balancer resource and assigning it a Virtual IP address (VIP) from one of your subnets. This VIP acts as the single, public-facing entry point for all incoming application traffic.
- Listener: A listener defines how the load balancer handles incoming requests on a specific port. It specifies the protocol (TCP, UDP, or SCTP) and port number. The listener receives the traffic arriving at the VIP and directs it to an appropriate backend pool.
- Pool: A pool is a group of backend virtual machines that will actually process the user requests. These VMs must be running before being added to the pool, and all members within a pool should typically provide the same service (e.g., multiple web server VMs for the same website). Pool members are identified by their IP address and port.
- Member: A Member represents a backend server that receives traffic from the load balancer. Members are part of a pool. Each member is defined by its IP address and port, indicating where the load balancer should forward traffic. Members can be assigned a weight to influence traffic distribution.The health of each member is monitored using health checks.
- Health Monitoring: To ensure traffic is only sent to healthy VMs, you configure health monitors. These periodically check the status of each VM in the pool. If a VM fails a health check, the load balancer temporarily stops sending traffic to it, preventing service disruptions.
Supported Configuration and Considerations
Platform9’s LBaaS currently supports the following:
- Protocols: TCP, UDP, and SCTP listeners and pools are supported. Note that Layer 7 (e.g., HTTP-specific) load balancing is not currently available.
- Load Balancing Algorithm: The SOURCE_IP_PORT algorithm is currently supported. This algorithm ensures requests from the same source IP and port consistently go to the same backend VM. Algorithms like Round Robin or Least Connections are not currently supported due to OVN provider driver limitations.
- Health Monitoring: Health checks using TCP and UDP-CONNECT protocols are supported. SCTP health monitoring is not available at this time.
- IP Versions: Pools must contain either all IPv4 or all IPv6 members; mixed members are not supported. Full IPv6 support is still under testing.
Management
You can configure and manage Platform9 LBaaS resources through both the Platform9 API and the web user interface (UI), providing flexibility for automation and ease of use.
Platform9 LBaaS vs. VMware NSX Load Balancer Comparison
This table compares the Load Balancer as a Service (LBaaS) in Platform9 Private Cloud Director with the VMware NSX Load Balancer features described in the Cloudbolt blog post.
Feature | Platform9 PCD LBaaS | VMware NSX Load Balancing |
Underlying Technology | OpenStack Octavia with OVN provider driver | NSX-T Load Balancer (part of NSX platform) |
Implementation | Integrated into OVN distributed router via OpenFlow rules; No dedicated LB VMs | Deployed as Tier-1 Gateways on NSX Edge appliances (implies dedicated resources) |
Deployment Model | Near-instant deployment, integrated with existing OVN infrastructure | Requires deployment of NSX Edge appliances and gateway configuration |
Resource Usage | Highly resource-efficient (no dedicated VMs) | Consumes resources for NSX Edge appliances |
Management Interface | UI, API or CLI | Assumed via NSX Manager (UI/API) |
Supported Protocols | Layer 4: TCP, UDP, SCTP. No Layer 7 (HTTP) support. | Implied Layer 4 – Layer 7 support (typical for NSX) |
Load Balancing Algorithms | SOURCE_IP_PORT only. (Round Robin, Least Connections not supported) | Round Robin, Weighted (Deterministic), Least Connections |
Health Monitoring | TCP, UDP-CONNECT supported. (SCTP not supported) | Health checks are a key component (specific types not detailed in blog summary) |
Key Advantage/Focus | Resource efficiency, deployment speed, and simplified management via OVN integration | Feature-richness, integration within the broader NSX networking/security platform |
Conclusion
Platform9 Private Cloud Director’s LBaaS offers an efficient, integrated, and rapidly deployable solution for distributing application traffic. By leveraging the OVN provider driver, it avoids the overhead of dedicated load balancer VMs, simplifying management and conserving resources within your private cloud infrastructure. While currently focused on Layer 4 protocols and the SOURCE_IP_PORT algorithm, it provides essential load balancing capabilities for enhancing application availability and performance.
Continue learning
Explore our eight learning modules and become a Private Cloud Director expert.