DESIGN AND IMPLEMENTATION OF A VIRTUAL COMPUTING ENVIRONMENT FOR SCHOOLS AND OFFICES


Content

ABSTRACT

This Bachelor’s thesis project: “Design and implementation of a virtual computing environment for schools and offices” aims at solving issues that range from reducing information technology costs to making information technology as mobile as possible. Users want to be able to access their documents, use their important applications, and even their entire desktops on the go that is from anywhere, anytime with any device. These are just a part of the numerous issues this project aims at solving. Another issue is the problem of students and faculty having to source, purchase and install applications they need for study, work and leisure on their personal computers. These applications are very difficult and expensive to purchase. This hinders academic research and students’ experience with applications that involve their courses’ of study.

Yet another issue this project sets out to solve is for organizations. In small and medium enterprises, the high cost of IT is a huge problem. The project helps these enterprises to convert capital expenditure to operational expenditure. The large organizations require increased security, management, maintenance, and data redundancy. All of which the solutions from this thesis takes care of.

In a single solution, a virtual computing environment is created via application and desktop virtualization. Applications and desktops are hosted in datacenters on high resource servers and then delivered to users over a network. For demonstration in this project however, the hosting platform and delivery is scaled down to just one hardware server running logical servers hosting a couple of applications deployed to a select number of users.

Coupled with the positive results from a survey that aimed to find out the awareness and willingness of users towards the idea of the project, this project has been able to achieve the delivery of work and academic software packages to concurrent users on the following operating system platforms: Windows 7, Mac OS X Mavericks, Android 4.2.2 and iOS 7 while also solving the issues of security, management, maintenance and data redundancy for large organizations, high initial costs for SMEs, mobility for all types of users, and licensing, sourcing and installation in academic environments.

 

 

 

 

 

 

 

 

 

 

 

 

 

TABLE OF CONTENTS

Title page…………………………………………………………………...i

Certification..................................................................................................ii

Dedication…………………………………………………………………iii

Acknowledgements…………………………………………………….....iv

Abstract……………………………………………………………………v

Table of Contents………………………………………………………...vii

 

Chapter One: Introduction……………………………………………..1

1.1  Background to the study.............................................................................1

1.2  Statement of problem..................................................................................3

1.3  Objectives {purpose} of the study............................................................. 5

1.4  Significance of the study………….............................................................5

1.5  Scope and limitation of the study................................................................7

 

Chapter Two: Literature Review ……………………………........................9

2.1 Virtualization...........................................................................................9

2.1.1 Server Virtualization..................................................................10

2.1.2 Application Virtualization.........................................................11

2.1.3 Storage Virtualization................................................................11

2.1.4 Network Virtualization..............................................................12

2.1.5 Desktop Virtualization..............................................................14

2.2 Cloud Computing..........................................................................17

2.2.1 Infrastructure as a service (IaaS)…………………………….. 17

2.2.2 Platform as a service (PaaS)…..................................................18

2.2.3 Software as a service (SaaS)......................................................18

2.2.4 Deployment models...................................................................19

2.2.5 Private clouds.............................................................................19

2.2.6 Public clouds..............................................................................20

2.2.7 Community clouds.....................................................................21

2.2.8 Hybrid clouds.............................................................................21

2.3 Roadmap to a Successful Private Cloud Migration......................22

2.4 Thin clients, diskless nodes, and mobile devices.........................28

2.4.1 Diskless nodes............................................................................28

2.4.2 Thin clients.................................................................................29

2.4.3 Mobile devices...........................................................................31

2.5 Conclusion................................................................................... 31

       

Chapter Three: System Design …………………………………................33

3.1 Introduction...............................................................................................33

3.2 Project design/method...............................................................................33

3.2.1 Maximization of computer resources such as memory, processor, and storage.............................................................................................................34

3.2.2 Improved security, mobility, maintenance and management of computer resources.........................................................................................................34

3.3 Population of the implementation............................................................35

3.4 Instruments for data collection and implementation ................................36

3.4.1 Data Collection......................................................................................36

3.4.2 Implementation......................................................................................37

3.5 Procedure for administration of instruments…….....................................50

3.5.1 Data Collection......................................................................................50

3.5.2 Implementation......................................................................................51

3.6 Testing procdure.......................................................................................51

 

Chapter Four: System Implementation and Testing ....................................52

4.1 Introduction...............................................................................................52

4.2 Collected data analysis.............................................................................52

4.3 The Xenapp infrastructure........................................................................54

4.4 Installation.................................................................................................56

4.5 Server virtual machines installation..........................................................57

4.6 User device requirements..........................................................................65

4.7 XenApp Policies.......................................................................................66

4.6.1 Computer Policies.................................................................................67

4.6.2 User Policies..........................................................................................69

4.7 Testing.......................................................................................................71

4.8 Conclusion................................................................................................74

 

Chapter Five: Conclusions............................................................................75

5.1 Introduction...............................................................................................75

5.2 Summary...................................................................................................75

5.3 Achievements............................................................................................76

5.4 Conclusion................................................................................................76

5.5 Challenges.................................................................................................77

5.6 Recommendations.....................................................................................77

Bibliography...................................................................................................78

 

 

 

 

 

CHAPTER ONE

INTRODUCTION

1.1  BACKGROUND TO THE STUDY

The term "virtualization" traces its roots to 1960s mainframes, during which it was a method of logically dividing the mainframes' resources for different applications. Since then, the meaning of the term has evolved. [1] Virtualization can be referred to as an act of creating an abstract version of something be it storage, desktops, servers, or networks. It involves an abstraction layer that abstracts an operating system from its hardware. When people talk about virtualization, usually they are referring to server virtualization due to it being the most common type of virtualization. In server virtualization, multiple physical servers are consolidated into fewer physical servers by adding a hypervisor layer (similar to the abstraction layer aforementioned) to each of these physical servers. The hypervisor enables each physical server to host several virtual machines. So the virtual machines then contain the operating systems and applications from the physical servers that were consolidated. Through the hypervisor these virtual machines are able to communicate with the physical server and act like stand-alone devices. Desktop virtualization, another type of virtualization refers to separating the logical desktop from a physical machine and enables the use of desktop computers from another location with any other supported device.

So, virtualization is basically the process of taking advantage of excess processing, memory storage, networking, and capacity to create several artificial environments each having different functions. Virtualization has led to several spin-offs, one of which is cloud computing. Cloud computing can be referred to as network-based services which are provided by virtual hardware, simulated by hypervisors running on the physical servers.

Cloud computing and virtualization help arising issues in schools and offices that range from reducing information technology costs to making information technology as mobile as possible.

The computing world is rapidly transforming towards developing software for millions to consume as a service, instead of running them on their individual computers. ­­Presently, users access content across the Internet independently without reference to the underlying hosting infrastructure. This infrastructure consists of servers that are monitored and maintained around the clock by service providers.

 Cloud computing today allows individuals and businesses to use software and hardware that are managed by third parties. Examples of cloud services today include online file storage (e.g., Drop box, Google Drive, Sky Drive), social networking sites (e.g., Facebook, LinkedIn, Google+, and Twitter), online games (e.g., Shockwave, Mini clip), webmail (e.g., Yahoo mail, Gmail, Outlook.com) and online business applications (e.g., Google Maps, Sage One Online, SAP). The cloud model allows access to information and computer resources from anywhere that a network connection is available; it provides a shared pool of resources, including storage, networks, corporate and user applications. More recently, entire systems are provided to customers for access. We hear terms like desktop as a service, infrastructure as a service, and even data centre as a service. Unlike earlier services like applications as a service, storage as a service whereby the user still owns a computer but uses the service provided by the cloud provider because of personal insufficiencies like cost, redundancy, licensing, compatibility and resource availability, these services eliminate the need for a user to even own a computer to use a computer.

This concept of virtual computing can be likened to how electricity is used in houses via paid meters and also how water is distributed to houses. While owning a computer can be likened to owning your own generator (or any other way of generating your own electricity) or drilling a bore hole in your house to provide water. In the case of database as a service and data centre as a service, small and medium sized organisations now realise that it is cheaper to outsource their data centres and databases. Even some larger organisations are starting to outsource or virtualize their desktop computers for improved security, mobility, maintenance and management.

In virtual computing, performance is also closely monitored and therefore relatively consistent. Data and processes are reliable and redundant. And cost of computing is effectively reduced.          A public-cloud delivery model converts capital expenditure to operational expenditure. This purportedly lowers barriers to entry, as infrastructure is typically provided by a third-party pricing on a utility computing basis is fine-grained, with usage-based options and fewer in-house IT skills are required for implementation. [2]

1.2  STATEMENT OF THE PROBLEM

The issue of mobility of computers and the applications that run on them has become a prevalent issue in modern day computing. The demand for computing anywhere with anything is increasingly high. Users want to be able to access their documents, use their important applications, and even their entire desktops on the go. They want to be able to do these without having to carry their computer systems everywhere with them. Tablets and “super smart-phones” have done a lot to an extent to resolve some of these issues as they are very light and easy to carry around and can carry out a couple of the tasks that the normal computer system should carry. But still these devices are too small (in terms of memory) to be really able to carry the many applications a user needs, or let alone process them. Also because of flexibility users would like to access the same thing with any device, instead of being tied to one device.

Cloud computing and virtualization provide a solution to all of these issues and even more. They provide several consolidation and virtual solutions that help make data recovery and data redundancy easier, maintenance and management of information technology easier, and even reduce information technology costs. Small and medium enterprises recognise that technology is critical for growth, productivity and competitiveness, but high costs, access to scarce skills, and the retention of legacy information technology systems often make it difficult to maximize the return on investment and benefits that modern technology offers. Cloud computing and virtualization offers a solution to this dilemma also. By using software applications accessed over the web, these enterprises can take advantage of functionality that would otherwise only be affordable by large enterprises. These services provided to the small and medium enterprises are provided at a pay-as-you-go basis. Also the enterprises can pay for what they need as the business expands or contracts. Issues such as buying hardware, providing technical support, and recruiting specialist information technology skills are removed, allowing the managers of these establishments to concentrate on sales, growth and profitability. [3]

 

1.3 OBJECTIVES {PURPOSE} OF THE STUDY

The aim in this project is to design and build a virtual computing environment that can provide software as a service, desktop as a service, and storage as a service for use in academic or work environments.

The major objectives are as follows:

         Maximization of computer resources such as memory, processor, and storage.

         Improve security, mobility, maintenance and management of computer resources.

         To be able to achieve the concept of using multiple logical servers on a single physical server via hypervisors

         To design and implement a virtual computing environment providing software as a service    and storage as a service in schools and offices

         Virtual desktop implementation to provide desktop as a service with the use of thin clients and diskless nodes.

 

1.4 SIGNIFICANCE OF THE STUDY

It has always been a problem in academic institutions for students and faculty to source, purchase and install applications they need for work and leisure on their personal computers. It is especially difficult and expensive for students to purchase applications such as Photoshop, AutoCAD, Revit, Microsoft Office, Proteus, etc. A private cloud – offering virtual computing services like software, storage, and desktop as a service– would be a perfect solution to this problem. Faculty and students would be able to have easy access to a wide range of business, educational and leisure applications provisioned by a centrally managed cloud. Also, there will be a level of security due to the redundancy that the private cloud provides. Information, data, applications and even entire desktops will not be easily lost in disaster or theft situations because they are backed up centrally at real time. Also, the private cloud will make it easy for students and faculty to access storage, applications and desktops from anywhere within the school. Thin clients to be used to access the cloud can be deployed at low cost at several locations. Individuals that have tablets or smart-phones can also use it to access the cloud. Printing at any location becomes easier and safer because documents to be printed can be accessed from the cloud directly instead of universal serial bus devices that pose a huge threat of harboring viruses. Practical examinations and classes that require certain applications for simulation can be easily undertaken.

Another problem resides in offices of enterprises whereby there is the increasing demand by users to go mobile. Also, small, medium and large enterprises are seriously looking in to virtual computing as a competent alternative to their current information technology infrastructure-although for slightly different reasons with a view of different models. The small and medium enterprises need to remove issues such as buying hardware, providing technical support, and recruiting [3] specialist information technology skills so as to concentrate on sales, growth and profitability. They prefer the pay-as-you-go template that a public cloud would offer and want to pay when they need as the business expands or contracts.

The large enterprises on the other hand prefer and can afford the private virtual computing model. They want data recovery, data redundancy, and data consolidation so they employ several virtualization models and techniques to achieve these resulting in a virtual computing environment where the risk of the user losing information is drastically reduced. Disasters, unauthorized access and security breaches are narrowed down to data centers and resources can be focused there. Also, management and maintenance of information technology systems becomes so much easier and cheaper. Fewer front-end information technology support staff are needed since most of the work is now done at the back-end. They even encourage BYOD-bring your own device-among staff. Also, the fact that users can access information, data, and applications from anywhere including their homes increases flexibility, mobility and innovation.

 

1.5 SCOPE AND LIMITATION OF THE STUDY

Multiple desktop operating system instances will be hosted on a server hardware platform running a hypervisor. Remote desktop virtualization implementations operate as client/server computing environments. Applications execution take place on remote systems, linked to the local client device over a network using a remote display protocol through which the user interacts with the application. With application virtualization, as many applications can be used from any supported device easily since applications do not have to be installed on the devices before. This also helps in integrating new systems in the infrastructure

All applications and data used remain on the remote system with only monitor, keyboard, and mouse information communicated with the local client device which may be a conventional PC/laptop, a thin client device, a diskless node, a tablet, or even a smart phone. For users, this means they can access their desktop from any location, without being tied to any single client device.  With the resources being centralized, users moving between work or study locations can still access the same desktop environment with their applications and data.

The project is a simulation of what the virtual computing environment would be like. The real environment will require a complete data centre and an information technology team. Access to the environment from outside the environment via the internet is not available for security reasons. And most but not necessarily all of the operating systems and hypervisors will be open source.

 

Order Complete Project