IT S Y S TEMS PERSPECTIV ES
Outsourcing the University Computer Lab Don Hardaway, Saint Louis University Mark J. Hogan, MDK Inc. Richard G. Mathieu, James Madison University
T
he modern IT professional requires hands-on server administration experience to complement traditional skills in software design and development. As we enter the era of enterprise computing, there is a growing demand for system developers who understand the operational and security demands of the code they create. An estimated 60 percent of an organization’s overall IT budget is still devoted to operating and maintaining existing software applications, yet the typical university computing curriculum doesn’t adequately teach students how to install, operate, and maintain a software application in a working environment. In addition, many universities are facing heightened concerns about computer security on campus. In particular, computing facilities for advanced security and server administration instruction are often subject to considerable scrutiny. At Saint Louis University, the information systems faculty sought to quickly and reliably create a 24/7 remotely accessible “computer laboratory” where students could receive full server administration privileges to use in developing their server, networking, security, and database administration skills using the Linux operating system.
100
Computer
dents had administrative control over their lab environment.
TECHNICAL SUPPORT MDK evaluated three potential virtual machine technologies for running the virtual Linux systems: VMWare GSX Server, User Mode Linux, and VServer Linux. Although the cost was significant, the company chose the VMWare GSX Server because of its stability, multihost platform support, and remote monitoring capabilities. After testing VMWare on both a Windows 2003 server and a Linux Fedora Core 3 server, MDK opted for the former implementation for the Web Applications and Architectures
System administration can be meaningfully taught only by using a hands-on approach.
The resulting partnership with a local company, MDK (www.mdkinc.com), provided each student in a senior-level undergraduate Web Applications and Architectures course with a virtual Linux server as well as full administrative rights.
OUTSOURCING RATIONALE The university’s decision to outsource the computer lab to MDK was simple. The company had experience building and maintaining virtual servers in the commercial sector, and it was eager to work with the faculty and students to create virtual servers for a university learning environment. In addition, the university wouldn’t have to institute computer lab fees; rather, students would use the remote computer lab as a required resource for the class and pay online for using their server. The ultimate incentive was creating an “instant computer lab” where stuPublished by the IEEE Computer Society
course. Performance of the client operating system, Fedora Core 3, was superior on a Windows 2003 host compared to a Fedora Core 3 host. MDK encountered several technical obstacles once the course got under way in spring 2005. The first was the sizable load on the host system. Because all of the students were working on their virtual systems simultaneously during class, it was necessary to redistribute the virtual systems so that there were no more than four per host. Another problem resulted from using weak passwords for initial system logins. One hacked virtual system became a “zombie” searching the Internet for other systems with weak passwords. Company consultants quickly identified the affected system based on bandwidth and traffic monitoring and reloaded it. Overall, the amount of technical support MDK had to provide was minimal. The most common support ser-
vices involved requests to restart the virtual system (10-12 times over the course of the semester) and to recover forgotten passwords (two or three times over the course of the semester).
COURSE METHODOLOGY Teaching server-side development and administration presents some unique challenges to the instructor. Students must first develop proficiency in setting up the Linux OS and associated technologies—including a MySQL database, the PHP programming environment, and the Apache Web server— before they can install any applications. It typically requires several weeks for students to understand OS configurations while becoming skilled in ongoing maintenance activities such as updating the OS and related packages to incorporate updates and bug fixes. All activities for maintaining the server operating systems used a commandline interface requiring students to understand file structures and the commands needed to conduct routine administrative activities. Only after the students had familiarized themselves with these routine activities of operating and maintaining the OS, installing other programming technologies, and understanding the various services that make up the operating environment on the server were they ready to address software applications. The LAMP (Linux, Apache, MySQL, PHP) environment provides an ideal platform for teaching server-side development and administration. LAMP is generally considered the platform of choice for developing and deploying high-performance Web applications. By default, the student must learn the roles of system administrator and application developer when working with Webbased software applications. After learning how to install and configure the Apache Web server, students learned how to • analyze traffic logs, • set up a firewall and virtual hosting,
• create password-protected Web pages, • configure server-side scripting, • register a domain name for their server, • set pointers to the name server, and • create an account on the name server.
Students who understand how to maintain the server environment do a better job installing, configuring, and programming server-side applications. In regard to database administration, students learned the basics of • securing MySQL against attackers, • defining access privileges, and user account management, • database backup and recovery, and • working with MySQL log files. It was no longer possible for the student software developer to “throw the application over the wall” to the system administrator for deployment. Rather, because students had to learn both roles, they developed a working knowledge of the interconnections between the “two sides of the house.”
PREPARING FOR THE REAL WORLD Providing students with their own virtual server significantly enhanced the educational experience by exposing them to many essential facets of serverside work including operating systems, programming environments, Web servers, secured terminal emulation, networking, and firewall configuration. Students who understand how to maintain the server environment do a better job installing, configuring, and programming server-side applications. The course also provided insight into the applications layer. Students were
required to install and configure open source content management applications including PostNuke, phpBB2, phpgroupware, and mambo. In addition, they had to install, configure, test, and modify a software application written to facilitate business transactions in a wine store. By tracking software patches and security vulnerabilities as well as contributing bug reports and feature requests, students learned how to become part of the open source software community. System administration can be meaningfully taught only by using a handson approach. While the course requires instructors to possess a wider range of skills and knowledge than traditional approaches, outsourcing a virtual lab is one of the most economical ways to prepare students for the complex computing environments they’ll confront when entering industry.
FUTURE PLANS In the future, MDK hopes to achieve greater efficiencies in the Web Applications and Architectures course by upgrading to Linux Fedora Core 4 (http://fedora.redhat.com/projects/ virtualization), released in June 2005, as the standard module. The company also plans to switch from VMWare, which is both expensive and enables a limited number of virtual systems per host, to Xen (www. cl.cam.ac.uk/Research/SRG/netos/xen), which runs on Fedora and thus avoids the overhead cost of the host operating system. In addition, Xen exerts much less of a load on the host OS. Initial testing revealed that 12 Xen virtual systems running on a single host achieved superior performance compared to four virtual systems running on a VMWare GSX Server. A major difference between Xen and VMWare is that with Xen the client kernel resides outside the client system. While this prevents students from making kernel changes, they’re also less likely to corrupt the kernel, which happened several times during the course when using VMWare. September 2005
101
How to Reach Computer Writers We welcome submissions. For detailed information, visit www. computer.org/computer/author.htm.
News Ideas Contact Lee Garber at lgarber@ computer.org with ideas for news features or news briefs.
Products and Books Send product announcements to
[email protected]. Contact
[email protected] with book announcements.
IT Systems Perspectives
nstructors in the computing disciplines are increasingly charged with introducing their students to “critical information technologies” such as Web-based e-commerce applications, enterprise applications with “working data,” orchestrated Web-services applications, and tools for server administration including intrusion detection and performance-monitoring software. In today’s environment, these technologies usually are server based. From a teaching perspective, the challenge of outsourcing the university computer lab will be to integrate the virtual server into other courses in the curriculum including those dealing with database systems, computer networking, and computer security. ■
I
Letters to the Editor Please provide an e-mail address with your letter. Send letters to
[email protected].
On the Web Explore www.computer.org/computer/ for free articles and general information about Computer magazine.
Magazine Change of Address Send change-of-address requests for magazine subscriptions to
[email protected]. Make sure to specify Computer.
Don Hardaway is an associate professor in the John Cook School of Business at Saint Louis University. Contact him at
[email protected].
Mark J. Hogan is president of MDK Inc., based in Ballwin, Missouri. Contact him at
[email protected].
Missing or Damaged Copies If you are missing an issue or received a damaged copy, contact
[email protected].
Reprint Permission To obtain permission to reprint an article, contact William Hagen, IEEE Copyrights and Trademarks Manager, at
[email protected]. To buy a reprint, send a query to
[email protected].
Richard G. Mathieu is department chair and the McDonald Bradley Fellow in the Computer Information Systems and Management Science Department in the College of Business at James Madison University. Contact him at
[email protected].
Editor: Richard G. Mathieu, Dept. of Decision Sciences and MIS, St. Louis Univ., St. Louis, MO;
[email protected]
102
Computer