November 21, 2012 | Written by: Marco Celon
Share this post:
Load balancing is an important part of cloud infrastructure as mission critical web-based applications and workloads require a High Availability solution which helps distribute payloads and incoming traffic across multiple servers, network links and back-end application instances to optimize resource utilization. Moreover this “rapid elasticity” feature of a cloud environment has been included in the official NIST’s definition of cloud computing.
Currently OpenStack does not allow you to leverage fully automated management of load balancers. The Quantum module, introduced by the Folsom release, allows you to explicitly represent and manipulate the network topology in a unified way as a graph of nodes and devices connected through ports; however, there is no system as efficient or flexible as an API service designed to manage multiple hardware and software based load balancers in a cloud.
These are the compelling reasons behind the development of the LBaaS functionalities for OpenStack (Equilibrium project) which may eventually be merged with the Quantum project. A dedicated OpenStack Contributions Team is working to create a service which exposes a single unified RESTful API for managing different hardware-based LB and virtualized software LB appliances, both on the cloud administrator side (manage the LB appliances) and on the tenant side (provide LB for an application). It is going to be designed specifically for OpenStack, but can also be used as a standalone service to manage a set of load balancers through a single unified API.
There have been some sessions showing the first prototype of Quantum/Equilibrium working together at the latest OpenStack Design Summit and the first draft of the code is available for download. In the actual version the characteristics are:
- Provides load-balancing IP address with multiple instances as back-end
- Available drivers for haproxy, Cisco ACE and F5 BigIP (many additional vendors have already expressed their interest in the support)
- Integration with the Quantum project
I personally believe that the integration of LBaaS in OpenStack is a step towards providing all networking functions to the tenants and that should be managed as a separate project. With a tight integration it will evolve the Quantum project up the networking stack.