Concepts & Trends

Evaluation of virtual servers for use in computer science education

Description
Final thesis Evaluation of virtual servers for use in computer science education by Johan Jernlås LIU-IDA/LITH-EX-A--11/049--SE December 15, Final thesis Evaluation of virtual servers for use in
Published
of 48
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
Final thesis Evaluation of virtual servers for use in computer science education by Johan Jernlås LIU-IDA/LITH-EX-A--11/049--SE December 15, 2011 Final thesis Evaluation of virtual servers for use in computer science education by Johan Jernlås LIU-IDA/LITH-EX-A--11/049--SE Supervisor : M.Sc., Anders Fröberg Dept. of Computer and Information Science at Linköpings universitet Examiner : Ass. professor, Ph.D., Erik Berglund Dept. of Computer and Information Science at Linköpings universitet Avdelning, Institution Division, Department HCS, Dept. of Computer and Information Science LINKÖPING Datum Date December 15, 2011 Språk Language Svenska/Swedish Engelska/English Rapporttyp Report category Licentiatavhandling Examensarbete C-uppsats D-uppsats Övrig rapport ISBN ISRN LIU-IDA/LITH-EX-A--11/049--SE Serietitel och serienummer Title of series, numbering ISSN URL för elektronisk version 049/ Titel Title Utvärdering av virtuella servrar för användning inom undervisning i datateknik Evaluation of virtual servers for use in computer science education Författare Author Johan Jernlås Sammanfattning Abstract Virtual servers are being increasingly utilized in higher education for client computers, this thesis investigates if virtualization could also be beneficial for servers. By providing three general models (the first being the current situation and the two latter leveraging virtualization) and evaluating each, a broad sense of the applicability, possibilities and remaining problems of introducing server virtualization is provided. For one specific course, TDDD27 - Advanced web programming, a more concrete analysis is done and specific recommendations are provided. The conclusion is that there are still more work to be done, but both of the proposed models are possible and suitable for some courses. Their introduction should have several positive effects, for instance fairer courses and more focus on the subject at hand. Nyckelord Keywords virtualization, web programming, virtual server, vsphere, virtual laboratories, student administered server iv Abstract Virtual servers are being increasingly utilized in higher education for client computers, this thesis investigates if virtualization could also be beneficial for servers. By providing three general models (the first being the current situation and the two latter leveraging virtualization) and evaluating each, a broad sense of the applicability, possibilities and remaining problems of introducing server virtualization is provided. For one specific course, TDDD27 - Advanced web programming, a more concrete analysis is done and specific recommendations are provided. The conclusion is that there are still more work to be done, but both of the proposed models are possible and suitable for some courses. Their introduction should have several positive effects, for instance fairer courses and more focus on the subject at hand. Keywords : virtualization, web programming, virtual server, vsphere, virtual laboratories, student administered server v vi Acknowledgements Thank you Erik Berglund and Anders Fröberg, for great ideas and discussions throughout the project. Thank you Dejan Ilic, for always being ready to help with the technical platform and for always doing so with a smile. Also I would like to thank all the rest of you that have supported me during the time i wrote this thesis, you know who you are. vii viii Contents 1 Introduction Background Advanced web-programming Use of servers in computer science at IDA today Virtual servers Previous work Goals Limitations Method Representative models Model 1, the current solution Model 2, shared virtual servers Model 3, individual virtual servers Iterative design space exploration Litterature Interviews Evaluation of models Model 1, the current solution Specifics Storage Software configuration Administration Adaptability ix x CONTENTS Pedagogical aspects Model 2, shared virtual servers Set-up Per project set-up User management Special requests Security Firewall Backup Learning about security measures Adaptability Pedagogical aspects Model 3, individual virtual servers Set-up Initializing virtual machines Individual configurations Adaptability Pedagogical aspects TDDD27 specific analysis Requirements for TDDD Frameworks and technologies A web hotel like solution (model 2) Solution Analysis A solution using personal servers (model 3) What solution to use? Discussion and conclusions The best solution CS courses in general TDDD27 - Advanced web programming Software frozen in time Pedagogical impact Further work Reusable parts CONTENTS xi Network setup User management Cost A common-auth 29 B krb5.conf 30 C smb.conf 31 Bibliography 33 xii CONTENTS Chapter 1 Introduction This chapter gives an introduction to the subject by briefly touching on it s main parts. For those unfamiliar with the field, the background section contains short primers on the necessary foundations for understanding this thesis. In the Goals and Limitations sections a more formal definition of the project goals are given. 1.1 Background The department of computer and information science (IDA) at Linköping University gives several courses that require students to install and configure software. Most courses are straight-forward programming courses and require nothing extraordinary in terms of configurability or individual customization. There are however some courses that have needs beyond the mere basics Advanced web-programming One of the courses with very specific needs is the course TDDD27, Advanced web-programming, a course that is centered around development and deployment of a larger web-project. The student (groups) may decide 1 Background what technologies to use, and how to deploy the project. This freedom seems to make the students more motivated, but also gives rise to major technological problems. About 200 students take this course every year, making it one of the bigger courses in the institution, all expecting excellent support for whatever technology they are using. Unfortunately the standard student web-hosting does not support more than a select few of these technologies. This lack of comprehensive support results in a number of negative effects for the students. The most obvious is that students that have their own web server have a much easier task developing and deploying their projects, while students without their own server might not even find a free hosting solution for deploying some projects. This also makes some (normally newer) technologies much more of a challenge than others (normally older), which is not fair to the students. Actually it is the very opposite message from what is desired. Students should be encouraged to use the latest technologies, not implicitly dissuaded. The student projects can usually with few exceptions be divided into groups of reasonably homogeneous technology configurations Use of servers in computer science at IDA today This section is specific for Linköping university, however it is likely that much of our setup is similar to some, if not most, computer systems in use in higher education today. The image painted here mainly concerns the students part of the systems, since that is the only part relevant for this discussion. The main computer system is Solaris-based, and users log on to servers using thin clients. This setup generally works well, but there is one big problem. Since several thin clients share one server, they are not always permitted to open the ports that they require (since they might already be in use). Users may publish web content through Apache running mod userdir, serving all content present in ~/www-pub/. There are however several security restrictions, obstructing the students progress. Most of these can be overcome with enough knowledge, unfortunately the required knowledge and time are well beyond the scope of some of the courses in which they Introduction 3 are needed Virtual servers A virtual server is server software running on a simulated software computer. In this manner one computer might independently run several operating systems, and application programs, each one unaware of the others. Basically this is multiplexing of operating systems on one hardware computer, one could say that virtualization is to operating systems what context switching is to processes. For some time the university s IT-department has been running VMware s software for hosting virtual servers, vsphere. Mostly these virtual servers have been used internally by the IT-department, however there is nothing that prevents the selling of capacity to other parts of the university. The vsphere server is only accessible on LiU-IT s local network. In order to connect remotely Cisco s VPN solution is used, the client interface is shown in figure Once the connection is made one can use the regular vsphere client to connect to the server. Figure illustrates the vsphere client, displaying the console (comparable to a hardware computer monitor) of a running guest system on the server. Since the console is accessed through the vsphere system, it can be used even if no networking or operating system is present in the guest operating system. 1.2 Previous work The use of virtualization of client computers in academic settings is widespread and well documented. The virtualization of servers however is not as well documented. This could possibly stem from the fact that most servers are administered by technical - as opposed to academic - staff, that do not adhere to the custom of publishing their accomplishments. Most of the previous work thus focuses on virtualization of lab environments. There has been earlier work done concerning virtualization of computer laboratories at Linköping University by Denis Moret, however he focused on implications for distance education[1]. Goals Figure 1.1: The interface of the Cisco VPN client Stackpole et. al. claim that time consuming management, low mobility, and inefficient resource utilization are some of the known problems in connection with computer and network maintenance for laboratory systems that can be solved by virtualization. The authors also succinctly infer that providing students with preconfigured machines increases the time available for whatever the lab session is supposed to teach[2]. One of the major differences between using virtualization in the industry (usually servers) and in education (usually clients) is the requirements concerning the disk image. For clients it is commonplace to reuse disk images even trying to share them. Servers on the other hand are usually only deployed once per image, making efficient sharing of image data less interesting[3]. On the server side there are still some material available, however it is usually commercial rather than academic information[4]. This seems natural when observed in the light of the educational market [5]. 1.3 Goals This thesis aims to: Present one or more models for (virtual) server usage for the course Introduction 5 Figure 1.2: The vsphere interface TDDD27, and make preliminary assessments from a technical perspective. Evaluate how other courses the computer science program may benefit from the use of virtual servers based on the different models. Suggest avenues of continued inquiry in the area. 1.4 Limitations There are a few important limitations: Pedagogical aspects, though important, are not the main focus of this thesis and will only be briefly considered. Method The proposed server models are only implemented for exploratory purposes, they are not intended to be production grade. 1.5 Method In order to produce usable results in the short time available, the research method chosen is iterative exploration of representative models. This allows for deeply exploring the parts that prove interesting and leaving the ones that does not appear to hold any interest. This method could be compared to a greedy algorithm, it should converge on a good solution quickly but might sometimes miss the optimum solution. This trade-off was deemed acceptable, as this was intended as a coarse-grained exploration of the design space Representative models To make the process more efficient three distinct models that have been evaluated. Using the analogy from the previous section, this could be seen as choosing different starting points for the algorithm. Model one is the currently used one since that is the obvious benchmark. Any proposed new solution should be an improvement compared to the current one. The other two models are each others complete opposites. The shared model supposes faculty managed servers, shared between students. The individual model supposes one server per student, installed and managed by the student. Model 1, the current solution The current solution is based on one single web server for all students. Each student also have access to one database on a shared MySQL server. Since all students at the university shares the server, security needs to be restrictive. In this model all clients share the same server and there is virtually no possibility of individual adaptation. All possibilities and limitations of the server applies to all clients. Introduction 7 Model 2, shared virtual servers The second model uses virtual servers that are shared between several students, one server per technology/language. This model is a compromise between the first and the second. Virtual servers are used to create several servers like the one in model 1, only each server is running different types of applications. All clients using the same technologies share a server, implying that server configuration is done beforehand. There is still little or no possibility of individual configuration, but since each server is configured to support it s particular class of applications this should mitigate the problems with model one, without going so far as model three. Model 3, individual virtual servers Lastly, model three is based on the notion of individual virtual servers for every student. Each server may run software tailored for it s application. Even the operating system may be chosen as to simplify deployment. Only one client uses the server Iterative design space exploration Each of the models are explored iteratively. First a bare minimum implementation is produced, and then this implementation is iteratively improved upon by addressing observed problems and exploring perceived possibilities Litterature Firstly a broad but cursory litterature study was used to identify the three models. After that, much of the required litterature is manuals and other documentation only available in electronic form Interviews Informal interviews have been used between iterations to help deciding on the next iteration. After completing final iteration for the three models Method a few more extensive yet informal, interviews were conducted in order to gauge the models applicability in different courses. Chapter 2 Evaluation of models All three models from section are elaborated and analyzed in this chapter. Each model is broken down into the same basic parts in order to aid comparison between them. The Specifics sections are elaborations on precisely what technical possibilities exist or can be achieved. Administration contains information about how the model would be set-up and run. The model s potential to adapt to new requirements are addressed in the Adaptability section. Lastly there is a section called Pedagogical aspects where a short reflection on how the model affects teaching and learning in the course can be found. 2.1 Model 1, the current solution This model means keeping the current configuration. It is mainly intended as a baseline for comparing the second and third models Specifics The currently available system is almost a classical LAMP (Linux, Apache, MySQL and PHP) configuration. The only difference is that Solaris is 9 Model 1, the current solution substituted for Linux. Storage By default students are limited to a few megabytes of storage. The exact number depends on what courses the student is taking at the time. This also means that the amount of available storage may well decrease in the future, when the student is taking different courses. It is possible to request extra space for students taking a certain course, however this space is lost the moment that the course is over irregardless of whether the student actually finished the course. Software configuration Most software is reasonably recent, however never the newest version. At the time of writing ( ) what is available is basically this: Apache PHP MySQL There are some important limitations due to the way the system is configured. Some are easy to circumvent for someone knowing what is wrong, others can not be mitigated at all. Since Apache is running one instance for all users, the only way for users to serve web content is through mod_userdir[6], i.e. any software not working with mod_userdir will not be usable. Some configuration options can be set in.htaccess, however only trial and error will tell you which ones. Furthermore, the Apache log files are not available in the default /var/log/... directory but rather in /info/logs-und/www/und/, meaning that most students never even find them. The default PHP session_save_path is not writable, which means that students must set it manually in order to use sessions. The php_value directive is not allowed in.htaccess, so MySQL credentials must be given in clear text in all PHP-scripts. Evaluation of models 11 For MySQL access each student get one database which can be confusing. Also, triggers do not work for some reason Administration Administration is centrally managed. Accounts are automatically created for each student registered on one or more courses given by IDA, and that is all that is required for using the system. Most things that can go wrong can be corrected by contacting TUS (Technical services and support). However they are usually not willing to make changes to the common configuration since this would affect many users in a way that only one user desires Adaptability For non-php technologies there is, in practice, limited or no support. Even if it is theoretically possible to manually compile and run whatever software is needed, the exotic system (Solaris) and limited student storage effectively prevents any real solutions. Also since students may not open network ports at will, all courses that require network programming are severely limited. This is not likely to be addressed centrally in the near future since it does not affect the majority of courses Pedagogical aspects Model one encourages the students to learn about Solaris in order to circumvent the shortcomings of the local system. The problem is that this pulls focus from the actual subjects, thus reducing the amount of time spent learning about the subject. Since many students are limited by this model, they tend to run local servers on their laptops instead. This has two major drawbacks. Firstly, the servers are not accessible via the Internet, which prevents the use of some techniques. Secondly, it makes debugging and evaluation harder for the course staff (since they do not have access to the computer where the student s project is deployed). Model 2, shared virtual servers 2.2 Model 2, shared virtual servers In this model a small number of virtual servers are used to create a web hotel for each technology. The servers are configured by the faculty. Still, it is preferred to leave as much flexibility as possible to the students. This might introduce security vulnerabilities, but as the server is only meant for development this should not pose a big problem Set-up All servers need a reasonable multi-user setup. This is usually a simple task, but might in some instances be troublesome. Most of these problems tended to manifest when multiple technologies were supported on the same system, and should be easily solvable i
Search
Similar documents
View more...
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks