ra2 studio - Fotolia
As public cloud services play an increasingly important role in the enterprise, the need to balance application traffic expands beyond the data center. Public cloud services like Amazon's Elastic Load Balancing help handle load balancing within AWS. But as cloud usage evolves, application architects may need to embrace multiple cloud platforms and, as a result, evolve their load balancing methods toward a cross-cloud model.
Q. What is cross-cloud load balancing?
Public cloud providers typically offer load balancing services. For example, Amazon Web Services (AWS) provides Elastic Load Balancing and Microsoft Azure also has a load balancing service. But while these services are fine for load balancing traffic within their respective public clouds, they don't operate outside of that environment. This makes load balancing problematic for tasks like cloud bursting, failover and other multicloud strategies.
When a business must extend traffic control outside of a public cloud provider, it's important to use a load balancer that can distribute traffic to multiple locations -- sometimes referred to as global server load balancing. Organizations can use an appliance such as F5's BIG-IP Global Traffic Manager, but it's more common to use a third-party cloud load balancing service. Generally, cloud load balancing services, such as Incapsula's Global Server Load Balancing, operate as a reverse proxy, first taking in all of an application's traffic, and then deciding how to best distribute that traffic to available data centers or cloud providers.
Other options for cloud-based load balancing
Another cloud-based load balancing service is Cloudflare Traffic Manager. Cloudflare emphasizes the use of availability monitoring to check server health and make traffic distribution choices. Citrix NetScaler is another option, offering three distinct versions depending on the organization's scope and load balancing needs. IT teams can deploy NetScaler in the cloud, with models for AWS, Azure and SoftLayer.
When evaluating a cross-cloud load balancing service, consider its impact on your public cloud deployments. Ensure that a public cloud destination is capable of internally scaling and load balancing dynamically in response to global traffic behaviors. It's not practical to engage a cloud-based load balancer if you manually scale a cloud or remote data center application.
A cross-cloud load balancer should also be able to determine application or server health and availability in real time. For example, a least-pending load balancing algorithm, which picks the destination with the fewest pending traffic requests, can be more efficient than a round-robin algorithm, which simply distributes traffic evenly across all destinations. The ability to monitor and evaluate the health of data center and cloud destinations can also help the cross-cloud load balancer function as a failover mechanism; if a destination reports poor health, the load balancer will automatically redirect traffic to other healthy locations.
Q. What are the major uses of cross-cloud load balancing methods?
First, businesses can use cross-cloud load balancing to achieve comprehensive cost control. By monitoring metrics like cost-per-request, a cross-cloud load balancer can route traffic based on costs. For example, it may be less expensive to route traffic to an underused application deployment in another cloud provider region.
Cross-cloud load balancing methods also improve application response times, performance and availability. This is because load balancing prevents any one application node or location from becoming overburdened. This helps the business ensure access to critical applications and even meet service-level agreements for users or customers. Cross-cloud load balancing can also be a major factor in business continuity planning.
Finally, the ability to target specific geographic regions can help businesses ensure that user traffic is constrained and routed to certain data centers or cloud provider regions based on compliance requirements.
Q. What are some challenges with cross-cloud load balancing?
Cross-cloud load balancing methods should support some level of intelligence or automation to help track where an application is available, as well as the capacity of each location. If an application is migrated from the main data center to a remote data center, the global load balancing mechanism should detect that migration and automatically determine the amount of traffic the application can handle at that new location.
The effectiveness of a load balancing service depends on its visibility into data centers and cloud providers. Achieving this visibility and access into an infrastructure as a service (IaaS) or public cloud platform can be problematic -- resulting in uneven traffic decision-making. For example, if a load balancing service uses cost-per-transaction data to make traffic distribution decisions, not all providers offer access to the variables needed to make those determinations. This will require vendors to adopt neutral APIs and infrastructures.
With cross-cloud load balancing, each individual location requires its own local load balancer to direct the arriving application traffic. However, every public cloud or IaaS provider may use different load balancing mechanisms, causing problems for the global load balancer. A global load balancer may require a dedicated load balancing component, such as a virtual application delivery controller, to monitor and manage the health of the application at each particular provider.
Prevent cloud sprawl with effective resource management
Google targets multicloud movement with Stackdriver tool
Optimize your WAN for hybrid cloud