Cloud Computing technology has influenced significantly the educational sector with the development of several tools for educational purposes based on this emerging technology. VLAB is an educational platform, focusing on providing an enhanced educational experience for the end user, like the ability to schedule and access a virtual laboratory through an easy-to-use User Interface.
This cloud solution powered by OpenStack can create and terminate Virtual Machines (VMs) according to a time scheduling mechanism. VLAB provides tutors with an easy-to-use platform from which they can easily schedule and manage virtual labs and grant access to students. As a result, students can access and use powerful VMs to complete their laboratory courses while the only requirement is to use a PC (i.e. thin client) with an internet connection. This solution leverages the quality of the educational experience while reducing the overall cost in terms of CAPEX and OPEX from the university’s perspective since there is no need to buy and maintain powerful and expensive PCs.
How has OpenStack transformed your organization?
A prerequisite for the VLABs operation is an OpenStack cloud infrastructure that is capable of covering the computing needs of all labs, in terms of resources (i.e. CPU, RAM, storage). Furthermore, the cloud infrastructure in our use case is responsible for the generation of virtual machines which should be deployed with the minimum delay(delay of less than one minute), and with as little downtime as possible. All this can be accomplished with the use of open-source technologies. The keystone technology for the development of VLABs was OpenStack, as it presents all the features to make the most of our resources. A valuable characteristic of OpenStack that turned it into a game changer for our use case, is the ability to be deployed over a heterogeneous infrastructure and efficiently manage all the available resources offered by different hosts within an easy-to-use environment.
OpenStack offers great visibility and control over our data center infrastructure, enabling us to manage resources efficiently. By embracing it, our organization reduced costs, increased the agility and innovation of our cloud team, and gave us the ability to adapt to the ever-changing demands of the educational sector. Especially in a university environment where the resources are limited, OpenStack allowed us to make the most of our resources and create an IaaS cloud that can support the VLAB platform for educational purposes but also demand European projects for research purposes.
What are you doing with VLAB on top of OpenStack?
VLAB is a tool used for educational purposes and consists of three key elements: the private IaaS cloud (OpenStack), the database, and the Django framework. The database (MySQL) includes several tables filled with information related to users, and the VLABs. In addition, the database contains tables filled with information regarding the registration of users to the virtual labs, the Service Level Agreement (SLA) between the administrator of the platform and the tutor, and other useful information related to the operation of the VLAB such as networking information (e.g. number of virtual networks, number of virtual subnets and number of virtual routers that is used). The logic of the platform is implemented using the Django Web Framework which uses the powerful APIs of OpenStack to interact with cloud services. The combination of those three elements produces the VLAB solution, which creates multiple customized VMs (i.e. custom images, and custom flavors defined by the tutor) to support a variety of virtual labs.
What is the scale of your OpenStack environment?
Currently, we are maintaining two OpenStack environments: the production OpenStack infrastructure in which all the active projects are supported and a development environment where we experiment with new OpenStack versions and new services.
The production OpenStack infrastructure consists of 11 nodes of which two act as controller nodes and nine act as compute and storage nodes. In total, our production infrastructure offers:
- 96 vCPUs
- 312 GB of RAM
- 27 TB of storage managed by CEPH.
The development OpenStack environment consists of three nodes, where one acts as the controller node and two are used as compute and storage nodes.
What other open source technologies are integrated with your OpenStack environment?
Today’s workloads and cloud infrastructures require various data access and management methods and redundancy tools. To this end, the implementation of services and tools to avoid the single point of failure (SPoF) problem as well as the maintenance of a distributed system with multiple backups and data recovery techniques is extremely important. Ceph presents all these characteristics and can perform disaster recovery as it can recover almost from any hardware failure without data loss. Finally, to speed up the deployment and management of OpenStack we use IT automation technologies such as Ansible.