If you're a Managed Hosting (SaaS) customer, this topic doesn't apply to you.
Virtualization is a deployment strategy that distributes server resources into separate, logical environments. When systems are virtualized, a layer of software is abstracted so that more than one operating system and application environment can operate on the same piece of hardware. Multiple virtual machines (VMs) share hardware resources without interfering with each other.
The Blackboard Reference Architecture extends virtualization to make the best use of today's powerful hardware. As organizations add hardware to their systems with multiple processors and multiple cores per processor, virtualizing those systems is the next logical step in maximizing the potential and efficiency of these resources.
Blackboard encourages the use of virtualization as an extension of the Blackboard Reference Architecture. The creation, maintenance, and troubleshooting of the VM environment is the responsibility of the client.
Supported virtualization technologies
VMware® ESX Server 5 (Linux® and Windows®) is certified by Blackboard for Release 9.1.
Blackboard supports other virtualization solutions as long as Blackboard and the hypervisor support the guest operating system and the guest virtual machine meets Learn application resource requirements.
Benefits of virtualization
The main benefits of virtualization are:
- Save Money: Virtualized systems reduce overall hardware costs because the hardware can be used more efficiently. Using fewer servers means there is less supporting physical infrastructure. The result is less power drawn to run hardware and lower cooling requirements. This allows organizations the flexibility to expand their IT infrastructure at an appropriate pace.
- Save the Environment: Reducing the number of servers in a datacenter reduces the energy footprint of the implementation. Fewer servers require less floor space, air conditioning, racks, networks, wire, cables, power supplies, and backup systems. The cost savings can be significant when adding up the amount for the servers, the monitors, and the air conditioning required for keeping them cool.
- Achieve Higher Levels of Availability/ Business Continuity: Virtualization minimizes server downtime. A crash can occur within a VM and not impact the other VMs on the same server. This allows an organization to shut down individual VMs without interfering with the use of other applications. VMs can save hours of downtime related to recovery to general maintenance. The ability to move servers between hardware can simplify upgrades.
Virtualization resource requirements
Virtualization offers several benefits, but the host server and guest hosts must be able to meet the same resource requirements as a dedicated server.
Server requirements are outlined in the Hardware Sizing Information help documents and must be applied to guest hosts in order properly support the resource requirements of the Learn application.
- Networking: Virtualized installations should have a dedicated NIC associated with the Learn install defined by the Virtualization Host to sufficiently handle inbound and outbound network traffic. Failure to meet this requirement may result in network starvation to your Learn VM.
- Memory: Virtualization hosts must have sufficient dedicated memory to support the individual Learn installations. Failure to meet this requirement may result in heavy memory swapping and or out-of-memory errors for your Learn VM.
- CPU: The virtualization host must have dedicated CPU Cores, providing sufficient CPU cycles or entire cores to the Learn guest VM to meet the Hardware Sizing requirements. Failure to provide a host with sufficient CPU Cores will result in performance degradation due to CPU starvation resulting from VM sharing of the available CPU resources.
- External Storage: Ensure that you have dedicated connectivity to your external storage. Failure to meet this requirement may result in poor file system IO.
Virtualization architecture
Virtualization facilitates the management of Learn Application instances while also providing a means of easily improving Learn availability and service continuity, but should be used with serious consideration to the resource capabilities provided by your virtualization environment and capacity of your virtualization host.
A single server approach
A single server environment virtualization is useful in a reduced resource environment where advantage may be taken to provide multiple instances of Learn on a single host. Note that while this eliminates a single point of failure at the application or guest VM layer this approach places a single point of failure at the level of the virtualization host.
A "hybrid" approach
One approach which provides the flexibility of installation management provided by virtualization and the necessary resources to sustain a Learn installation is to use a combination of virtualization and dedicated hardware. In a hybrid environment the requirements of each VM guest are analyzed and guests are combined across multiple servers to ensure that low and high resource applications are mixed on the same hardware. In this configuration you may manage the virtualized guest as you would normally but hardware dedication and redundancy. In a hybrid environment you may have multiple blade servers in one or more enclosures with high and low resource services distributed across the blades to meet the requirements of the high resource services.
An additional benefit of hybrid architecture is that the virtualized guests are spread across multiple hardware systems removing any single point of VM host failure.