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.
Login To Comment