Blackboard Learn
Contents
2 Introduction
Blackboard Learn(TM) is a Learning Management System (LMS) developed by Blackboard Inc. It is web-based server software which features course management, customizable open architecture and scalable design that allows integration with student information systems and authentication protocols. Its main purpose is to add online elements to courses which are traditionally delivered face-to-face and develop completely online courses with little or no face-to-face meetings.
To improve performance and provide High Availability (HA), Blackboard Learn(TM) supports using a hardware or software load balancer and multiple application servers. The Kemp LoadMaster can be used to load balance Blackboard Learn(TM) traffic.
2.1 Document Purpose
The purpose of this document is to describe how to configure the LoadMaster to load balance Blackboard Learn(TM). This document is based on Blackboard Learn 9.1 SP8. Kemp supports other versions of Learn, but there may be some features that do not work with older versions of Learn.
2.2 Intended Audience
This document is intended to be used by anyone who is interested in finding out how to configure the LoadMaster to load balance Blackboard Learn(TM).
2.3 Prerequisites
The following prerequisites must be satisfied before configuring the LoadMaster to work with Blackboard Learn(TM):
The Blackboard Learn(TM) application must be deployed and successfully tested
The Application Servers must have the relevant JDK and JRE installed.
A Microsoft SQL Server must be installed
3 Template
Kemp has developed a template containing our recommended settings for this workload. You can install this template to help create Virtual Services (VSs) because it automatically populates the settings. You can use the template to easily create the required VSs with the recommended settings. For some workloads, additional manual steps may be required such as assigning a certificate or applying port following, these steps are covered in the document, if needed.
You can remove templates after use and this will not affect deployed services. If needed, you can make changes to any of the VS settings after using the template.
Download release templates from the following page: LoadMaster Templates.
For more information and steps on how to import and use templates, refer to the Virtual Services and Templates, Feature Description on the Kemp Documentation page.
4 Load Balancing Blackboard Learn(TM)
The above diagram depicts a typical load-balanced configuration. Load-balanced configurations include multiple application servers, a database server (or failover cluster), a file system server and a collaboration server. A network switch is used to handle communications from the client machines to the application servers and the collaboration server. A separate switch is used to handle a secure, private connection between the application servers and the file system and database servers. The database and file system must be on a secure, private network.
The LoadMaster is primarily used for load balancing and providing HA for the web/application servers and collaboration servers. The collaboration server can also be optionally load balanced. For more information on how to load balance the collaboration server, refer to this link: https://help.blackboard.com/en-us/Learn/9.1_2014_04/Administrator/070_Server_Management_and_Integrations/Performance_Optimization/Load_Balancing_-_Configuration_and_Best_Practices
The diagram above also shows integration with an LDAP server (or servers) to handle authentication and a Student Information System (SIS) to share data with Blackboard Learn(TM).
4.1 Configure the LoadMaster
The following sections describe how to configure the LoadMaster and associated Virtual Services.
4.1.1 Configure Global Settings
The following sections explain how to configure various settings globally.
4.1.1.1 L7 Configuration
The Additional L7 Header field in the LoadMaster must be set to X-Forwarded-For. To do this, follow the steps below in the LoadMaster Web User Interface (WUI):
1. In the main menu of the WUI, go to System Configuration > Miscellaneous Options > L7 Configuration.
2. Select X-Forwarded-For as the Additional L7 Header.
The Blackboard Learn(TM) server must be configured to look at this header. If you are using IIS, an Internet Server Application (ISAPI) filter must be used to see the X-Forwarded-For header.
4.1.1.2 Enable Subnet Originating Requests Globally
It is best practice to enable the Subnet Originating Requests option globally.
In a one-armed setup (where the Virtual Service and Real Servers are on the same network/subnet) Subnet Originating Requests is usually not needed. However, enabling Subnet Originating Requests should not affect the routing in a one-armed setup.
In a two-armed setup where the Virtual Service is on network/subnet A, for example, and the Real Servers are on network B, Subnet Originating Requests should be enabled on LoadMasters with firmware version 7.1-16 and above.
When Subnet Originating Requests is enabled, the Real Server sees traffic originating from 10.20.20.21 (LoadMaster eth1 address) and responds correctly in most scenarios.
With Subnet Originating Requests disabled, the Real Server sees traffic originating from 10.0.0.15 (LoadMaster Virtual Service address on eth0) and responds to eth0 which could cause asymmetric routing.
When Subnet Originating Requests is enabled globally, it is automatically enabled on all Virtual Services. If the Subnet Originating Requests option is disabled globally, you can choose whether to enable Subnet Originating Requests on a per-Virtual Service basis.
To enable Subnet Originating Requests globally, follow the steps below:
1. In the main menu of the LoadMaster User Interface (UI), go to System Configuration > Miscellaneous Options > Network Options.
2. Select the Subnet Originating Requests check box.
4.1.2 Configure a Content Rule for the HTTPS Virtual Service
To add a content rule, make the following selections:
1. In the main menu, select Rules & Checking > Content Rules.
2. Click the Create New... button.
3. In the Create Rule screen, make the following selections:
- Enter X_Forwarded_Proto as the Rule Name.
- Select Add Header from the Rule Type drop-down list.
- Enter X_Forwarded_Proto in the Header Field to be Added text field.
- Enter https as the Value of Header Field to be Added.
- Click the Create Rule button.
4.1.3 Configure the Virtual Services
Either a HTTP or HTTPS Virtual Service needs to be created and configured in the LoadMaster to load balance Blackboard Learn(TM). Refer to the relevant section below for step-by-step instructions on how to create the relevant Virtual Service.
4.1.3.1 Configure a HTTP Virtual Service
To configure a HTTP Virtual Service, follow the steps below in the LoadMaster WUI:
1. In the main menu, select Virtual Services > Add New.
2. Enter a valid IP address in the Virtual Address text box.
3. Enter 80 as the Port.
4. Enter a recognizable Service Name, such as Blackboard Learn HTTP.
5. Click Add this Virtual Service.
6. Expand the Standard Options section.
7. Enter the details shown in the following table:
Section |
Option |
Value |
Comments |
---|---|---|---|
Standard Options |
Transparency |
Disabled |
|
|
Persistence Mode |
Active Cookie |
|
|
Timeout |
4 Hours |
If the default timeout (3 hours) in Blackboard Learn(TM) is increased, the timeout value in the LoadMaster should be higher. |
|
Cookie name |
KempBBCookie |
|
|
Scheduling Method |
least connection |
|
Advanced Properties |
Enable Caching |
Enabled |
|
|
Maximum Cache usage |
20% |
|
|
Enable Compression |
Enabled |
|
|
Add HTTP Headers |
X-Forwarded-For (+Via) |
|
Real Servers |
Real Server Check Parameters |
HTTP Protocol |
|
|
URL |
/webapps/portal/healthCheck |
Click Set URL then click New. |
8. Enter the relevant Real Server Address.
This is the address of the backend server.
9. Enter 80 as the Port.
The Port, Forwarding method and Weight values are set by default. These can be changed by an administrator.
10. Click Add This Real Server.
11. Repeat steps 8 to 10 to add more Real Servers, as needed.
4.1.3.2 Configure a HTTPS Virtual Service
SSL offloading must also be configured on the Blackboard Learn(TM) servers. To find out how to configure SSL offloading on the Blackboard Learn(TM) servers, refer to the following page:
Kemp only supports SSL offloading on Blackboard Learn version 9.1 SP8 and above.
To configure a HTTPS Virtual Service, follow the steps below in the LoadMaster WUI:
12. In the main menu, select Virtual Services > Add New.
13. Enter a valid Virtual Address.
14. Enter 443 as the Port.
15. Enter a recognizable Service Name, for example Blackboard Learn HTTPS.
16. Click Add this Virtual Service.
17. Enter the details shown in the following table:
Section |
Option |
Value |
Comments |
---|---|---|---|
SSL Properties |
Enabled |
Selected |
|
Standard Options |
Transparency |
Disabled |
|
|
Persistence Mode |
Active Cookie |
|
|
Timeout |
4 Hours |
If the default timeout (3 hours) in Blackboard Learn(TM) is increased, the timeout value in the LoadMaster should be higher. |
|
Cookie name |
KempBBCookie |
Click Set Cookie. |
|
Scheduling Method |
least connection |
|
Real Servers |
Real Server Check Parameters |
HTTP Protocol |
|
|
URL |
/webapps/portal/healthCheck |
Click Set URL then click New. |
18. Enter the relevant Real Server Address.
This is the address of the backend server.
19. Enter 80 as the Port.
The Forwarding method and Weight values are set by default. These can be changed by an administrator.
20. Click Add This Real Server.
21. Repeat steps 7 to 9 to add any other Real Servers as needed.
22. Expand the Advanced Properties section.
In the Advanced Properties section, make the following selections:
23. Select No VIP Selected from the Port Following drop-down list.
24. Select the Enable Caching check box.
25. Add the content rule added in the
- Click the Show Header Rules button.
- In the Request Rules section, expand the Rule drop-down list.
- Select the X_Forwarded_Proto rule.
- Click Add.
26. Select 20% as the Maximum Cache usage.
27. Select the Enable Compression check box.
28. Select X-Forwarded-For (+Via) from the Add HTTP Headers drop-down list.
29. Click the Add HTTP Redirector button.
30. Expand the Real Servers section.
References
For further information, refer to the following links:
Blackboard Learn Performance Optimization Guide
http://library.blackboard.com/d/?6692a745-b472-4360-b004-3c69b58c2b44
Blackboard - About SSL and SSL Choice
http://library.blackboard.com/ref/df5b20ed-ce8d-4428-a595-a0091b23dda3/Content/_admin_server_ssl/ssl_about.htm
Blackboard - Set up the Hardware Load Balancer
http://library.blackboard.com/ref/df5b20ed-ce8d-4428-a595-a0091b23dda3/Content/_admin_server_install/install_load_balancer.htm
Blackboard Learn, Installation Guide
Last Updated Date
This document was last updated on 21 February 2022.