Load Balancing Brick Draft
Univ. of Hawaii - ITS Technical Architecture - Brick
Load Balancing and Clustering
Primary Architect:
Description: A variety of technologies are available for increasing application availability and scalability.
Load balancing is a technology that distributes application or system traffic across a number of servers. Load Balancing provides for redundancy and for horizontal scalability. Redundancy helps ensure that an application is resilient to failures. Horizontal scalability allows for capacity to be expanded by the addition of application instances. Load Balancing can be accomplished with dedicated hardware appliances or with software.
An in-memory data grid is a technology that allows an application to share state across multiple running instances of the application such that an instance can fail or be removed, or new instances dynamically added as required by changes in demand. For some applications, sharing state between running instances is a prerequisite for clustering an application in order to improve its overall availability.
Experimental |
Strategic (3-5 Years) |
|
Tactical (1-2 Years) |
|
Containment |
|
Retirement |
Background
Traditionally, ITS has used load balances in an “active/passive” configuration. In this model, if the active environment becomes unavailable, processing is handed off to the passive (secondary) environment.
ITS has also used “round robin” load balancing for some applications. This is a simple model where load is balanced in the order that requests come in. This technique has some value, but can still result in unbalanced situations.
In the future ITS will rely more and more on advanced balancing features. Advanced balancing is more intelligent about where connections are routed to better ensure that load is equally balanced across environments. For example, if one server has high CPU utilization, load balancing may focus connections on the other environment.
Hazelcast deployments for CAS are common in Higher Ed. CAS has Hazelcast integration baked in.
Emerging Trends:
Vendors are augmenting application load balancers with additional software modules, usually at additional cost, that provide additional functionality, for example:
Direct users to the nearest data center to provide the best application experience and to secure DNS infrastructure from attacks.
Provide IP intelligence services to increase data center efficiency by blocking malicious activity at the earliest point.
Provide policy-based control over who is on the network and what applications they are allowed to use.
Cloud based solutions provide various balancing options
References:
F5, <https://www.business.illinois.edu/finance/rcmp/research/FFIV2016-3.pptx>
Hazelcast, <https://www.cise.ufl.edu/~mschneid/Teaching/CIS4930%2BCIS6930_Fall2016/Presentation24.pdf>
Change History
Approved October 2016 as the “Application Load Balancing” brick.
Definitions
Experimental | Someone in ITS is currently investigating or experimenting with this technology. |
Strategic | ITS will be investing in this technology for 3-5 years. |
Tactical | ITS will be investing in this technology for 1-2 years. |
Containment | ITS will continue to use this technology for existing systems, but will no longer invest in this technology and/or grow its use. |
Retirement | ITS has a firm plan (and timeline) to retire this technology. |