Load Balancing
Load balancing is the ability to take individual client requests and distribute those requests across multiple web servers or application servers using a single URL to the application. Load balancing is considered an Active/Active approach to handling incoming user requests and distributing them to the proper servers.
Load balancing can come in several different forms, including network, hardware, and software balancing solutions. In a multi-tier architecture, you can load balance the client requests coming to the web server and load balance requests going from the web server to the application servers.
Typical customer configurations balance at least two or more web servers. Each web server can potentially have one or more associated application servers, although this capability varies based on the web server vendor.
For user traffic, Servigistics InService does not have any specific load balancing rules or techniques that need to be applied. Servigistics InService is a RESTful application that does not persist session content to a specific application instance.
However, for administrator traffic Servigistics InService does require the use of a load balancing technique that includes the use of “persistence” or “stickiness” or “affinity”. Persistence, stickiness, and affinity are terms that are used commercially to describe the ability to bind the initial user request to a server in the cluster so that their subsequent requests are processed by the same server. Various components that are used with Servigistics InService maintain a variable amount of session information that is not synchronized across all of the nodes in a cluster. This could be session information stored in a specific application server instance or even paging session information associated to a given JDBC connection between an application server and the database.
| You must acquire and provision the web load balancer component. This is required for both the Multi-Viewer Cluster and Multi-Site Cluster deployment configurations. |
Software Load Balancing
Software-based balancing is provided by numerous vendors as commercial products, such as Sun Cluster, HP Cluster, MC/ServiceGuard, and Veritas Cluster. These solutions often offer both Active/Active and Active/Passive load balancing capabilities. Using software such as those mentioned allows for components in the architecture to be moved from a running system to a standby system, or the software can be used as a load balancer for the application servers themselves.
A simple variation of a software-based balancing solution is available with the Apache web server product that PTC distributes with our Windchill solutions.
Within each Apache configuration that PTC provides is the ability (with additional configurations) to bind a single web server to one or more application servers in a cluster.
However, a single Apache instance can be prone to failure. Such failure can be addressed through Active/Passive fault tolerance capabilities applied to the Apache server or through advancements in virtualizing services.
Hardware Load Balancing
Hardware based load balancing uses additional equipment, typically at the network level, to distribute requests to server nodes arranged in a cluster.
Cisco, F5 Networks and other network hardware providers manufacture a variety of different products that can function as a load balancer. The Cisco ACE Appliance, ACE Service Module and the F5 Networks BigIP products are commonly found in many PTC customer environments.
While these hardware solutions provide the same benefits as the other solutions, they also provide the ability to implement additional advanced functional capabilities into the infrastructure, such as SSL offloading, compression, intrusion detection, and prevention.