Though the details of VCL can get complicated, the concepts behind it are simple.
One of the primary goals of VCL is to deliver a dedicated compute environment to a user for a limited time. This can range from something as simple as a virtual machine running an office suite to a machine room blade running high end software (i.e. a CAD, GIS, statistical package or an Enterprise level application) to a cluster of interconnected physical (bare metal) compute nodes. For years both ITECS (technical support for the College of Engineering) and the Central IT department, now called Office of Information Technology, struggled to efficiently provide remote access to high end computers for researchers and students.
The conceptual overview below shows that remote users connect to the VCL Scheduling Application (the web VCL portal) and request access to a desired application environment. The application environment consists of an operating system and a suite of applications. The currently supported operating systems are Windows, Red Hat Linux, and Solaris. The computer types are machine room blade servers, VMware virtual machines, and standalone machines, including those that may be in a traditional computing lab.
The VCL Infrastructure
The VCL infrastructure consists of three tiers: a web server, a database server, and one or more management nodes. Each of the management nodes controls or can provision a computer that it has control over. We call the computer a compute node.
Web Server – The VCL Portal
- System: Linux, Apache, PHP
- The php based web application is the heart of VCL and provides tools to request, manage and govern all VCL resources. All transactions occur with the database.
- System: Linux, MySQL
- Holds all data related to VCL reservations, access controls, machine and environment inventory, log history, etc.
Management node(s) – The processing engine
- System: Linux, vcld (perl), image library
- There can be more than one
- The management nodes each control a subset of the VCL resources. These can be blades, virtual machines or lab machines. Currently, a set of individual blades or virtual machines can only be managed by a single management node. Typically there are anywhere from 80-120 physical computer nodes (blades) under one management node. Again the physical computer nodes can either be running a bare metal environment or a Virtual Machine hypervisor.
- Standalone machines can be controlled by more than one management node.
- vcld – VCL middleware that processes reservations/jobs assigned by the VCL web portal. Based on the type of environment requested whether it’s bare metal image, a lab machine or a virtual machine image, vcld ensures the image is loaded and makes it available for the requesting user.