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 datacenter 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.
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 operating system and a suite of applications. The currently supported operating systems are Windows, CentOS,Red Hat Linux, and Ubuntu. The computer types are datacenter blade servers, 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
- The PHP based web application is the part of VCL with which users interact and provides tools to request, manage, and govern all VCL resources. All transactions occur with the database.
- System: Linux, MariaDB
- 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. Typically there are anywhere from 100-300 nodes (physical or virtual) under one management node.
- 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 a virtual machine image, a bare metal image, or a lab machine, vcld ensures the image is loaded and makes it available for the requesting user.