Create a Web Farm to Load Balance a Guest App UI


One of the great things about the Apprenda platform from the operators standpoint is that the platform simplifies and standardizes certain maintenance tasks across the entire guest application portfolio.  In this article, we'll assume you've got an Apprenda environment that consists of 2 or more web servers.  We'll use the Operations Center to create new workloads for a specific application's user interface - what this does behind the scenes is seamlessly create a web farm between multiple web servers for that application.  The platform then immediately begins to load balance inbound requests for that application's user interface between the web servers hosting those workloads.

We start on the application page in the Operations Center.  In this example, we're looking at the running workloads for the Apprenda Developer Portal, and we can see that we have one user interface workload on the server called 'WEB1'.


What we want to do is create a new workload on a different web server so that the platform automatically balances load between multiple workloads. 

Ordinarily, providing this kind of service to your developers would require you to configure web farming in IIS.  Let's look at how it works on the Apprenda platform.  It's important to understand terminology - a WORKLOAD is a running process on your infrastructure, consuming resources as part of a guest application, a COMPONENT is an application artifact such as a web service or UI that the platform knows about. COMPONENTS lay dormant on disk until a request like the one we're about to make happens, at which point the COMPONENT is copied, configured, and deployed as a running WORKLOAD.

In this case, we want to deploy a new WORKLOAD for the user interface COMPONENT. So we go to the Components tab and click on the 'Deploy' button for the user interface.  The Operations Center presents with the following dialog:




At this point, we could simply click the blue 'Deploy' button and let the platform choose a web server to target for our new workload.  Alternatively, we can click on 'Let Me Choose a Server', which presents us with a list of the web servers that the platform knows about:




We'll choose 'WEB2' and click 'Deploy'.  The platform will create a new workload on 'WEB2' for our application's user interface, then configure a web farm between the existing workload on 'WEB1' and the new workload on 'WEB2'.



When the process completes, we have two user interface workloads:




And with that, we've created a web farm based load balancing scenario for this guest application.  Web farms are not limited to two servers, either, so for a guest application to be highly available it might have running workloads on 3 or more servers - dependent entirely on its usage profile.

Have more questions? Submit a request