An Independent Studies course on cloud computing and networking (using OpenStack) was offered at the University of Texas at Dallas Computer Science Department in conjunction with Award Solutions, a company that provides training and consulting to employees of large companies. The instructor of the course was Dr. Neeraj Gupta of UT Dallas and Mr. Chuck Derrick of Award Solutions supervised the students. What is distinctive about this course offering is that the results of this project will be put on the open-source network, so that others can utilize it. The course was mutually beneficial to both UT Dallas and to Award Solutions in that the students were exposed to new technologies, gaining working experience on an industry project, while the company benefits from the work that the students have done. Moreover, because the results of the students’ projects will be open-source, the UT Dallas Computer Science department will have established a presence in the open-source community with its own repository of work.
During the course students initially focused establishing a project framework based on learning about the infrastructure environment in order to create and size appropriate solutions to satisfy project requirements. Projects were identified following the Agile Scrum methodology, which is an iterative and incremental agile software development methodology. This approach comprises a “flexible, holistic product development strategy where a development team works as a unit to reach a common goal”. Further “it challenges assumptions of the traditional sequential approach to product development, and enables teams to self-organize by encouraging physical co-location or close online collaboration of all team members, as well as daily face-to-face communication among all team members and disciplines in the project”.
Students individually selected the User Story and ultimately the projects they wished to implement. Three projects were chosen for implementation:
- Alarm Counter, which received webhooks from virtual machines running in the OpenStack cloud infrastructure. It counted alarm states for every VM in each tenant.
- LoadBalancer Test Vehicle, which ran traffic patterns through OpenStack Load Balancers, verifying which hosts were responding to clients, and the demonstrated effect of LoadBalancer Pool monitors, as hosts became inactive.
- Mechanisms to drive CPU utilizations, which triggers alarming, and auto scaling of virtual machines in the OpenStack infrastructure.
Programs that were mainly used included Linux, LAMP, curl, and bash.
Under the guidance of Award Solutions supervisor, Mr. Chuck Derrick, students researched solutions to overcome obstacles impeding their progress. For example issues such as FireWall rules, MTU packet sizes, and Infrastructure configuration parameters, were all problems that initially impeded their progress. Based on the behavior being experienced, and a few suggestions from Mr. Derrick, the students identified cause and effect, and subsequent work-arounds. At the beginning of the course the students were at the base of the steep part of the learning curve, having had no prior knowledge of OpenStack or Cloud Computing. By the end of the course, they were launching sophisticated networks/subnets, routers with multiple interfaces, virtual machines, and associating floating (public) IPs with their VMs. The knowledge they gained was not through instruction but a trial and error approach through hands-on lab work; they were completely self-taught.
From the students perspective, as summarized by Xiangyu Wang, the “course was very beneficial (to those who) seek a job in the cloud service or networking field through the study of OpenStack. It’s an invaluable opportunity to utilize what you have learned from textbooks.” Overall this course was very well received by the students taking the course.
According to Dr. Neeraj Gupta, The next course will be offered in Fall, 2015. It will be a three-credit course and will be semester-long. The students will learn new methods, gain industry experience by working within a corporation, develop projects that companies will be able to utilize, and both the students and the UT Dallas CS department will have presence in the open-source community. Graduate students will be invited to meet with Dr. Neeraj Gupta and discuss their background and interests. Since there is a limit on the number of students who can join, participation will be invitation only. Over the next few semesters, Dr. Neeraj Gupta hope to have multiple projects, but at this time there is a limit of 3 students per semester.
With the help of Nagarjuna Manchineni, a UT Dallas CS student, the UT Dallas Computer Science website now has a new page featuring Open Source Projects that UT Dallas CS student volunteers have contributed to. Click Here to visit the page.
About the UT Dallas Computer Science Department
The UT Dallas Computer Science program is one of the largest Computer Science departments in the United States with, over 1,600 bachelor’s-degree students, more than 1,100 master’s students, 160 PhD students, and 80 faculty members, as of Fall 2015. With The University of Texas at Dallas’ unique history of starting as a graduate institution first, the CS Department is built on a legacy of valuing innovative research and providing advanced training for software engineers and computer scientists.