Search

US-12621242-B2 - Elastic scaling of software-defined distributed load balancers across clouds

US12621242B2US 12621242 B2US12621242 B2US 12621242B2US-12621242-B2

Abstract

An example method of performing a scaling operation for a distributed load balancer in a multi-cloud system includes: initiating, by a controller of the distributed load balancer, a scaling operation targeting a plurality of clouds in the multi-cloud system; determining, by the controller, implementations of the scaling operation for the plurality of clouds based on networking infrastructures of the plurality of clouds; and executing, by the controller, an implementation of the scaling operation for a first cloud of the plurality of clouds, the implementation including operations of: configuring a network interface on a data plane device of the distributed load balancer and configuring an upstream network of the first cloud.

Inventors

  • Aman CHAUHAN
  • Srinivasa Srikanth Podila
  • Lakshmana Murthy Mantha
  • Vivek Kalyanaraman

Assignees

  • VMware LLC

Dates

Publication Date
20260505
Application Date
20231220

Claims (20)

  1. 1 . A method of performing a scaling operation for a distributed load balancer in a multi-cloud system, comprising: initiating, by a controller of the distributed load balancer, a scaling operation targeting a plurality of clouds in the multi-cloud system, the distributed load balancer configured to balance network traffic received at a virtual address across a plurality of instances of an application; determining, by the controller, implementations of the scaling operation for the plurality of clouds based on support of at least one of address resolution protocol, internet protocol (IP)-based routing, and equal cost multipath (ECMP) routing in the plurality of clouds; and executing, by the controller, an implementation of the scaling operation for a first cloud of the plurality of clouds corresponding to one of address resolution protocol, IP-based routing, or ECMP routing that is supported by the first cloud, the implementation including operations of: configuring a network interface on a data plane device of the distributed load balancer and configuring an upstream network of the first cloud.
  2. 2 . The method of claim 1 , further comprising determining an order of the operations of the scaling operation based on a networking infrastructure of the first cloud.
  3. 3 . The method of claim 2 , wherein the controller first configures the upstream network of the first cloud and then configures the network interface of the data plane device.
  4. 4 . The method of claim 3 , wherein the first cloud supports only internet protocol (IP)-based routing on a router of the upstream network, and wherein configuring the upstream network comprises configuring a route in the router to the data plane device.
  5. 5 . The method of claim 2 , wherein the controller first configures the network interface of the data plane device and then configures the upstream network of the first cloud.
  6. 6 . The method of claim 5 , wherein the first cloud supports only equal cost multipath (ECMP) routing on a router of the upstream network, and wherein configuring the upstream network comprises adding, to the router, a route to the data plane device to a set of routes having equal cost.
  7. 7 . The method of claim 1 , further comprising: executing, by the controller, an implementation of the scaling operation for a second cloud of the plurality of clouds, the implementation including only an operation of configuring a network interface on a data plane device of the distributed load balancer.
  8. 8 . A non-transitory computer readable medium comprising instructions to be executed in a computing device to cause the computing device to carry out a method of performing a scaling operation for a distributed load balancer in a multi-cloud system, comprising: initiating, by a controller of the distributed load balancer, a scaling operation targeting a plurality of clouds in the multi-cloud system, the distributed load balancer configured to balance network traffic received at a virtual address across a plurality of instances of an application; determining, by the controller, implementations of the scaling operation for the plurality of clouds based on support of at least one of address resolution protocol, internet protocol (IP)-based routing, and equal cost multipath (ECMP) routing in the plurality of clouds; and executing, by the controller, an implementation of the scaling operation for a first cloud of the plurality of clouds corresponding to one of address resolution protocol, IP-based routing, or ECMP routing that is supported by the first cloud, the implementation including operations of: configuring a network interface on a data plane device of the distributed load balancer and configuring an upstream network of the first cloud.
  9. 9 . The non-transitory computer readable medium of claim 8 , further comprising determining an order of the operations of the scaling operation based on a networking infrastructure of the first cloud.
  10. 10 . The non-transitory computer readable medium of claim 9 , wherein the controller first configures the upstream network of the first cloud and then configures the network interface of the data plane device.
  11. 11 . The non-transitory computer readable medium of claim 10 , wherein the first cloud supports only internet protocol (IP)-based routing on a router of the upstream network, and wherein configuring the upstream network comprises configuring a route in the router to the data plane device.
  12. 12 . The non-transitory computer readable medium of claim 9 , wherein the controller first configures the network interface of the data plane device and then configures the upstream network of the first cloud.
  13. 13 . The non-transitory computer readable medium of claim 12 , wherein the first cloud supports only equal cost multipath (ECMP) routing on a router of the upstream network, and wherein configuring the upstream network comprises adding, to the router, a route to the data plane device to a set of routes having equal cost.
  14. 14 . The non-transitory computer readable medium of claim 8 , further comprising: executing, by the controller, an implementation of the scaling operation for a second cloud of the plurality of clouds, the implementation including only an operation of configuring a network interface on a data plane device of the distributed load balancer.
  15. 15 . A multi-cloud system, comprising: a distributed load balancer having a controller and a data plane device, the distributed load balancer configured to balance network traffic received at a virtual address across a plurality of instances of an application; the controller configured to: initiate a scaling operation targeting a plurality of clouds in the multi-cloud system; determine implementations of the scaling operation for the plurality of clouds based on support of at least one of address resolution protocol, internet protocol (IP)-based routing, and equal cost multipath (ECMP) routing in the plurality of clouds; and execute an implementation of the scaling operation for a first cloud of the plurality of clouds corresponding to one of address resolution protocol, IP-based routing, or ECMP routing that is supported by the first cloud, the implementation including operations of: configuring a network interface on a data plane device of the distributed load balancer and configuring an upstream network of the first cloud.
  16. 16 . The multi-cloud system of claim 15 , wherein the controller is further configured to determine an order of the operations of the scaling operation based on a networking infrastructure of the first cloud.
  17. 17 . The multi-cloud system of claim 16 , wherein the controller first configures the upstream network of the first cloud and then configures the network interface of the data plane device.
  18. 18 . The multi-cloud system of claim 17 , wherein the first cloud supports only internet protocol (IP)-based routing on a router of the upstream network, and wherein configuring the upstream network comprises configuring a route in the router to the data plane device.
  19. 19 . The multi-cloud system of claim 16 , wherein the controller first configures the network interface of the data plane device and then configures the upstream network of the first cloud.
  20. 20 . The multi-cloud system of claim 19 , wherein the first cloud supports only equal cost multipath (ECMP) routing on a router of the upstream network, and wherein configuring the upstream network comprises adding, to the router, a route to the data plane device to a set of routes having equal cost.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Patent Application Ser. No. 63/476,531, filed Dec. 21, 2022, which is incorporated by reference herein in its entirety. BACKGROUND In a software-defined data center (SDDC), virtual infrastructure, which includes virtual compute, storage, and networking resources, is provisioned from hardware infrastructure that includes a plurality of host computers, storage devices, and networking devices. The provisioning of the virtual infrastructure is carried out by management software that communicates with virtualization software (e.g., hypervisor) installed in the host computers. SDDC users move through various business cycles, requiring them to expand and contract SDDC resources to meet business needs. This leads users to employ multi-cloud solutions, such as typical hybrid cloud solutions where the SDDC spans across an on-premises data center and a public cloud. SDDCs typically operate a great number of interconnected servers to implement certain network services. For example, load balancing services are often implemented to balance workload across different servers for applications. A software-defined distributed load balancer includes a multi-node control plane and a multi-node data plane. The control plane devices form a cluster known as a controller that functions as a single point of intelligence, management, and control for the distributed data plane. A data plane device is a load balancer device that provides traffic management and application security while collecting real-time analytics from the traffic flows. An application deployed with the distributed load balancer is exposed to the client network via a Virtual Internet Protocol address (VIP) and the traffic to the VIP is proxied to application servers by the data plane nodes. Based on traffic load reaching the VIP of the application, the controller can scale the data plane nodes by adding capacity to improve application latency or reducing the capacity to conserve data center resources. This can be achieved by three operations, namely, scale out, scale in, and migrate operations. Scale out increases the capacity of an application by distributing the incoming traffic across one or more additional data plane devices. Scale in reduces the capacity of an application and conserves resources by withdrawing application state from one or more data plane devices. Migrate moves the application between data plane devices (i.e., vacated from one device and moved to another device) for various use-cases, such as improving the distribution of resources, providing non-disruptive maintenance windows, and providing for zero-downtime rolling upgrades. In a multi-cloud system, however, clouds can provide different network infrastructures that affect how the scaling operations are performed. Scaling without proper orchestration of network programming on cloud and data plane devices can disrupt traffic flows for the application and affect application uptime. SUMMARY An exemplary method of performing a scaling operation for a distributed load balancer in a multi-cloud system is described herein. A controller of the distributed load balancer initiates a scaling operation targeting a plurality of clouds in the multi-cloud system and determines implementations of the scaling operation based on networking infrastructures of the plurality of clouds. The controller executes an implementation for a first cloud, wherein the implementation includes configuring a network interface on a data plane device of the distributed load balancer and configuring an upstream network of the first cloud. In addition, a non-transitory computer-readable storage medium comprising instructions that cause a computer system to carry out the above method, as well as a computer system configured to carry out the above method are described. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram depicting an exemplary multi-cloud system. FIG. 2 is a block diagram depicting an exemplary distributed load balancing platform. FIG. 3 is a block diagram of an exemplary SDDC. FIG. 4 is a flow diagram depicting an exemplary method of scale out in a distributed load balancing platform. FIG. 5 is a flow diagram depicting an exemplary method of scale-in in a distributed load balancing platform. FIG. 6 is a flow diagram depicting an exemplary method of scale out in a distributed load balancing platform. FIG. 7 is a flow diagram depicting an exemplary method of scale-in in a distributed load balancing platform. FIG. 8 is a flow diagram depicting an exemplary method of scale out in a distributed load balancing platform. FIG. 9 is a flow diagram depicting an exemplary method of scale-in in a distributed load balancing platform. FIG. 10 is a flow diagram depicting an exemplary method of performing scaling operations in a distributed load balancing platform executing in a multi-cloud system. DETAILED DESCRIPTION FIG. 1 is a bl