Western Kentucky University TopSCHOLAR® Masters Theses & Specialist Projects Graduate School Summer 2016 Vertical Implementation of Cloud for Education (V.I.C.E.) Travis S. Brummett Western Kentucky University, [email protected] Follow this and additional works at: http://digitalcommons.wku.edu/theses Part of the Computer Engineering Commons, and the Computer Sciences Commons Recommended Citation Brummett, Travis S., "Vertical Implementation of Cloud for Education (V.I.C.E.)" (2016). Masters Theses & Specialist Projects. Paper 1643. http://digitalcommons.wku.edu/theses/1643 This Thesis is brought to you for free and open access by TopSCHOLAR®. It has been accepted for inclusion in Masters Theses & Specialist Projects by an authorized administrator of TopSCHOLAR®. For more information, please contact [email protected]. VERTICAL IMPLEMENTATION OF CLOUD FOR EDUCATION (V.I.C.E.) A Thesis Presented to The Faculty of the Department of Computer Science Western Kentucky University Bowling Green, Kentucky In Partial Fulfillment Of the Requirements for the Degree Master of Science By Travis Brummett August 2016 DEDICATION To my mother, father, sister, and friends. & To the faculty of the Computer Science Department at Western Kentucky University. ACKNOWLEDGMENTS My appreciation goes to my professor and adviser, Dr. Michael Galloway. I am grateful for his support and advice throughout my Masters program. I truly appreciate the sacrifices he has made to meet with me,to help me attend conferences, and to provide his students with a place and supplies to do research. I have never seen someone so invested in his students as Dr. Galloway. He strives to find his students funding and built a lab for them to work. On one occasion he even took me to tour a potential school in which I could pursue my Ph.D. I consider him to be a friend as well as a mentor and hope to keep in touch throughout the future. Thank you Dr. Galloway for all that you have done for the Students at WKU. To Dr. James Gary, head of the Computer Science Department and the first contact I made at WKU, thank you. Dr. Gary always did whatever he could to help students out however he could. Dr. Gary helped me transition into the undergraduate program and did the same when I began the Masters program. He helped me secure the funding to go to a conference in New York City giving me a life experience that I will never forget. On top of all that he is one of the funniest people I know. Thank you Dr. Gary for everything you’ve done over these past many years. To Dr. Xia, the graduate student adviser or the Computer Science Department, Thank you for your help and advice through my graduate career. I would also like to iv express my appreciation for giving me the opportunity to be a graduate assistant. Thank you! To the rest of the Western Kentucky University faculty, thank you! I would not be where I am today without you. I apologize that I cannot thank everyone of you individually. Thank you all for what you have done for me. I truly appreciate it. I would also like to acknowledge My friends and family. Thank you for your con- tinued support. I appreciate everything you do. Special thanks to my friends and fellow students Pezhman Sheinidashtegol, David Beverly, Harinivesh Donepudi, and the rest of the cloud group. Thank you for everything! A special thank you to my friend Chris Goulet. I appreciate the time he spent in the lab helping me better my understanding of PHP and web programming. It was through his help that I was able to build my interface. Thank you for your tutoring and your friendship. Finally, I would like to thank the financial support provided by the Department of Computer Science, the graduate school, and Ogden College. Thank you for the opportuni- ties you have provided me at WKU. v CONTENTS 1 INTRODUCTION . 1 2 BACKGROUND . 4 3 V.I.C.E. HARDWARE . 16 3.1 Architecture . 16 3.1.1 Compute Nodes . 17 3.1.2 Head Node . 18 3.1.3 Storage Node . 19 3.2 Adavantages . 20 3.2.1 Initial Purchase of Equipment . 20 3.2.2 Costs to Maintain . 22 3.2.3 Power Consumption . 22 3.3 Disadvantages . 25 4 V.I.C.E. MIDDLEWARE . 27 4.1 Load Balancing . 27 4.2 Scalability . 28 4.3 Middleware . 29 4.3.1 Overview . 29 4.3.2 Architecture . 30 4.3.3 Compute Nodes . 31 vi 4.3.4 Head Node . 34 4.4 Administrator Functions . 41 4.5 Interface Interaction . 43 5 V.I.C.E. INTERFACE . 44 5.1 Setup . 44 5.2 File Overveiw . 45 5.2.1 main.css . 45 5.2.2 footer.php . 46 5.2.3 navbar.php . 46 5.2.4 conn.php . 46 5.2.5 logout.php . 46 5.2.6 index.php . 47 5.2.7 landing.php . 47 5.3 Utilization . 48 5.3.1 Logging In . 48 5.3.2 Student Functions . 49 5.3.3 Admin Functions . 50 6 FUTURE WORK . 55 7 CONCLUSION . 56 REFERENCES . 58 APPENDICES . 62 A APPENDIX A: SETTING UP THE ARCHITECTURE . 63 vii A.A Preparing Compute Node . 63 A.B Setting Up The Network Files . 63 A.C Building VMs . 64 A.D Setting Up the Head Node . 64 B APPENDIX B: MIDDLEWARE . 65 B.A viceserver.py . 65 B.B viceclient.py . 65 C APPENDIX C: INTERFACE . 67 C.A main.css . 67 C.B conn.php . 67 C.C footer.php, navbar.php and index.php . 67 C.D landing.php and logout.php . 68 viii LIST OF FIGURES 1.1 Local, Public, and Hybrid Clouds. [Galloway, 2015] . 2 3.1 V.I.C.E. Lab with Raspberry Pis as thin clients. 18 3.2 V.I.C.E. Hardware. 19 3.3 Daily Watt Consumption. 23 3.4 kWh Consumption. 24 4.1 /etc/network/interfaces File. 32 4.2 network.xml File. 32 4.3 VMBuilder Command. 33 4.4 Results from Select * from nodes;....................... 36 4.5 Results from Select * from com1;. ...................... 36 5.1 Results from Select * from ids;......................... 45 5.2 Login Page. 48 5.3 Failed Login. 49 5.4 Student Page. 49 5.5 Student VM Started. 50 5.6 Terminal. 51 5.7 Terminal Post Log In. 51 5.8 Program Written In VM. 52 5.9 Program Results. 52 ix 5.10 Student All VMs In Use. 53 5.11 Admin Homepage. 53 5.12 Admin Poll. 54 A.1 /etc/network/interfaces File. 63 A.2 network.xml File. 64 A.3 VMBuilder Command. 64 B.1 viceserver.py. ................................. 65 B.2 viceclient.py. ................................. 66 C.1 main.css. ................................... 67 C.2 conn.php. ................................... 67 C.3 footer.php.................................... 68 C.4 navbar.php. .................................. 69 C.5 index.php.................................... 70 C.6 landing.php................................... 71 C.7 landing.php-admin............................... 72 C.8 landing.php-student. ............................. 73 C.9 logout.php. .................................. 74 x LIST OF ABBREVIATIONS API Application Program Interface AWS Amazon Web Services CC Cluster Controller CD-ROM Compact Disc Read Only Memory CLC Cloud Controller CPU Central Processing Unit CSS Cascading Style Sheet DHCP Dynamic Host Configuration Protocol fos Factored Operating System GB Gigabyte Gbps Gigabits per second HDD Hard Disk Drive HTML Hyper-text Markup Language IaaS Infrastructure as a Service ID Identity IP Internet Protocol IT Information Technology KVM Kernel-based Virtual Machine kWh KiloWatt-hours xi NC Node Controller NIST National Institute of Standards and Technology OS Operating System PaaS Platform as a Service PHP PHP: Hypertext Preprocessor PVM Para-Virtualized Machine RAM Random Access Memory S3 Simple Storage Service SaaS Software as a Service SATA Serial Advanced Technology Attachment SC Storage Controller SSH Secure Shell US United States USD United States Dollar VM Virtual Machine VT Virtualization Extensions W Watt XML Extensible Markup Language xii VERTICAL IMPLEMENTATION OF CLOUD FOR EDUCATION (V.I.C.E.) Travis Brummett August 2016 74 Pages Directed by: Dr. Michael Galloway, Dr. James Gary, Dr. Zhonghang Xia Department of Computer Science Western Kentucky University There are several different implementations of open source cloud software that or- ganizations can utilize when deploying their own private cloud. Some possible solutions are OpenNebula, Nimbus, and Eucalyptus. These are Infrastructure-as-a-Service (IaaS) cloud implementations that ultimately gives users virtual machines to undefined job types. A typical IaaS cloud is composed of a front-end cloud controller node, a cluster controller node for controlling compute nodes, a virtual machine image repository node, and many persistent storage nodes and compute nodes. These architectures are built for ease of scal- ability and availability. Interestingly, the potential of such architectures could have in the educational field remains vastly underutilized. Large labs filled with costly machines could be replaced by an IaaS implementation of a cloud. The purpose of this thesis is to propose such an implementation for use in Computer Science courses. The vertical architecture that I propose is known as V.I.C.E. which stands for Ver- tical Implementation of a Cloud for Education. It consists of a head node which will con- trol the other nodes and handle the operations required to launch or terminate.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages89 Page
-
File Size-