SlideShare a Scribd company logo
1 of 69
Download to read offline
i
AN EVALUATION OF CLOUD COMPUTING PLATFORMS AND THE
POSSIBLE BARRIERS TO THE ADOPTION OF CLOUD COMPUTING
IN THE NIGERIAN EDUCATION SECTOR: A STUDY OF COVENANT
UNIVERSITY
BY
FOLA-OWOLABI OLUSEYI
A DISSERTATION
IN
THE SCHOOL OF COMPUTING ENGINEERING AND PHYSICAL
SCIENCES
PRESENTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS
FOR THE MASTER DEGREE IN NETWORK
COMPUTING AT UNIVERSITY OF CENTRAL LANCASHIRE
PRESTON, UNITED KINGDOM.
SUPERVISOR
DR MARTIN BATEMAN
ii
ABSTRACT
Cloud computing has led to the development of several types of services that is being used in
various organisations. One of such services is DaaS which is now becoming as popular as SaaS,
PaaS, IaaS. DaaS is a cloud platform that bring the desktop environment to its users on various
platforms. It is sometimes referred to as a GUI based IaaS service.
This project evaluates four cloud computing platforms to determine their ability to deliver DaaS;
Openstack, OpenNebula, Amazon EC2 and Microsoft Azure. This evaluation uses certain criteria
that aim to help system administrators to determine which of these cloud platforms best fit their
present business architecture. These evaluation criteria will also help this research to pick a cloud
platform that is suitable for DaaS.
iii
ACKNOWLEDGEMENTS
I would like to acknowledge my parents Mr and Mrs Fola-Owolabi for their continuous love and
support towards my career aspirations. My brother Ayodeji Fola-Owolabi and my sister
Damilola Fola-Owolabi for the love and support. My colleagues Opusi Ikhobo, Amaryu Umar
we started this MSc journey together and it is about to come to an end. My supervisor Dr Martin
Bateman and I would like to thank University of Central Lancashire for their assistance in
providing the Amazon EC2 computing time. I would also like to thank the following people who
have been a source of joy and support; Dr Adebay Oladapo, Richard Boswell, Bukky Owolabi,
Dimeji Owolabi. And finally I would like to return all the glory and admiration to GOD
ALMIGHTY for seeing me through this dissertation.
iv
TABLE OF CONTENTS
1. INTRODUCTION.....................................................................................................................................1
2. LITREATURE REVIEW.............................................................................................................................3
2.1 INTRODUCTION.............................................................................................................................3
2.1.1 DEFINITION OF CLOUD COMPUTING....................................................................................4
2.1.2 CLOUD VS GRID COMPUTING ...............................................................................................5
2.1.3 CLOUD COMPUTING ARCHITECTURE....................................................................................5
2.1.4 CLOUD SERVICE MODELS......................................................................................................8
2.1.5 CLOUD DEPLYMENT MODELS .............................................................................................10
2.2 CLOUD PROVIDERS......................................................................................................................11
2.2.1 OPENSTACK.........................................................................................................................11
2.2.2 CLOUDSTACK.......................................................................................................................12
2.2.3 AMAZON ELASTIC COMPUTE CLOUD (EC2) ........................................................................14
2.2.4 MICROSOFT AZURE .............................................................................................................14
2.2.5 OPENNEBULA......................................................................................................................15
2.3 RELATED WORK...........................................................................................................................16
2.3.1 VIRTUALISATION .................................................................................................................16
2.3.2 VIRTUAL DESKTOP INFRASTRUCTURE (VDI)........................................................................17
2.4 ADOPTION OF CLOUD COMPUTING ...........................................................................................19
2.4.1 SECURITY.............................................................................................................................19
2.4.2 COST....................................................................................................................................20
2.4.3 PERFORMANCE ...................................................................................................................20
2.4.4 CLOUD MODEL....................................................................................................................20
2.4.5 RELIABILITY..........................................................................................................................21
2.5 EDUCATION AND CLOUD ............................................................................................................21
2.5.1 BENEFITS OF CLOUD IN EDUCATION...................................................................................21
2.5.2 BARRIER AFFECTING THE ADOPTION OF CLOUD COMPUTING IN NIGERIA’s EDUCATION
SECTOR 23
3. METHODOLOGY ..................................................................................................................................26
3.1 REQUIREMENTS ELICITATION (GATEHRING) ..............................................................................26
3.1.1 METHOD OF DATA COLLECTION.........................................................................................26
3.1.2 RESEARCH POPULATION .....................................................................................................27
v
3.1.3 SURVEY DESIGN AND DISTRIBUTION ..................................................................................27
3.1.4 METHOD OF DATA ANALYSIS ..........................................................................................27
3.2 EVALUATION CRITERIA................................................................................................................28
3.3 TECHNICAL REQUIREMENTS AND CONFIGURATION ..................................................................29
3.3.1 OPENSTACK REQUIREMENTS AND CONFIGURATION.........................................................29
3.3.2 OPENNEBULA REQUIREMENTS AND CONFIGURATION......................................................32
3.3.3 AMAZON EC2 REQUIREMENTS AND CONFIGURATION ......................................................35
3.3.4 MICROSOFT AZURE REQUIREMENTS AND CONFIGURATION .............................................37
4. RESULT AND ANALYSIS........................................................................................................................39
4.1 SURVEY METHODS ......................................................................................................................39
4.2 RESPONDENTS PROFILE ..............................................................................................................39
EVALUATION REPORT .................................................................................................................................43
OPENSTACK.................................................................................................................................................43
OPENNEBULA AMAZON EC2.......................................................................................................................45
MICROSOFT AZURE.....................................................................................................................................49
5. DISCUSSION AND RECOMMENDATION ..............................................................................................52
6. CONCLUSION.......................................................................................... Error! Bookmark not defined.
Table of Figures
Figure 1: The six Paradigms of Computing..................................................................................................3
Figure 2: Key aspects of a Cloud Computing System ..................................................................................4
Figure 3: Market-Oriented Cloud Architecture.............................................................................................6
Figure 4: Service-Oriented Cloud Architecture............................................................................................7
Figure 5: NIST’s Open Cloud Architecture..................................................................................................8
Figure 6: Openstack Architecture ...............................................................................................................12
Figure 7: Cloudstack Open Platform Architecture......................................................................................13
Figure 8 Opennebula Architecture..............................................................................................................16
Figure 9: Openstack 3-Node Architecture ..................................................................................................30
Figure 10: Openstack Dashboard................................................................................................................31
Figure 11: Openenbula Dashboard .............................................................................................................33
Figure 12: Amazons Management Console page........................................................................................36
Figure 13: Amazon WorkSpace Bundles....................................................................................................36
Figure 14: Microsoft Azure Dashboard ......................................................................................................38
Figure 15: Students Level...........................................................................................................................39
Figure 16: Staff Qualification .....................................................................................................................40
Figure 17: Program of Study.......................................................................................................................40
Figure 18: Responses to "Which courses do you teach?"...........................................................................42
vi
Figure 19: Responses to "Which activities are carried out during lab sessions?".......................................42
LIST OF TABLES
Table 1 : Evaluation Criteria.......................................................................................................................28
Table 2: System specifications used for Openstack....................................................................................29
Table 3: Ubuntu Server quota.....................................................................................................................32
Table 4: Windows Server quota..................................................................................................................32
Table 5: System specifications used for OpenNebula.................................................................................33
Table 6 : Number of Staff and Students Respondents ................................................................................39
Table 7: Responses to “Which applications do you use in labs?” ..............................................................41
Abbreviations Description
API Application Programming Interface
AWS Amazon Web Service
CIS Computer Information Systems
CRM Customer Relationship Manager
CSIS Centre for Systems and Information Services
DaaS Desktop as a Service
DNS Domain Name System
EFCC Economic and Financial Times Commission
ETF Education Trust Fund
EU European Union
GB Gigabyte
GBPS Gigabyte per second
GNU GNU’s Not Unix
IaaS Infrastructure as a Service
IBM International Business Machines
ICT Information and Communication Technology
IP Internet Protocol
IT Information Technology
KVM Kernel-Based Virtual Machine
LTS Long Term Support
NIC Network Interface Card
NIST National Institute of Standards and Technology
NITDA National Information Technology Development Agency
PaaS Platform as a Service
PC Personal Computer
PTDF Petroleum Development Trust Fund
QoS Quality Of Service
RAM Random Access Memory
vii
RDP Remote Desktop Protocol
SaaS Software as a Service
SaaS Storage as a Service
SAN Storage Area Network
SAS Serial Attached SCSI
SATA Serial ATA
SDK Software Development Kit
SLA Service Level Agreement
SSD Solid-State Drive
SSH Secure Shell
TB Terabyte
URL Uniform Resource Locator
USB Universal Serial Bus
VCL Virtual Computing Laboratory
VDD Virtual Distro Desktop
VDI Virtual Desktop Infrastructure
VM Virtual Machine
VPN Virtual Private Network
WADA West Africa ICT Development Award
XaaS Anything as a Service
1
1. INTRODUCTION
One of the goals of the Education sector is its contribution to developing students who will
transform the society and the global economy. A step taken towards reaching this goal is the
adoption of Information Technology. For Educational institutions to meet their business
requirements, ensure efficient service delivery and its teaching-learning objectives, they have to
become highly dependent on Information Communication Technology (ICT).
In the 21st
Century, developed countries deliver Educational resources via ICT and the Internet
and this is considered mainstream. However, in developing countries many Educational
Institutions lack the basic ICT infrastructures that will help to deliver these resources. With most
information sources and applications now being accessed mainly through the Internet, staffs and
students in these countries will be unable to keep up with IT trends. This will affect students
when they enter the global workforce and do not understand the value of new technologies.
One of such new technologies which strives to deliver computing services over the internet is
Cloud computing. The Cloud computing platform is a trend that is now being accepted and
adopted in various sectors and Education is not left out in this move of this move. Cloud
computing aims to reduce costs, provide accessibility and flexibility by delivering IT resources
over the Internet rather than hosting these resources locally. Cloud computing offers SaaS, PaaS
and IaaS service models on a pay as you go and subscription based platform to customers.
Further researches in Cloud computing have led to several other service models like DaaS
(Desktop as a Service), StaaS (Storage as a service) etc. which upon adoption will aim to
improve the on IT infrastructure in Education.
1.1 PROBLEM STATEMENT
Cloud computing is of great importance to organisations due to its computational and costs
promises, as a result it is no surprise that it is one of the most trending computing technology
since its inception in 2008. With more Educational institutions adopting cloud computing in
developed countries and less research in its adoption in a developing country like Nigeria. There
is need to evaluate some cloud platforms for the Nigerian Education sector to understand its
benefits. The cloud deployments in developed countries these days are also limited mostly to
PaaS, SaaS and IaaS with little research into services like DaaS.
DaaS offers the combined services of PaaS, SaaS and IaaS combined and all of this is done in a
familiar desktop environment. DaaS will be great in a University setting as students from
different departments or colleges will be able to use this service as they wish and within the
policies and permissions allowed by the University. DaaS will also help students to gain access
to computing labs from any location and at any time. This global remote access to resources will
for example, help students to continue some lab activities that could not be finished during lab
sessions at their spare time. As a result this research will attempt to answer the question;
“Can DaaS services replace conventional/traditional computing lab environment?”
This research will also look to answer the following sub-research questions;
2
• What are the benefits of Cloud computing in Education?
• What are the factors to consider before adopting Cloud computing?
• What are the barriers to the adoption of cloud adoption in the Nigerian Education Sector?
1.2 AIM AND OBJECTIVES
The aim of this project is to evaluate different cloud platforms and determine the possibility of
adopting DaaS in Covenant University. This research will also aim to achieve the following
objectives;
• To explore the factors to be considered before adopting Cloud computing.
• To explore the barriers affecting the implementation Cloud computing in the Nigerian
Education Sector.
• To explore the benefits of adopting Cloud computing Education.
• To test several Cloud computing platforms.
• To gather requirements for lab environments from stakeholders identified for the project.
1.3 APPROACH
The approach taken for this project is to test 4 different cloud platforms. Microsoft Azure,
Amazon EC2, Openstack and OpenNebula will be installed and configured, used and then tested
against certain evaluation criteria. The four cloud platforms will be tested against the lab
requirements gotten from the survey. The aim of this approach is to provide an analysis of the
four platforms that will provide necessary information to help in the decision to adopt the DaaS
service.
1.4 STRUCTURE
This chapter provides an introduction to the work and the remaining chapters in this project are
as follows
• Chapter 2 is the Literature Review
• Chapter 3 is the Methodology
• Chapter 4 is the Result and Analysis
• Chapter 5 is the Discussion and Recommendation
• Chapter 6 is the Conclusion
3
2. LITREATURE REVIEW
2.1 INTRODUCTION
Today, with every organisation relying on some form of Information Technology (IT) to achieve
its business goals, a lot of research has been put into finding different means of reducing the
effort, cost and resources required for implementing IT and improving economic growth. With
years of research in Grid Computing, Virtualisation, Distributed Computing, etc. (Foster,
Kesselman 2003, A Vouk 2008, IBM 2006). These researches have led to the introduction of
cloud computing, a term coined when IBM and Google announced a collaboration in that domain
(A Vouk 2008, Farber 2012).
According to (Voas, Zhang 2009, Singh, Hemalatha 2012) computing has undergone six
different paradigm changes. In MIT’s 1961 centennial ceremony, MIT’s Professor John
McCarthy in a speech mentioned for the first time the concept of Computing as a utility. He said
“Computing may someday be organized as a public utility just as the telephone system is a public
utility…. The computer utility could become the basis of a new and important
industry.”(Kleinrock 2005).
This evolution began with Mainframe Computing, and moved on to PC Computing, Network
Computing, Internet Computing, Grid Computing and today we have Cloud Computing, (Singh,
Hemalatha 2012, Voas, Zhang 2009). Figure 2 shows the six stages in the evolution of
Computing.
Figure 1: The six Paradigms of Computing (Singh, Hemalatha 2012).
4
2.1.1 DEFINITION OF CLOUD COMPUTING
The term Cloud Computing is relatively new, but the concept behind it has already existed
through the use of various borrowed concepts and terms gotten from previous computing
paradigms. As a result, different researchers have different definitions for the term cloud
computing. Figure 1 shows the main aspects of a cloud system.
Figure 2: Key aspects of a Cloud Computing System (Bhat, Shah et al. 2010).
Although there are many definitions of cloud computing, the National Institutes of Standards and
Technology’s (NIST) definition is the most popular and generally accepted by many researchers
(Bhat, Shah et al. 2010, Conboy 2013, Hashemi, Bardsiri 2009, Zhang, Cheng et al. 2010). This
is due to the fact that NIST’s definition covers most of the essential characteristics that has made
Cloud Computing appealing to various organisations,
“Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to
a shared pool of configurable resources (e.g., networks, servers, storage, applications and
services) that can be rapidly provision and released with minimal management effort or service
provider interactions.”, (Mell, Grance 2009).
This definition consists of the following essential characteristics;
• Rapid Elasticity.
• Resource Pooling.
• On-demand self-service.
5
• Measured Service.
• Broad network access.
Although NIST’s definition of cloud computing is generally accepted, some authors disagree
with the essential characteristics (de Haaff 2008, Geelan 2009, Vaquero, Rodero-Merino et al.
2008), stating that this definition is not complete because the business perspective need to be
considered as well (for example, pay as you go and cost reduction on available IT expenditure).
However, there is another definition of cloud computing that aims to cover all aspects of the
infrastructure.
According to (Vaquero, Rodero-Merino et al. 2008),
“Clouds are a large pool of easily usable and accessible virtualized resources (such as
hardware, development platforms and/or services). These resources can be dynamically
reconfigured to adjust to a variable load (scale), allowing also for an optimum resource
utilization. This pool of resources is typically exploited by a pay-per-use model in which
guarantees are offered by the infrastructure provider by means of customized SLAs.”
2.1.2 CLOUD VS GRID COMPUTING
The concept behind Cloud Computing is often confused with Grid Computing (Bégin, Jones et
al. 2008, Jha, Merzky et al. 2009). According to (Vaquero, Rodero-Merino et al. 2008), this is
due to the fact that they share some essential characteristics for example; both computing models
minimize cost or the fact that both models’ increases flexibility. One of the major factors that
separate Grid Computing from Cloud Computing is that with clouds the service is available all
the time, i.e. in real time (Hashemi, Bardsiri 2009), and with Grid Computing service needs to be
scheduled. Also (Hashemi, Bardsiri 2009) see the future of Grid Computing to be Cloud
Computing while the future of Cloud Computing is the next generation of the Internet. Although
(Buyya, Yeo et al. 2008) suggests that Grid Computing will be the next big thing after the
Internet and the web.
2.1.3 CLOUD COMPUTING ARCHITECTURE
Cloud Computing aims to reduce the cost of having and maintaining IT infrastructure and
services as well as reduce the significant workload on local computers within an organisation.
But what components make up the cloud computing architecture? Like most IT platforms the
cloud architecture is made up of a front end (this is the side the users and consumers see) and the
back end platform which is seen as the cloud itself (this is storage, service and
infrastructure).The front end platform requires just a computer that has access to the Internet,
while the back end is generally made up of different parts that actually make up the cloud.
Although this architecture is a breakdown of the aspects that make up the cloud, certain authors
think that cloud architectures should be based on different consumer needs (Kumar, Singh et al.
2012, Buyya, Yeo et al. 2008, Vitek, Morris 2011). With every major cloud provider having an
almost similar architecture, (Buyya, Yeo et al. 2008) suggests that cloud architecture should be
market-oriented while (Vitek, Morris 2011) suggests that it should be service-oriented.
6
2.1.3.1 MARKET-ORIENTED CLOUD ARCHITECTURE
According to (Buyya, Yeo et al. 2008), the market oriented architecture is aimed at providing
incentive for cloud users and providers by regulating the demand and supply of cloud resources
and promotion of QoS (Quality of Service) based resource allocation, figure 3 shows the market-
oriented cloud architecture. The authors also state that the following QoS parameters are critical
in a market-oriented architecture (Buyya, Yeo et al. 2008);
• Time
• Reliability
• Security/Trust
• And in some cases Cost.
Figure 3: Market-Oriented Cloud Architecture (Buyya et al, 2008).
2.1.3.2 SERVICE-ORIENTED CLOUD ARCHITECTURE
(Tsai, Sun et al. 2010, Vitek, Morris 2011) suggests that market oriented architecture as well as
other cloud architecture lack Service Level Agreement (SLA) support as well as multi-tenancy
which simply refers to having different clouds implement uniform standards so that
interoperability can be achieved, figure 4 shows the service-oriented cloud architecture.
7
According to (Tsai, Sun et al. 2010), Service-Oriented Architecture is aimed at achieving a
cross-platform of several clouds and as a result will be broken down into independent services
such as;
• Storage Service
• Computing Service
• Communication Service.
Figure 4: Service-Oriented Cloud Architecture (Tsai et al, 2010).
However, NIST’s open cloud architecture is the most widely used as it breaks down the cloud
components into the following (Mell, Grance 2009);
• Essential Characteristics
• Service Models
• Deployment Models.
8
Figure 5 shows a breakdown of NIST’s open cloud architecture.
Figure 5: NIST’s Open Cloud Architecture (Mell, Grance 2009)
2.1.4 CLOUD SERVICE MODELS
The service models provide options to users on the type of cloud service that they may choose to
deploy.
2.1.4.1 Software As A Service (SaaS)
The software as a service model allows users to use applications over the Internet without having
to worry about installing and maintaining the software (Vaquero, Rodero-Merino et al. 2008).
With SaaS, it is the responsibility of the provider to maintain all aspects of the software
including installation, backup and recovery. SaaS providers have a list of applications that is
offered on an agreed subscription plan with the client, this can be daily, monthly, or based on the
number of users using the software. With SaaS consumers are never bothered with what it
happening behind the scenes, all that matters is that the software is available to them when
needed. This way Universities for instance, are able to focus on productivity as well as reduce
the cost of installing software, hardware or the cost of acquiring more manpower to manage
these softwares. Example of SaaS providers are Salesforce, Google Apps and Microsoft Office
365.
2.1.4.2 Platform As A Service (PaaS)
Platform as a Service is best explained by referring to computing platforms which typically
included a database, web servers, operating systems, programming language execution
environment, etc. PaaS is used to replace all these platforms and the staff needed to maintain
them by providing it to developers and researchers who only require an Internet enabled system
9
to access them (Sultan 2010). PaaS help developers to quickly deploy web or server side
applications without having to worry about acquiring, managing and hosting the physical
hardware running these services. PaaS also helps developers by ensuring the smooth flow of the
software development lifecycle process (Sultan 2010). The downside with PaaS is that patch
management and updates can only be provided by the cloud provider, this can take some time as
the PaaS provider may want to test updates or patches first in a test environment before
deploying them. Example of PaaS providers are AWS Elastic Beanstalk, Heroku, Google App
Engine.
2.1.4.3 Infrastructure As A Service (IaaS)
Infrastructure as a service is a service model where the company/organisation outsources the
equipment that supports operations such as storage, servers, networking etc. It is the
responsibility of the cloud provider to house many pieces of equipment as well as run and
maintain them (Sultan 2010). IaaS offers the most flexibility and control as users are allowed
install services, updates, patches and software based on specific needs. IaaS offers operating
systems (OS) as a virtual machine that enables customers to deploy software and resources as
efficiently and effectively and with as much flexibility as they would like. However, flexibility
comes with a price as organisations are now responsible for applying updates and patches
(Murphy, Abraham et al. 2010). Example of IaaS providers include Openstack, Opennebula,
Cloudstack etc.
Anything As A Service (XaaS) is a fairly new trend that suggests that any service being provided
over the Internet rather than locally or on-site (Schaffer 2009). A few of them will be covered
next.
2.1.4.4 Desktop As A Service (DaaS)
The Desktop as a Service model is often referred to as VDI (Virtual Desktop Infrastructure). The
only slight difference between them is that VDI is hosted locally and DaaS is hosted on the
clouds. DaaS is basically a service in which the back-end of VDI is being managed and hosted
by a cloud provider (Dasilva, Liu et al. 2012). DaaS offers customers a virtual desktop based
experience and all it requires is a PC or thin client to run this service (Dasilva, Liu et al. 2012).
Also with DaaS users can access these desktops from any location. However, it is up to the
organisation to ensure business policies are maintained on these virtual desktops. The issue of
security is also up to the customer to perform except it has been arranged to be provided by the
cloud provider. DaaS providers include Amazon, VMware etc.
2.1.4.5 Storage As A Service (StaaS)
Storage as a Service model is a business model where small or individual companies rent data
storage allocations from large companies or StaaS providers. Cloud platform offers data storage
as one of its many features. StaaS offers small companies a cost effective approach to data
storage (Wu, Ping et al. 2010). Also with StaaS customers need not worry about backup and
recovery of data in case there is a disaster. This service is not limited to companies alone, but to
anyone who wishes to store information within the cloud. Students for instance, can make good
10
use of StaaS services to have backups of assignments, lecture notes, etc. in the cloud in the event
they lose their storage devices. Examples of StaaS providers include Google, Dropbox etc.
2.1.5 CLOUD DEPLYMENT MODELS
There are four cloud deployment modes in NIST’s open cloud architecture, this classification is
based on different factors. According to (Bardin, Callas et al. 2009) there are four factors that
determine which deployment model is chosen and why. The factors are;
1. Location of the cloud infrastructure.
2. Users or organisations that have access to the cloud services.
3. The owner of the cloud infrastructure.
4. The organisation or cloud provider in charge of managing the cloud infrastructure.
Also (Ahronovitz, Amrhein et al. 2010) suggests that each deployment model is used for
different situations or specific needs. The deployment models available are public, private,
hybrid, and community (Mell, Grance 2009).
2.1.5.1 PUBLIC CLOUDS
A public cloud is a deployment model where the infrastructure belongs to a cloud provider. It is
now up to the cloud provider to set a cost and offer the cloud as a utility where users or
organisations pay based on how often the cloud is used (Fox, Griffith et al. 2009). One of the
benefits of having a public cloud is that the risk of maintaining IT infrastructures is placed on the
cloud provider. However, this leaves clients on edge as relying totally on public clouds allow for
a single point of failure (Fox, Griffith et al. 2009).
2.1.5.2 PRIVATE CLOUDS
A private cloud is a proprietary data centre that uses cloud computing services which operates
dedicatedly for a single organisation (Fox, Griffith et al. 2009). The datacentre can be kept on
site or offsite and this is usually controlled by the organisation or an appointed service provider
(Bardin, Callas et al. 2009). Also public clients do not have access to private clouds just as
private clients do not have access to public clouds except it is a hybrid cloud (Shimba 2010).
2.1.5.3 HYBRID CLOUDS
A hybrid cloud is a cloud that has the combined benefits of a public and private cloud (Mell,
Grance 2009).This can be a company that runs an in-house cloud infrastructure and also uses
cloud resources provided externally (public clouds). A likely scenario where hybrid clouds are
used will be, say at certain periods when the level of resources an organisation uses depletes the
performance of the available IT services. At this point, such organisations can simply acquire
extra capacity from elsewhere (public cloud provider). This way the organisation can achieve its
daily business goals and also gain the advantage of better economics (Subramanian 2011).
2.1.5.4 COMMUNITY CLOUDS
Community clouds like hybrid clouds enjoy the shared benefits of public and private clouds. The
difference between them is that community clouds are shared between groups/clients with the
same computing needs (Marinos, Briscoe 2009). An example would be universities within the
same geographical location sharing a cloud infrastructure. Community clouds like public clouds
11
offer a billing structure and like private clouds have the added level of security and privacy
(Marinos, Briscoe 2009).
2.2 CLOUD PROVIDERS
Cloud computing provides several platforms for users to choose from, the choice of picking a
cloud provider is a factor that has to be evaluated properly before moving enterprise applications
to the cloud. Factors such as availability, support etc. comes to mind and seeing as cloud
providers cannot guarantee all of these factors companies have to decide whether security and
availability is more important than support. The next sections examine some of the available
cloud platforms from the perspective of its benefits and drawback.
2.2.1 OPENSTACK
Openstack is a free and open source software that aims to provide public and private cloud
deployments (Openstack 2014). Openstack allows businesses to build their own datacentres by
using the IaaS service model to create large groups of virtual private servers in a cloud
computing environment. Openstack is one of the open-source cloud providers that is available
under the Apache 2.0 license and is written in python and provides public and private IaaS
services (Openstack 2014). Figure 6, shows the Openstack Architecture.
Openstack functions using the following components (Openstack 2014);
• Openstack Compute (Nova)
The Openstack Compute component is the interface used to control the hypervisor
virtualisation. KVM, VMware ESXi, Xen, Hyper-V, LXC, QEMU, UML, Xen,
XenServer are supported by Nova.
• Openstack Object Storage (Swift)
The Openstack Object storage is used to provide reliable and secure storage, it also
supports Block Storage (Cinder). It supports other server storage platforms such as
NetApp, Nexenta, SolidFire, Ceph, Zadara.
• Openstack Networking (Neutron)
Neutron is used to provide internal and internal networking (VPN), it is used to provision
static or DHCP, VLANs, Floating IPs.
• Openstack Dashboard (Horizon)
This gives administrators and users a GUI web platform for managing, controlling and
provisioning cloud resources
• Identity (Keystone)
Keystone is used for authenticating and authorising Openstack services.
• Image Service (Glance)
Glance is used to manage and catalogue server images.
12
Figure 6: Openstack Architecture (Openstack 2014)
Openstack is widely used today due to the following benefits (Openstack 2014):
• It is simple to integrate.
• It can be upgraded easily.
• It provides the option of having a private and public cloud.
• It has unlimited storage (as much as you can afford).
• It provides IaaS service for businesses to have own datacentres.
• Availability (anytime, anywhere through a web browser).
• Efficient virtual machine (VM) deployments using pre-defined templates.
The merits of Openstack are very appealing but this does not mean there are no negative aspects
to Openstack. The drawbacks are (Openstack 2014):
• E-mails and chats are the only means of providing technical support
• Uploads are time consuming.
• The software is constantly being updated, it is the responsibility of the user to keep it up
to date.
• There is no billing and monitoring system available yet.
2.2.2 CLOUDSTACK
Cloudstack is an open source software that was bought by Citrix in 2012 and donated to the
Apache Software Foundation (Cloudstack 2014). Cloud stack aims to deploy IaaS service
models that are aimed at creating, managing and deploying public or private clouds (Cloudstack
2014). Cloudstack is another open source platform that uses Apache 2.0 Licence and is written in
Java, Tomcat6, Axis2, Maven build + ant (Cloudstack 2014). Cloudstack offers a unique open
architecture to suit client needs, Figure 7 shows the open architecture.
13
Figure 7: Cloudstack Open Platform Architecture
Cloudstack functions using the following components;
• Compute Node
This node handles the hypervisors, Cloudstack supports XenServer, VMware, Oracle
KVM, KVM and Bare metal Hypervisors.
• Storage Node
CLoudstack provides customers with the choice of Block and Obkect Storage, some of
the available choices are Local Disk, iSCSi, Swift, etc.
• Network Node
Some features of the Cloudstack compute architecture include; load balancing,
controlling traffic using firewall rules, using VPN to connect to corporate networks etc.
• Cloudstack GUI (Graphical User Interface)
Cloud stack provides a dashboard to customers to help with provisioning and managing
cloud resources.
Some of the benefits of Cloudstack are (Cloudstack 2014):
• User interface option for cloud management.
• Secure cloud deployments.
• Multiple storage solutions.
• Able to provide real time usage reports.
• Efficient virtual machine (VM) deployments using pre-defined templates.
14
2.2.3 AMAZON ELASTIC COMPUTE CLOUD (EC2)
Amazon EC2 is part of Amazon’s cloud computing platform. EC2 is a web-based service that
allows organisations to run application programs on Amazons public cloud environment. Clients
are allowed to rent virtual machines which are used to run the applications (Amazon 2014),
clients only pay for active servers by the hour. Amazon EC2 is Amazon’s cloud computing
platform. Amazon EC2 provides a web service where users can rent virtual machines that allow
them to run computer applications. EC2 offers Linux, FreeBSD and Microsoft Windows
instances to users. EC2 enables users to get started in minutes and grants access to SDKs
(Software Development Kit), APIs (Application Programming Interface) and other development
tools that will help kick-start migration into the cloud (Amazon 2014). Amazon offers the
following cloud features via its web service;
• Compute and Networking
This includes VPC (Virtual Private Cloud), EC2 (Virtual Servers in the cloud),
Workspaces etc.
• Storage and Content Delivery
This includes S3 (Scalable Cloud Storage) etc.
• Database
This includes RDS Managed (Relational Database Service) etc.
• Deployment and Management
This includes CloudFormation (Templated AWS Resource Creation) etc.
• Analytics
This includes Elastic MapReduce (Managed Hadoop Framework) etc.
• App Services
This includes SES (Email Sending Service), SNS (Push Notification Service) etc.
The benefits of Amazon EC2 are (Amazon 2014):
• Able to adopt industry strict policies.
• Elastic web-scale computing.
• Complete control of instance.
• It is cost-effective: pay for what you use.
• Flexibility.
2.2.4 MICROSOFT AZURE
Microsoft Azure is Microsoft’s cloud computing platform. Microsoft Azure offers a public cloud
platform that enables clients to quickly build, deploy and manage applications. Microsoft offers
an open platform that allows clients to build applications using any tool, framework or language.
Microsoft Azure offers both IaaS and PaaS models to clients (Microsoft 2014). Microsoft Azure
provides the following features, it is however not limited to these;
• Quick and easy website deployment.
• Virtual Machines.
• Mobile Services.
15
• Cloud Service; this is used to create and manage cloud service.
• Storage.
• Active Directory; you can also deploy your own windows server and configure active
directory or use your corporate active directory.
Some of the benefits of Microsoft Azure are (Microsoft 2014):
• Faster time to market due to a variety of tools, frameworks and languages to work with.
• Flexibility: Applications can be deployed quickly, this means more functionality can be
added to applications without any downtime.
• Reduced Costs: Clients only pay for what they use, this is a good benefit that will profit
small businesses just starting up.
• Scalability: An increase in usage of applications will not have to affect performance, the
client can simply add extra capacity at peak periods.
Microsoft Azure has suffered a few setbacks in their movement into the cloud. In October 2013,
Microsoft Azure had an issue with its management feature that lasted about 17hours (Mikael
Ricknäs 2013). Also in February 2013, Microsoft Azure’s storage service went down locking out
corporate customers (Redmond Wash 2013).
2.2.5 OPENNEBULA
OpenNebula is an open-source platform that can use KVM, Xen or VMware hypervisor to
oversee management of private, public or hybrid clouds. OpenNebula provides IaaS services and
is written in Java,Ruby and C as well as being available under the Apache 2.0 license
(Opennebula 2014). Figure 8 is an overview of the OpenNebula architecture. OpenNebula
functions using the following components;
• OpenNebula Frontend
This grants access to the OpenNebula Dashboard. It is also used for authentication,
configuring ACL (Access Control List), allocating resource quotas etc.
• Datastores (SAN/SAS)
This component grants customers access to some OpenNebula data store features such as
VM image storage, use of multiple data stores, heterogeneous configurations, etc.
• Hypervisor-Enabled Hosts
OpenNebula supports automatic failover and multiple hypervisors like VMware or KVM
etc.
16
• Service Networks
This component grants the frontend access to the datastores, hosts and helps to monitor
and control resources. This is also the component used for live migration.
Figure 8 Opennebula Architecture
2.3 RELATED WORK
There is very little research looking into replacing traditional labs in Universities with a cloud
based lab. A few researchers looked into using cloud services like Google Apps (Education
Edition) or Microsoft Live @Edu (Sclater 2010, Sultan 2010). One research area that is similar
to that of this research is using Virtual Desktop Infrastructure (VDI). But it is necessary to
introduce Virtualisation first since VDI and Cloud computing uses Virtualisation technology.
2.3.1 VIRTUALISATION
Virtualisation is a technology that dates back to the 1960s, it was a concepts started by IBM and
Goldberg (Dobrilovic, Stojanov 2006). According to (Dobrilovic, Stojanov 2006) the technology
was welcomed due to the high costs of computing hardware back then. Virtualisation allow
interactive and multiple access to the virtual machines (VM) which resides on a physical
hardware (Sugerman, Venkitachalam et al. 2001). According to (Sugerman, Venkitachalam et al.
2001) IBM describes virtual machines as a copy of a physical machine that has being isolated
from the hardware. (Sugerman, Venkitachalam et al. 2001) also states that Virtualisation
primarily aims to reduce energy consumption, increase hardware utilisation as well as reduce
costs and simplify system management. It is for these reasons that Virtualisation was adopted
and improved overtime, and its use has spread to various sectors one of which is Education.
The adoption of Virtualisation in the Education sector is unavoidable, many Universities today
house thousands of students and one of the means to save on cost of Computing Equipment and
easily manage that much users is through virtualisation. Virtualisation has been used in the
Educational sector for various purposes; either to teach or help system administrators with
system management. (Shri, Subha 2013, Dobrilovic, Stojanov 2006) also state that Virtualisation
helps in increasing system performance as well as reduce cost of maintaining the system.
17
Virtualisation has led to the rise of several technologies, one of which is VDI. Virtualisation is
the core of the VDI platform (Miller, Pegah 2007).
2.3.2 VIRTUAL DESKTOP INFRASTRUCTURE (VDI)
Technology has continued to evolve rapidly over the years that most organisations now
implement a technology-oriented business model. One of such changes is the introduction of
Virtualization (Barham, Dragovic et al. 2003). Overtime different advancements in virtualization
have led to the introduction of Virtual Desktop Infrastructure (VDI) also known as Desktop as a
Service (DaaS) (Frank Noone 2013). VDI promises businesses a low cost and efficient approach
to manage IT infrastructure (David Frankk 2013).
According to (Savill 2010), the average user desktop environment is can be categorised into 3
layers;
• OS (Operating System) Layer,
• Application Layer and,
• Data Layer.
(Savill 2010) states that having these three layers in one hardware can lead to some problems; for
instance, a failure in the operating system can lead to a situation where re-installing the OS might
be the only solution, or having data on the local system can lead to accidental deletion. The
solution to this problem is to virtualise each of the layers using VDI (Savill 2010). VDI allows
users to have access to each layer from any location with their OS, data and application intact
while simulating a full desktop experience.
VDI is a technology that uses virtualization to separate the desktop environment from the
physical hardware that it’s running on. By doing this the installation of the operating system is
not on the physical hardware, but stored elsewhere on a server. The user, however still needs a
physical a physical workstation to access this service. Using Remote Display Protocol (RDP)
users are able to access VDI through a PC or thin client. Some of the benefits of using VDI
include (David Frankk 2013):
• Reduction in administrative and support cost due to users using the same image
(instance).
• Users can access desktops from any location and at any time, locations outside of the
organisations network will be accessed through a VPN (Virtual Private Network).
• By having a central point of administration, VDI provides reliability and security.
• Central point of administration also gives total control over systems.
• VDI provides real OS experience, this way employees still feel comfortable working in a
familiar environment.
VDI is not without its drawbacks, some of these are (Frank Noone 2013):
• VDI requires constant access to the network to work, if there is no connectivity in a
single department productivity will drop.
18
• VDI allows for a single point of failure. Any outage in the server means that all users
using VDI will be affected.
• Some users will need different environment (instances), for instance applications used by
the accounting department will be different from the database department. This will
require more space and might drop performance hence there will be a need to acquire
better equipment which will eventually increase cost.
VDI might not be the best option for a growing business because it might cost more to acquire
high performance servers, networking equipment etc. when compared to the amount of systems
allocated to each user. This will not be the case with Educational Institutions with thousands of
students/staffs as VDI adoption will most likely help reduce IT costs.
(Morimoto 2010) investigates using Citrix and Microsoft Hyper-V for VDI deployment. With
Hyper-V users gain access to virtual guest sessions (running a windows copy of Windows XP or
7) running on the Hyper-V server. Users can gain access using a PC or dumb terminal and login
via a website URL. One major drawback with this system with this system is that for every user
a session has to be created (Morimoto 2010, Petrović, Fertalj 2009). This means that if for
instance a university department has 500 students then there will be 500 sessions running on the
Hyper-V server. This will require a few servers and if scaled to the entire University, it might
end up costing the university more to provide IT services. This is also going to be very
demanding and tedious on the system administrator(s) who is responsible for applying patches,
updates and maintaining each session.
However, (Morimoto 2010) provides a solution which is to use Citrix platform for VDI. Citrix
uses just one image on the host server and many users can have access to this image (Petrović,
Fertalj 2009). Each user having a separate (unique) profile whenever the image is accessed.
According to (Morimoto 2010) one 64 GB server can server u to 250 users at once, as a result
this will help to reduce overall costs.
Another research looks into using the VMware platform and thin clients to reduce power
consumption and cost. The thin client was benchmarked against desktop PCs to determine which
system used the most power (Dasilva, Liu et al. 2012). The outcome of the research was that
with thin client and VDI, resource is utilized by reducing costs generated from power
consumption while maintaining the quality of service for end users.
(Cristofaro, Bertini et al. 2010) also supports the use of thin clients with VDI but propose a light-
weight solution called VDD (Virtual Distro Dispatcher). Their research shows that VDD
maintains optimum performance levels while helping to reduce operational costs due to low
power consumption. However, (Cristofaro, Bertini et al. 2010) states a high level of experience
in using GNU (GNU’s Not Unix)/Linux is required to setup VDD.
(Shri, Subha 2013) research on implementing private clouds in Education highlights some of the
benefits of Cloud computing. (Shri, Subha 2013) looks into implementing an e-learning system
19
by using an open source platform such as Eucalyptus. This research outlines some benefits like
backup and storage, flexibility, ability to access e-learning platforms from any location, etc. and
states that Educational Institutions should consider adopting Cloud computing. (Shri, Subha
2013) also states that this move will help students to experience a diversified and rich learning
environment.
Another research by (Kibe, Koyama et al. 2012) investigates the performance of DaaS in
Education using Eucalyptus. The research looks into two approaches; the first one being a single
user DaaS and the second approach a multi user DaaS. The research carried out using Cent OS
discovers that the single user DaaS maintains its performance and the quality of service while the
multi user DaaS drops in performance and QoS as the amount of simultaneous users increases.
This paper concludes that by increasing the efficiency of the multi user DaaS, costs will be
minimal and help the adoption of clouds in the Education Sector.
In conclusion, (A Vouk 2008) looks at the Virtual Computing Laboratory (VCL) implementation
that is being used in North Carolina State University.VCL offers SaaS, PaaS and IaaS cloud
services to students and staffs. This service currently serves about 30,000 staffs and students who
currently use it but it can only be accessed on-demand (A Vouk 2008). This research shows that
there are some universities already adopting cloud and enjoying the benefits associated with it.
2.4 ADOPTION OF CLOUD COMPUTING
The adoption of cloud computing can be looked at from different angles in today’s economy. It
can be viewed from either an IT, economic or consumer perspective among others. According to
(Fellows 2008) the level of maturity of the organisation should be a major factor when the
decision has been made to adopt cloud computing. However, (Khajeh-Hosseini, Greenwood et
al. 2010) argues that the organisation has to go about that decision by critically analysing factors
such as the effects cloud will have on the organisation, drawbacks, benefits and risks. The
following factors need to be considered before the adoption of cloud computing, this is based on
researchers in this area.
2.4.1 SECURITY
According to (Benlian, Hess 2011) security is a very principal factor influencing executives’
decision when considering the adoption of cloud. This is because majority of the data no longer
resides with the organisation’s storage equipment. These findings look into SaaS adopters and
non-SaaS adopters. By adopting cloud platforms in organisation, executives give the cloud
providers the control over the security of their data, this control requires a certain level of trust
(Benlian, Hess 2011). However (Benlian, Hess 2011) suggests that Service-Level Agreements
(SLA) contracts with well-defined security conditions will partly solve this issue. (Marston, Li et
al. 2011) also supports the idea that security is the primary concern of executives.
However, (Kim, Kim et al. 2009) argues that security of computer systems can be enhanced
when hosted in the clouds, this is due to the fact that there will be experts dedicated to keeping
data safe and secure. (Kim, Kim et al. 2009) also stated that no system can boast of 100%
security as hackers will always find new ways of hacking into the system. (Kim, Kim et al. 2009)
also states that it is the same security used by organisation that cloud providers will use.
20
In conclusion, the security concern plays and important role in the decision to adopt cloud, this is
the reason why banks, hospitals and governments avoid adopting clouds (Kim, Kim et al. 2009,
Benlian, Hess 2011, Subashini, Kavitha 2011).
2.4.2 COST
Cost is another key factor to consider before adopting cloud, (Benlian, Hess 2011) suggests that
IT executives take advantage of low costs as the major driver for adopting SaaS. (Marston, Li et
al. 2011) supports this idea stating that adoption of cloud leads to a 5-7% reduction of computing
costs. (Marston, Li et al. 2011) further states that most times only 10% of servers are actually
utilized, why then do organisations spend money to buy expensive servers and other IT
equipment. This equipment also have to be replaced from time to time as well as requiring
maintenance and administration which only ends up increasing the total cost of computing.
(Marston, Li et al. 2011) also states that small companies will be able to use expensive software
which requires expensive equipment to run as well as the cost of licensing at a relatively cheaper
cost.
However, (Kim, Kim et al. 2009) points out that cloud providers forget to mention potential
hidden costs. (Kim, Kim et al. 2009) gives an example stating that clients still have to monitor
the performance and availability of services which require additional staff time and hence
increases cost. (Benlian, Hess 2011) asserted the same idea that the hidden costs in adopting
clouds are usually more than anticipated. Also clients have to ensure that they have the right
flow/amount of bandwidth from ISP’s to use cloud services which also increases cost (Kim, Kim
et al. 2009).
In conclusion, although adopting clouds help to reduce certain costs, it is a factor that needs to be
considered economically before adopting cloud computing.
2.4.3 PERFORMANCE
Performance as a factor to be considered when adopting cloud computing cannot be
overstretched. The adoption of cloud services rely heavily on the performance of applications.
According to (Kim, Kim et al. 2009, Benlian, Hess 2011) connection quality is the main problem
that arises between a client and cloud provider, this quality may reduce when there are so many
users using the service at the same time or when the data being transferred is quite large.
Organisations need to determine how much bandwidth is needed and if they meet the necessary
bandwidth requirement before adopting cloud computing (Marston, Li et al. 2011).
2.4.4 CLOUD MODEL
PaaS, SaaS, IaaS or whichever other service of cloud to be implemented require organisations to
consider which cloud model (public, private, public or community) will be adopted. According
to (Marston, Li et al. 2011) the type of applications to be run and sensitivity of the data will
determine which model to use. When sensitive data is used alongside some applications, it may
be better to adopt private clouds (Marston, Li et al. 2011). Public clouds are better used with
common applications like CRM systems. (Marston, Li et al. 2011) also states that not all
21
applications are ready to be hosted on the cloud. Also using hybrid clouds can be advantageous,
take for instance when the private cloud capacity is exceeded organisations can move
applications to public clouds.
However, (Marston, Li et al. 2011, Kim, Kim et al. 2009) suggests that there may be certain
disadvantages with hybrid clouds, for example both clouds will need to use same file systems,
hypervisors etc. for the servers. Another disadvantage of using Hybrid clouds is the organisation
has to ensure that both the public and private cloud complies with the company policies and that
the data to be transferred between both clouds retain its confidentiality and integrity.
2.4.5 RELIABILITY
The adoption of cloud computing is not complete is not complete without considering reliability,
it is an effective factor to be seriously considered. No organisation benefits from an outage of
services. (Kim, Kim et al. 2009) stated that before adopting clouds, outage should be taken into
account by organisations. Also (Kim, Kim et al. 2009) suggests that the cloud might not be ready
for hosting critical applications. (Kim, Kim et al. 2009) also states that clients should always
have their data backed up in other places to ensure high availability and prevent outage. 100%
availability generally is not possible but organisations should plan properly before adopting
clouds so that outages can be scheduled to happen when it will have the least effect. This can
also be stated in the Service-Level Agreement contract.
2.5 EDUCATION AND CLOUD
Cloud computing has been around for a while with several successful implementations in various
industries. With low cost alternatives to running organisation-owned data centres as well as
different appealing characteristics such as scalability, per-per use models among others. It is no
surprise that the educational sector is now considering moving to the cloud (Singh, Hemalatha
2012, Al-Zoube 2009). The adoption of cloud computing in the educational sector offers a range
of opportunities to institutions; this includes compliance with legislation and privacy policies laid
down by these institutions as well as an Internet-based dynamic e-learning platform (Sclater
2010).The benefits of education in the cloud will be stated in the next section.
2.5.1 BENEFITS OF CLOUD IN EDUCATION
The 3 major concerns associated with cloud computing can be said to be Reliability, Availability
and Security. These factors play a major role in the factors to be considered before adopting
cloud computing. In the education sector or any sector available today these 3 factors also play a
major role, it can said that if one or all of these factors is missing the organisation may lose its
place in the continuous “battle” for relevance in that sector. Many universities today can boast of
these 3 factors which is the reason these institutions have thousands of students on campus but
will they consider adopting cloud computing which promises to improve performance,
flexibility, security and even cut down ICT costs even though there is a possibility of losing
availability, security or even reliability. Some of the benefits of cloud computing in the
Education sector are outlined below.
22
2.5.1.1 REDUCED COST OF IT SERVICES
Low cost of IT services is one of the major driving forces leading the reasons for adoption of
cloud computing. As a result educational institutions that run on very tight budgets see the cloud
as a way to save cost (Singh, Hemalatha 2012). Also, according to (Sultan 2010, Sclater 2010)
several universities have moved from on-premise e-mail systems to cloud-based systems such as
Google Apps for Education and Microsoft Live@edu who offer these services at almost no cost
or even free. With these services students can make use of softwares packages that include word
processing, email, presentation and more all from a website and without having to worry about
licensing. Also with public clouds the institution is able to cut down on labour costs, this is as a
result of the easy deployment and management benefit provided by cloud computing. This will
help to free up staff who can then be assigned to other duties.
2.5.1.2 HIGH AVAILABILITY
Students and staff are very dependent on the availability of online learning services, this is
mostly because it eases the stress of both the staff and students (Sultan 2010). For example, staffs
use this online platforms to post assignments, lecture notes, necessary update etc., students in
turn use this services to keep track of deadlines, lectures etc. The importance of availability of
services cannot be overstretched in the education system. A case study of the University of
Westminster by (Sultan 2010) show an increase in the availability of services when their email
platform was moved to the cloud.
2.5.1.3 ELASTICITY
All educational institutions have peak period at different times in an academic year. This is
usually during exam periods or during registration at the start of the year. Most times the level of
service usage affects the performance of e-learning services which will only result in discomfort
and queries from both staff and students on the IT department. According to (Singh, Hemalatha
2012) these spikes in usage at peak periods can easily be managed by hosting e-learning services
on cloud platforms. This is due to the fact that clouds can adjust to different levels of elasticity at
peak periods. In conclusion educational institutions do not need to worry about planning on
usage levels if IT services are hosted on the cloud.
2.5.1.4 FOCUS ON CORE BUSINESS
Another benefit of adopting cloud based services in the educational sector is that it allows
educational institutions to focus on research and providing quality education which is the
primary aim of any educational institution, (Sultan 2010). By adopting clouds institutions can
reduce the focus of providing IT services and aim this focus towards its core business.
2.5.1.5 USER SATISFACTION
Adopting cloud comes with other benefits when not providing high availability and cost
reduction among other things, one of which is User Satisfaction. Users are always satisfied
(worry-free) because the adoption of clouds provide institutions with updated applications as
well as assurance that data will be safely stored without having to worry about losing data
(Sultan 2010). For instance students or staffs may lose memory card or USB sticks and loose
data stored on them but this will not be the case if this data is stored in the cloud.
23
In Conclusion, although the benefits of adopting clouds in the educational sector are very
welcoming. This is not to say that cloud adoption do not come with its own concerns. According
to (Sultan 2010) users of cloud computing are considered to follow the “Green” initiative due to
a reduction of carbon footprint. The same cannot be said for cloud providers, the amount of
electricity that will be required to maintain several servers at different locations might end up
increasing their carbon footprint.
Also, according to (Sultan 2010, Sclater 2010) the issue with security and privacy is a major
concern. Different governments have strict privacy policies and others are not so secure. The EU
(European Union) for instance has a policy that requires that personal data should not be sent
outside the EU. This may be a problem as most cloud providers have servers in countries outside
the EU (Sultan 2010). Although according to (Sclater 2010) some cloud providers like Google
claim that data belonging to EU students will comply with EU law.
Finally with several successful implementations of cloud services recorded in continents like
Europe, Asia, Africa, etc. (Sclater 2010). It is promising to say that the education system is ready
for the cloud.
2.5.2 BARRIERS AFFECTING THE ADOPTION OF CLOUD COMPUTING IN
NIGERIA’s EDUCATION SECTOR
The present economy is fuelled by ICT and this requires every sector of the world to keep up
with this current trend by either choosing to adopt it and maintain relevance in the economy or
ignore this change and fall behind. As a result it is no surprise that the education sector has
chosen to adopt ICT. According to (Tinio 2003), due to the introduction of ICT in education
sector, educational institutions can no longer be seen as a venue for transmitting information to
students but rather be seen as a venue where lifetime skills and knowledge are acquired through
continuous learning. This has led to a sector where students, teachers, researchers etc. can
remotely access resources for learning at any time and from any location (Tinio 2003).
However, all these benefits gotten from integrating ICT in education do not cover all countries in
the world. In developing countries like Nigeria or Bangladesh it is important to consider factors
such as insufficient funds, lack of ICT infrastructures, political factors, cultural factors,
corruption etc. that may have a negative impact on the introduction of ICT (Khan, Hossain et al.
2012).
The introduction of ICT into Education in Nigeria can help mitigate these factors. Cloud
computing offers scalable and low cost computing resources that could improve the quality of
Education in Nigeria. According to (Ukpe 2013) the introduction of ICT in Nigeria can have a
positive impact on the Education sector and Nigeria economy. Also (Gital, Zambuk 2011)
suggest that the adoption of cloud computing in Nigeria will be advantageous as its on-demand
and low-cost service will resonate positively in the tight budgets of universities in the country.
Covenant University is one of the many private universities in Nigeria that show a lot of promise
in ICT. With a dedicated team behind the Centre for Systems and Information Services (CSIS)
unit it is no surprise that they were awarded with the best ICT driven university of the year award
24
in West Africa by West Africa ICT Development Award (WADA). Covenant University
provides its staffs and students with the following learning resources:
• An intranet service that allows students and staffs to access data locally without having to
access the Internet.
• State of the art computing laboratories.
• Personalized emails for staff and students
• Hotspots for Internet access all around the university campus.
Although Covenant University is more ICT inclined and it would probably be easier for them to
adopt cloud services, this cannot of other institutions in Nigeria. Below is a list of barriers that
could affect the adoption of cloud computing in Nigeria’s education sector.
2.5.2.1 COST
The pay as you use model is one of the advantages of cloud computing and one that could well
work in Nigeria. The problem with cost however can be looked at from a consumer (staff or
student) perspective. Although private universities like Covenant University can boast of Internet
access for both staffs and students. The case is not the same in other institutions. According to
(Gital, Zambuk 2011) staffs and students in other universities have to pay as much as ₦150 to
₦300 per hour in cyber café’s to use the Internet. This payment does not necessarily guarantee
that the speed of this Internet would be bearable. The alternative to this is to buy a home Internet
subscription with costs reaching ₦15000 for a stable and fast connectivity (Gital, Zambuk 2011).
Also the cost of securing a fast Internet connection from an ISP is also very high. The cost of
using the Internet is enough to bar the minds of consumers with regards cloud adoption. Finally,
the Internet service provided by Covenant University comes at a cost, in order to maintain
Internet access to students there may be a rise the tuition fees.
2.5.2.2 LACK OF ICT INFRASTRUCTURES
Cloud computing is an advocate of virtualized data centres but how will cloud work without
basic ICT infrastructures in many universities in Nigeria. Covenant University may provide
standard computing laboratories to its staff and students but according to (Ukpe 2013) a survey
from 2008 to 2013 shows that there are still educational institutions without computing
laboratories or even lecture halls that have computers in them. Although (Gital, Zambuk 2011)
states that organisations such as Education Trust Fund (ETF), National Information Technology
Development Agency (NITDA) and Petroleum Technology Development Fund (PTDF) provide
ICT laboratories to some institutions but these institutions find it hard to maintain the
laboratories due to the high cost of renewing equipment or acquiring bandwidth from service
providers. The lack of basic ICT infrastructures in these institutions simply suggest that these
institutions will not be able to adopt cloud computing.
2.5.2.3 LACK OF BASIC UTILITIES
The cost of running private universities like Covenant University is always high, as a result
student school fees are also high. The reason for this is that it costs more to provide basic utilities
like water, power supply, Internet 24/7 to staff and students. This is also a different story in many
other universities as at most times the power supply is unstable (Gital, Zambuk 2011). Lack of
25
basic utilities like power supply simply means that even if Internet access was provided there
would be little or no opportunity to utilize it. Also this would result in a lot of money being spent
on acquiring generators as well as purchasing diesel or fuel required to power them (Gital,
Zambuk 2011). This would make it almost impossible to adopt cloud computing in these
institutions.
However, the government is working on various means to provide power supply to the country
and hopefully in the coming years the country will celebrate stable and uninterrupted power
supply (Thisday 2013). Also providing these basic utilities like power supply for instance can
vary in cost, the price of Diesel has been increasing with each year (BOBAI 2012). As a result of
this the tuition of Covenant University also increases per year.
2.5.2.4 GOVERNMENT
The government plays a major role in the implementation of ICT in non-private institutions and
as a result will play a major role in the adoption of cloud computing. Unfortunately this has not
been the case in Nigeria as well so other developing countries (Ukpe 2013). Corruption in
Nigeria is crippling the economy of such a great country blessed with many resources. For
instance in 2011, ₦356,498,828,145 was allocated to all non-private educational institutions with
more than 97million citizens compared to the 300 citizens of the National Assembly that was
allocated ₦300,000,000,000 (Ukpe 2013). The level of corruption in the country needed to be
addressed. This brought about the creation of the Economic and Financial Crimes Commission
(EFCC) to look into all cases of fraud and corruption in the country.
26
3. METHODOLOGY
The previous chapter looked into some of the barriers that may affect the adoption of cloud
computing in Nigeria. This chapter will try to examine the method that will be used to achieve
the technical goal of this research. This research aims to investigate the possibility of replacing
generic (traditional) computing laboratories presently used in Covenant University with a cloud
based cloud lab platform. There is no doubt that some of the more physical activities carried out
in some labs will not be catered for but this will not be the case for strictly software based
laboratories.
This section will be broken down into two parts;
1. Requirements Elicitation (Gathering).
2. Evaluation Criteria.
3. Technical Requirements and Configuration.
3.1 REQUIREMENTS ELICITATION (GATEHRING)
Requirements elicitation or gathering is a very vital aspect to be considered before building a
system. Requirements elicitation is the process of gathering requirements from stakeholders. One
of the many challenges faced by software engineers is that poorly gathered requirements will
result in failure also stakeholders cannot clearly state what they want (Sharp, Finkelstein et al.
1999). This is the reason why Software Engineers rely on some techniques that help to gather
these requirements. But before mentioning which technique is to be used it is necessary to point
out the stakeholders of this system. A stakeholder is someone who is directly or indirectly
affected by the success or failure of the system.
This research will focus on just two of the stakeholders that will be directly affected by the
success and failure of the system mostly because their input will help to build the cloud based lab
platform. They are
1. Staffs
2. Students
The other stakeholders are also affected by the success or failure of the system but are not being
considered because they do not directly use the system when compared to staffs and students.
This is also due to the fact that the requirements gathered from staff and students will help to
determine the Labs, Activities and associated Softwares to be built in the cloud.
3.1.1 METHOD OF DATA COLLECTION
Surveys were chosen because this aspect of the methodology focuses on getting quantitative data
and also because there was no need for in-depth probing of responses since the requirements
gathered will simply be used to build the system. For this research the requirements gathering
technique to be used is Survey (Questionnaire). One of the factors that have led to this choice is
the availability and location of the stakeholders. Other requirements gathering techniques like
Focus groups, Observation and Interviews require the stakeholder to be in the same geographical
location and this will not be possible because the stakeholders used in this system are in Nigeria
27
(Jil Liles 2012, Kothari 2004). Surveys seemed the most appropriate choice since they can be
delivered online to users irrespective of their location. Although surveys are best used to gather
initial responses, they are also used to gather opinions and view which is best suited for the type
of system to be built.
3.1.2 RESEARCH POPULATION
The research population consists of staffs and students from the department of Computer
Information Systems (CIS) in the College of Science and Technology (CST), Covenant
University. Knowing fully well that other colleges and departments have different labs, CST was
chosen since their labs should most likely have the most lab activities and softwares. Also CST
was chosen just for testing purposes as success in CST may result in adoption in other colleges.
3.1.3 SURVEY DESIGN AND DISTRIBUTION
One Survey was created with the sole purpose of finding out the softwares and activities carried
out during lab sessions. The Survey was piloted here in the UK at the University of Central
Lancashire (UCLan) before being deployed to Coventan University, Nigeria. The purpose of the
pilot test was;
• To determine the time taken to complete the survey.
• To determine the respondents attention and interest.
• To determine if the survey questions were easy to understand. This was due to the use of
skip questions in the survey.
After the Pilot test the questionnaire was deployed over the Internet by sending an e-mail
containing the link to the survey to the course advisor for computer science who was asked to
help distribute it to his students as well as other lecturers in the department.
3.1.4 METHOD OF DATA ANALYSIS
The collected responses were analysed using IBM’s SPSS tool. Inferential analysis also referred
to as statistical analysis was used to analyse the frequency and percentage of the data. The
ordinal data (Likert-Scale) was analysed using mean square analysis;
MS(Mean Square) = 5n5 + 4n4 +3n3 +2n2 + 1n1
(n5 + n4 +n3 + n2 + n1)
Where;
n1 = number of respondents who answered “Never”
n2 = number of respondents who answered “Rarely”
n3 = number of respondents who answered “Sometimes”
n4 = number of respondents who answered “Often”
n5 = number of respondents who answered “Always”
28
3.2 EVALUATION CRITERIA
This project aims to look for a way to improve the experience of staffs and students on a
University platform. The project aims to achieve this by evaluating cloud computing platforms
with the hopes that University officials will come to understand some of the benefits of the
“Cloud”. As a result this section aims to evaluate four different cloud platforms and will try to
select appropriate Evaluation Criteria that should be enough for a decision to be made. This
project has gone through a certain process that is aimed at avoiding some of these mistakes
people make when evaluating a product/software (Comella-Dorda, Dean et al. 2002);
• Inappropriate research on the software.
• Gathering requirements without involving the end users.
• Deciding to use a software based on facts without ever testing the software
As a way around this, the project goes through the following stages (Process), the study stage
takes place throughout the stages;
Pre-Study Planning Survey (Requirements Gathering) Hands-On
Experimentation Evaluation
It is important to note that due to the nature of the project, the Evaluation Criteria to be used will
not cover all aspects of a proper software evaluation but will be enough to achieve the projects
objective and hopefully enough to help decide which type of cloud to adopt. Also according to
(Comella-Dorda, Dean et al. 2002) for any evaluation to succeed its criteria need to be derived
by a team formed of a range of experts.
The Evaluation Criteria and sub-criteria are listed in table 1.
Table 1 : Evaluation Criteria
CRITERIA SUB-CRITERIA
Ease of Deployment • Documentation
• Installability
• Skill Level Required
Ease of Use • Management
• User Experience (Performance)
• Learnability
Features • Hypervisor Support
• Storage (Backup and Recovery)
• Flexibility and Scalability
Support and Cost • Available Support
• Equipment Cost
• People Cost
Ability to Deploy DaaS Able to deliver working lab based environment
29
3.3 TECHNICAL REQUIREMENTS AND CONFIGURATION
The main technical goal of this project is to examine the possibility of replacing traditional labs
in Covenant University with a cloud based lab alternative (DaaS). That goal will now be tested
after gathering requirements from both staff and students. All installations and configuration
were carried out on VMware Workstation software, this was because the deployment scenarios
were all test based, successful implementations will then result in tests being carried out in a real
lab based scenario. This section will examine the technical requirements and method of doing
this with the following four different cloud platforms. It is important to note that the
administrator and user represent the one user who tested and evaluated the cloud platforms.
3.3.1 OPENSTACK REQUIREMENTS AND CONFIGURATION
The Openstack installation process used for this lab was built using Ubuntu Server 12.04.3 LTS
on VMware workstation test environment. Figure 7 shows the 3-node architecture used for this
setup process.
The system specifications used for the test environment can be seen in table 2.
Table 2: System specifications used for Openstack
Server Hardware
Controller Node Processor: 64-bit x86
Memory: 1 GB RAM
Disk space: 100 GB
Network: One 1 Gbps Network Interface Card (NIC)
Network Node Processor: 64-bit x86
Memory: 1 GB RAM
Disk space: 100 GB
Network: Three 1 Gbps Network Interface Cards (NIC)
Compute Node
(Virtualization Support
was enabled for this
node)
Processor: 64-bit x86
Memory: 4 GB RAM
Disk space: 200 GB
Network: Two 1 Gbps Network Interface Cards (NIC)
30
Figure 9: Openstack 3-Node Architecture (Openstack 2014)
3.3.1.1 CONFIGURATION
The three nodes (servers) were running Ubuntu 12.04.3 and was configured using (Richard
Boswell 2013) and Openstack documented installation procedure. The controller node was used
for management, the network node was used to provide the networking between the nodes and
the compute node was used for provisioning and managing the virtual machines. One additional
virtual machine was used for the configuration;
• Ubuntu Desktop 12.04: This VM acted as a router and was used to setup DHCP. It
contained two network cards, with one connected locally and the other one connected to
the external (Internet) network and was allocated 2 GB RAM. This desktop was also used
to access the Openstack Dashboard.
The 3 nodes also received its IP address from the Ubuntu desktop unassigned pool of static
addresses.
KVM was the hypervisor used as this is Openstacks default hypervisor.
The storage capacities for the nodes were 100GB for Controller and Network node and 200GB
for the compute node.
31
3.3.1.2 USAGE
Openstack uses keystone identity service for storing users, the user data is stored using an SQL
database. One user was created for this test scenario, this was done by adding the login
credentials of this user manually. In an ideal scenario there will be a lot more users and this can
prove to be stressful for a System Administrator. The user was added using the Openstack
dashboard, it is important to note that this can also be done using CLI commands. Figure 10
shows the Openstack Dashboard.
Figure 10: Openstack Dashboard
Two images were prepared for the user;
1. A preconfigured image of Ubuntu 12.04 was provided to the user gotten from
http://cloud-images.ubuntu.com
2. The second image was a preconfigured image of Windows Server 2012 R2 Evaluation
gotten from http://www.cloudbase.it/ws2012r2/ , the image was “gunzip-ed” before
adding using glance.
This was done using Opensatcks imaging service (Glance). Openstacks documentation provides
a description for creating and uploading custom images.
The administrator logs in to an Admin tab which is where the administrator provisions quotas for
users to use. The quota given to the user is shown in table 3 and 4. This quota can be expanded
for the user.
32
Table 3: Ubuntu Server quota
Flavor m1.small
VCPU 1
RAM 2GB
Disk 20GB
Table 4: Windows Server quota
Flavor m1.medium
VCPU 2
RAM 4GB
Disk 40GB
The user logs into the Project tab and then performs the following activities;
• Create a keypair; this is used to access instance created.
• Manage firewall/security group; this is needed to allow incoming ssh, http and ICMP
traffic.
• Click on images and snapshots and then launch an instance; select the Ubuntu image,
name the instance, select keypair, flavor and security group.
• Click on instance; select created instance and locate IP.
• Click on the instance name created and navigate to Console to use start using VM;
Openstack has a console tab although u can use ssh for the Ubuntu image and remote
desktop for the Windows image. Although to do this floating IPs need to be attached to
the instance.
From the console the Windows server image was configured to act like a regular desktop with
some software installed and tested on it. The Ubuntu server image was simply configured to act
as a web server and a test website was deployed using this image. The website was deployed on
Mozilla Browser via the Ubuntu Desktop VM that was part of the test deployment. The windows
and Ubuntu test deployments were run separately due to lack of memory. Figure 9 shows the
Openstack Dashboard.
3.3.2 OPENNEBULA REQUIREMENTS AND CONFIGURATION
The Opennebula installation process used for this lab was built using Ubuntu Server 12.04.3 LTS
on VMware workstation and follows the Opennebula installation documentation. Figure 11 show
the Opennebula Dashboard.
The system specification used for the test environments can be seen in table 5.
33
Table 5: System specifications used for OpenNebula
Server Roles Recommended Hardware
Frontend role
(Virtualization Support
was enabled for this
node)
Processor: 64-bit x86 (AMD-V or VT-x enabled)
Memory: 2 GB RAM
Disk space: 100 GB
Network: One 1 Gbps Network Interface Card (NIC)
Nodes role
(Virtualization Support
was enabled for this
node)
Processor: 64-bit x86 (AMD-V or VT-x enabled)
Memory: 2 GB RAM
Disk space: 100 GB
Network: One 1 Gbps Network Interface Card (NIC)
Figure 11: Openenbula Dashboard
34
3.3.2.1 CONFIGURATION
The two nodes (servers) were running Ubuntu 12.04.3 and was configured using OpenNebula
documented Ubuntu installation procedure. One additional virtual machine was used for the
configuration;
• Ubuntu Desktop 12.04: This VM acted as a router and was used to setup DHCP. It
contained two network cards, with one connected locally and the other one connected to
the external (Internet) network and was allocated 2 GB RAM. This desktop was also used
to access the Opennebula Sunstone Dashboard.
The 2 nodes also received its IP address from the Ubuntu desktop unassigned pool of static
addresses.
KVM was the hypervisor used, this is one of the hypervisors available to OpenNebula.
The storage capacities for the nodes were 100 GB per node.
3.3.2.2 USAGE
Openstack uses core authentication (username and password) by default, it is possible to use say
x509 Auth or LDAP. After typing login details, the Opennebula Sunstone Dashboard is revealed.
For this test scenario a preconfigured Ubuntu 12.04 cloud image was downloaded from
http://cloud-images.ubuntu.com . A new user was created and the core authentication type was
chosen. As mentioned earlier it is possible to use LDAP in a situation where there are numerous
users.
A template is then created from the downloaded Ubuntu image, this is done using the following
steps;
• Navigate to Templates
• Select Create
• Under General:
 The template was named.
 1 CPU.
 512MB Memory.
• Select Storage; select the Ubuntu image here.
• Select the network.
• Select OS Booting.
• Select Input/Output; VNC.
• Select scheduling and then click create.
That template is then instantiated and when you navigate to Virtual Machines, you can view the
console through VNC. The Ubuntu server image was also tested by deploying a web server and
testing it via the Mozilla on the Ubuntu desktop VM.
35
3.3.3 AMAZON EC2 REQUIREMENTS AND CONFIGURATION
Amazon EC2’s only requirement is an Internet enabled system (PC or Laptop) with any web
browser of your choice. That being said a 100Mbs network should be sufficient for using
Amazon EC2. The system specifications used were;
• Windows OS.
• 2GB RAM.
• Chrome Web Browser.
• 100Mbps Internet speed.
Amazon EC2 is proprietary software and as a result is not open-source or free to use and
configure like Openstack for instance. An AWS account was created for my use by the university
and I was able to run the AWS Free Usage Tier. This account provided the following resources;
Elastic Compute Cloud (EC2)
• 750 hours of Amazon EC2 Linux Micro Instance usage (613 MB of memory and 32-bit
and 64-bit platform support) – enough hours to run continuously each month
• 750 hours of Amazon EC2 Microsoft Windows Server Micro Instance usage (613 MB of
memory and 32-bit and 64-bit platform support) – enough hours to run continuously each
month
• 30 GB of Amazon Elastic Block Storage, plus 2 million I/Os and 1 GB of snapshot storage
Amazon VPC (Virtual Private Network)
• Amazons VPC allow customers to run virtual networks similar to that of a datacentre.
However VPC provides an option of scalability via its Elastic IP feature and also allows
customers integrate their own datacentre networks.
Amazon EC2 provides a management console for users to manage and deploy virtual instances,
figure 12 shows amazons management console.
36
Figure 12: Amazons Management Console page
Amazon Workspaces
• Amazon workspaces allow companies to deploy a windows based cloud desktop
environment for a set monthly cost, figure 13, shows the workspace bundles and monthly
costs available to customers. Workspaces can be configured and deployed for PC, Apple
and Android tablets easily with just a few mouse clicks (Amazon 2014).
Figure 13: Amazon WorkSpace Bundles (Amazon 2014)
37
3.3.3.1 CONFIGURATION AND USAGE
Before configuring VMs in Amazon EC2 it is important to configure a few things some of which
are VPC (Virtual Private Cloud), choosing a DNS (Domain Name System) namespace etc. After
that a Windows server 2012 Standard edition VM was started and active directory configured on
it. The images available to use were limited to only to images that were “free tier eligible”, the
memory was also limited. Although the Windows server was not used for much hence did not
require a lot of performance.
One of Amazons features is the ability to deploy Windows workspaces, a feature that provides
customers with a Windows 7 desktop environment. Due to the limitations of my account I was
limited to one of the four bundles standard (the other bundles are standard plus, performance,
performance plus) available via Amazon workspaces. The standard bundle provides the
following resources;
• Windows 7 Experience,
• 1 vCPU,
• 3.75 GiB Memory,
• 50GB storage,
• And 4 applications (Internet Explorer, Firefox, 7-ZIP, Adobe Reader).
The 4 bundles however do not restrict users from installing applications. 3 standard bundles were
created all gotten from active directory and were configured to use applications derived from
responses gotten from the survey. An Ubuntu server VM was also created for use, Ubuntu
desktop installation was tried on this image but there attempts to connect to the Ubuntu desktop
via RDP was unsuccessful even after editing the security group setting. Apache 2 was eventually
installed to test as a web server but security groups needed to be configured before it could be
accessed via the public DNS of the instance
3.3.4 MICROSOFT AZURE REQUIREMENTS AND CONFIGURATION
Microsoft Azure’s only requirement is an Internet enabled system (PC or Laptop) with any web
browser of your choice. That being said a 100Mbs network should be sufficient for using
Amazon EC2. The system specifications used were;
• Windows OS.
• 2GB RAM.
• Chrome Web Browser.
• 100Mbps Internet speed.
Microsoft Azure is proprietary software and as a result is not open-source or free to use and
configure like OpenNebula for instance. A 30 day trial account was created with 190 pounds
using a Microsoft Account, there was no limit to the features that could be used as long as you
don’t exceed the 190 pounds. For this reason usage needed to be monitored properly.
38
3.3.4.1 CONFIGURATION AND USAGE
For this cloud platform 4 Windows server 2012 R2 Datacentre VMs and one Ubuntu server
12.04 VM were created. The Ubuntu server was then converted into Ubuntu Desktop following
the instruction stated in the appendix under Windows Azure. This Ubuntu server was accessed
via SSH and after changing it to Ubuntu Desktop it was accessed via remote desktop connection.
Windows Azure make it possible to adjust the endpoints (Just like setting a security group in
Amazon EC2) to allow incoming connections to the public address or cloud service. The Ubuntu
image was then added to the Windows Active directory via Likewise Open GUI and tested with
some applicaitons like KVM (the reason for installing KVM will be discussed later) and trying to
SSH into Ubuntu Server on Amazon EC2, this required my keypair from amazon.
For the windows machine one image was configured to act as the Active directory for both the
Ubuntu and the other Windows’ VMs. The other images were configured to use Windows
desktop experience, this follows the Windows Azure documentation for Desktop Hosting
Deployment Guide. This documentation can be found in the Appendix section under Windows
Azure. The three images were used to setup three labs scenarios and applications gotten from the
survey that was sent out. Figure 14 shows the Microsoft Azure Dashboard.
Figure 14: Microsoft Azure Dashboard
39
4. RESULT AND ANALYSIS
This chapter explains the result gotten from the survey and analyses the findings based on the
Evaluation Criteria set in the previous chapter. The survey was analysed using statistical analyses
of Frequency and Percentage and Mean Score analyses for the likert scale. The following
sections describes an overview of the survey methods and analyses of the result gotten from
respondents
4.1 SURVEY METHODS
The survey was developed on Microsoft word and then hosted on an online survey platform
(esurveypro) enabling respondents to gain easy access to the survey and made it easier to analyse
for the researcher. The survey questions were simple and straightforward and aimed at gathering
requirements for solving the aim and objective of the research.
4.2 RESPONDENTS PROFILE
This section provides the basic information that was gotten from the respondents. The survey
was aimed at 230 respondents and 67 responses were valid. This means that 167 did not partake
in the survey or were incomplete.
Table 6 : Number of Staff and Students Respondents
Frequency Percent
Staff 5 7.5
Student 62 92.5
Total 67 100
Figure 15: Students Level
40
Table 6 shows the amount of male and female students responses, 52 students and 5 Staffs,
Figure 15 shows Level of students that filled the survey. There were 27.42% from Year 1,
25.81% form Year 2, 20.97% from Year 3, 25.81% from Year 4 and no response from Year 5,
MSc or PhD students.
Figure 16: Staff Qualification
Figure 16 above shows the pie chart of staff respondents, there were 60% (3), 20% (1) BSc and
20% (1) PhD responses.
Figure 17: Program of Study
41
Figure 17 shows the size of respondents with regards to the number of students per program. 19
of the students’ Computer Science (Programming), this shows that computer science
(Programming) had the most respondents and Computer Science (Networking) had the least with
just 9 responses.
Table 7: Responses to “Which applications do you use in labs?”
Never Rarely Sometimes Often Always Response
Average
VMware 25(37.3%) 11(16.4%) 2(3%) 8(11.9%) 21(31.3%) 2.84
Microsoft
SQL
33(49.3%) 9(13.4%) 7(10.4%) 3(4.5%) 14(22.5%) 2.37
Netbeans 39(58.2%) 7(10.4%) 2(3.0%) 1(1.5%) 18(26.9%) 2.28
Packet Tracer 51(76.1%) 5(7.5%) 1(1.5%) 2(3.0)% 8(11.9%) 1.67
Photoshop 43(64.2%) 2(3.0%) 15(22.4%) 3(4.5%) 4(6.0%) 1.85
MySQL 24(35.8%) 2(3.0%) 8(11.9%) 4(6.0%) 29(43.3%) 3.18
Dreamweaver 36(53.7%) 7(10.4%) 0(0%) 7(10.4%) 17(25.4%) 2.43
Visual Studio 52(77.6%) 5(7.5%) 0(0%) 10(14.9%) 0(0%) 1.52
Eclipse 49(73.1%) 18(26.9)% 0(0%) 0(0%) 0(0%) 1.27
Wamp Server 39(58.2%) 4(6.0%) 0(0%) 5(7.5%) 19(28.4%) 2.42
Table 7 show the applications that are used during labs and the responses gotten from both staff
and students. Using mean score analysis the result show that MySQL and VMware are one of the
most used applications among staff and students irrespective of program and modules taught.
The result also shows that Eclipse and Packet Tracer are the least used applications.
42
Figure 18: Responses to "Which courses do you teach?"
Figure 18 shows the courses that a taught by staff members, this question was an open ended
question so the responses where summarised into Web Programming, Database, Networking and
Other categories to get the summary of the responses. The response shows 4 Web Programming
modules, 2 Database modules, 1 Networking, 1 Programming module and 0 response to “other”
modules.
Figure 19: Responses to "Which activities are carried out during lab sessions?"
43
Figure 19 shows the activities which are carried out during , this question was an open ended
question so the responses where summarised into Web Design Tasks, Database Tasks,
Networking Tasks, Programming Tasks and “Other” categories to get the summary of the
responses. Programming tasks had the highest rate with a frequency of 30 and “Other” category
with the least with tasks such as Crimpling network cable or physically connecting Routers and
server.
The analysis of the summary helped to ascertain which computing labs to build. The 3 labs
chosen were;
• Networking Lab
• Database Lab
• And Programming Lab.
Based on the applications selected these three labs were built, also Web design tasks and
Programming tasks use some of the same applications hence they were merged into one.
4.3 EVALUATION REPORT
This project aims to answer the research question; can DaaS replace traditional/conventional lab
environments? This section of the project will aim to report findings based on the Evaluation
Criteria listed in the previous chapter. This section will analyse findings on the following four
cloud platforms that have been deployed.
4.3.1 OPENSTACK
Openstack is an open source platform that has seen several releases since its inception in 2010,
(Openstack 2014). Its most recent release is the Openstack Icehouse. For this implementation
Openstack Havana was used. Openstack was evaluated using the following criteria.
4.3.1.1 EASE OF DEPLOYMENT
These criteria will explore of the following sub-criteria;
• Documentation
Openstack provides customers with proper documentation of its hardware requirements,
• Installability
The installation process is a bit technical. It is assumed and expected that the software
tester has knowledge of either Ubuntu, Cent OS etc. It is important to be experienced in
networking and virtualisation before attempting to install Openstack. Being an open
source platform other developers have looked at means of installing Openstack on
Windows.
• Skill Level Required
Openstack requires a certain level of experience, a Senior Systems (Networking and
Virtualisation) Engineer would be able to easily use cloud computing while a Junior
Linux/Unix engineer may find it a bit too technical.
4.3.1.2 EASE OF USE
These criteria will explore of the following sub-criteria;
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation
Seyi Dissertation

More Related Content

Similar to Seyi Dissertation

Web Adoption and Implementation
Web Adoption and ImplementationWeb Adoption and Implementation
Web Adoption and ImplementationAssaf Alrousan
 
The Future of Library Resource Discovery
The Future of Library Resource DiscoveryThe Future of Library Resource Discovery
The Future of Library Resource DiscoveryTed Lin (林泰宏)
 
Don't keep it under your hat: A Fez design description and case study
Don't keep it under your hat: A Fez design description and case studyDon't keep it under your hat: A Fez design description and case study
Don't keep it under your hat: A Fez design description and case studymrangryfish
 
Big data week London Big data pipelining 0.2
Big data week London  Big data pipelining 0.2Big data week London  Big data pipelining 0.2
Big data week London Big data pipelining 0.2Simon Ambridge
 
O'Reilly ebook: Operationalizing the Data Lake
O'Reilly ebook: Operationalizing the Data LakeO'Reilly ebook: Operationalizing the Data Lake
O'Reilly ebook: Operationalizing the Data LakeVasu S
 
Group charter projectcode_v1
Group charter projectcode_v1Group charter projectcode_v1
Group charter projectcode_v1caramurf
 
M.Sc Dissertation: Simple Digital Libraries
M.Sc Dissertation: Simple Digital LibrariesM.Sc Dissertation: Simple Digital Libraries
M.Sc Dissertation: Simple Digital LibrariesLighton Phiri
 
Cove: A Practical Quantum Computer Programming Framework
Cove: A Practical Quantum Computer Programming FrameworkCove: A Practical Quantum Computer Programming Framework
Cove: A Practical Quantum Computer Programming Frameworkmpurkeypile
 
CS499_JULIUS_J_FINAL_YEAR_PROJETCT_L_DRAFT
CS499_JULIUS_J_FINAL_YEAR_PROJETCT_L_DRAFTCS499_JULIUS_J_FINAL_YEAR_PROJETCT_L_DRAFT
CS499_JULIUS_J_FINAL_YEAR_PROJETCT_L_DRAFTJosephat Julius
 
LCI report-Demo
LCI report-DemoLCI report-Demo
LCI report-DemoMo Mamouei
 
Docker up & running
Docker   up & runningDocker   up & running
Docker up & runningLe Thi
 
Cloud Computing Adoption and the Impact of Information Security
Cloud Computing Adoption and the Impact of Information SecurityCloud Computing Adoption and the Impact of Information Security
Cloud Computing Adoption and the Impact of Information SecurityBelinda Edwards
 
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _PiyushMaster Arbeit_Chand _Piyush
Master Arbeit_Chand _PiyushPiyush Chand
 
Conference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and ConferenceConference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and ConferenceAEGIS-ACCESSIBLE Projects
 
Good design practice for medical devices
Good design practice for medical devicesGood design practice for medical devices
Good design practice for medical devicesJakob Nielsen
 
Life above the_service_tier_v1.1
Life above the_service_tier_v1.1Life above the_service_tier_v1.1
Life above the_service_tier_v1.1Ganesh Prasad
 

Similar to Seyi Dissertation (20)

Web Adoption and Implementation
Web Adoption and ImplementationWeb Adoption and Implementation
Web Adoption and Implementation
 
CLOUDIIUM_Final Report
CLOUDIIUM_Final ReportCLOUDIIUM_Final Report
CLOUDIIUM_Final Report
 
The Future of Library Resource Discovery
The Future of Library Resource DiscoveryThe Future of Library Resource Discovery
The Future of Library Resource Discovery
 
Don't keep it under your hat: A Fez design description and case study
Don't keep it under your hat: A Fez design description and case studyDon't keep it under your hat: A Fez design description and case study
Don't keep it under your hat: A Fez design description and case study
 
Big data week London Big data pipelining 0.2
Big data week London  Big data pipelining 0.2Big data week London  Big data pipelining 0.2
Big data week London Big data pipelining 0.2
 
Master thesis
Master thesisMaster thesis
Master thesis
 
O'Reilly ebook: Operationalizing the Data Lake
O'Reilly ebook: Operationalizing the Data LakeO'Reilly ebook: Operationalizing the Data Lake
O'Reilly ebook: Operationalizing the Data Lake
 
Group charter projectcode_v1
Group charter projectcode_v1Group charter projectcode_v1
Group charter projectcode_v1
 
M.Sc Dissertation: Simple Digital Libraries
M.Sc Dissertation: Simple Digital LibrariesM.Sc Dissertation: Simple Digital Libraries
M.Sc Dissertation: Simple Digital Libraries
 
Cove: A Practical Quantum Computer Programming Framework
Cove: A Practical Quantum Computer Programming FrameworkCove: A Practical Quantum Computer Programming Framework
Cove: A Practical Quantum Computer Programming Framework
 
CS499_JULIUS_J_FINAL_YEAR_PROJETCT_L_DRAFT
CS499_JULIUS_J_FINAL_YEAR_PROJETCT_L_DRAFTCS499_JULIUS_J_FINAL_YEAR_PROJETCT_L_DRAFT
CS499_JULIUS_J_FINAL_YEAR_PROJETCT_L_DRAFT
 
LCI report-Demo
LCI report-DemoLCI report-Demo
LCI report-Demo
 
Docker up & running
Docker   up & runningDocker   up & running
Docker up & running
 
Cloud Computing Adoption and the Impact of Information Security
Cloud Computing Adoption and the Impact of Information SecurityCloud Computing Adoption and the Impact of Information Security
Cloud Computing Adoption and the Impact of Information Security
 
Master's Thesis
Master's ThesisMaster's Thesis
Master's Thesis
 
etd
etdetd
etd
 
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _PiyushMaster Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
 
Conference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and ConferenceConference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and Conference
 
Good design practice for medical devices
Good design practice for medical devicesGood design practice for medical devices
Good design practice for medical devices
 
Life above the_service_tier_v1.1
Life above the_service_tier_v1.1Life above the_service_tier_v1.1
Life above the_service_tier_v1.1
 

Seyi Dissertation

  • 1. i AN EVALUATION OF CLOUD COMPUTING PLATFORMS AND THE POSSIBLE BARRIERS TO THE ADOPTION OF CLOUD COMPUTING IN THE NIGERIAN EDUCATION SECTOR: A STUDY OF COVENANT UNIVERSITY BY FOLA-OWOLABI OLUSEYI A DISSERTATION IN THE SCHOOL OF COMPUTING ENGINEERING AND PHYSICAL SCIENCES PRESENTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE MASTER DEGREE IN NETWORK COMPUTING AT UNIVERSITY OF CENTRAL LANCASHIRE PRESTON, UNITED KINGDOM. SUPERVISOR DR MARTIN BATEMAN
  • 2. ii ABSTRACT Cloud computing has led to the development of several types of services that is being used in various organisations. One of such services is DaaS which is now becoming as popular as SaaS, PaaS, IaaS. DaaS is a cloud platform that bring the desktop environment to its users on various platforms. It is sometimes referred to as a GUI based IaaS service. This project evaluates four cloud computing platforms to determine their ability to deliver DaaS; Openstack, OpenNebula, Amazon EC2 and Microsoft Azure. This evaluation uses certain criteria that aim to help system administrators to determine which of these cloud platforms best fit their present business architecture. These evaluation criteria will also help this research to pick a cloud platform that is suitable for DaaS.
  • 3. iii ACKNOWLEDGEMENTS I would like to acknowledge my parents Mr and Mrs Fola-Owolabi for their continuous love and support towards my career aspirations. My brother Ayodeji Fola-Owolabi and my sister Damilola Fola-Owolabi for the love and support. My colleagues Opusi Ikhobo, Amaryu Umar we started this MSc journey together and it is about to come to an end. My supervisor Dr Martin Bateman and I would like to thank University of Central Lancashire for their assistance in providing the Amazon EC2 computing time. I would also like to thank the following people who have been a source of joy and support; Dr Adebay Oladapo, Richard Boswell, Bukky Owolabi, Dimeji Owolabi. And finally I would like to return all the glory and admiration to GOD ALMIGHTY for seeing me through this dissertation.
  • 4. iv TABLE OF CONTENTS 1. INTRODUCTION.....................................................................................................................................1 2. LITREATURE REVIEW.............................................................................................................................3 2.1 INTRODUCTION.............................................................................................................................3 2.1.1 DEFINITION OF CLOUD COMPUTING....................................................................................4 2.1.2 CLOUD VS GRID COMPUTING ...............................................................................................5 2.1.3 CLOUD COMPUTING ARCHITECTURE....................................................................................5 2.1.4 CLOUD SERVICE MODELS......................................................................................................8 2.1.5 CLOUD DEPLYMENT MODELS .............................................................................................10 2.2 CLOUD PROVIDERS......................................................................................................................11 2.2.1 OPENSTACK.........................................................................................................................11 2.2.2 CLOUDSTACK.......................................................................................................................12 2.2.3 AMAZON ELASTIC COMPUTE CLOUD (EC2) ........................................................................14 2.2.4 MICROSOFT AZURE .............................................................................................................14 2.2.5 OPENNEBULA......................................................................................................................15 2.3 RELATED WORK...........................................................................................................................16 2.3.1 VIRTUALISATION .................................................................................................................16 2.3.2 VIRTUAL DESKTOP INFRASTRUCTURE (VDI)........................................................................17 2.4 ADOPTION OF CLOUD COMPUTING ...........................................................................................19 2.4.1 SECURITY.............................................................................................................................19 2.4.2 COST....................................................................................................................................20 2.4.3 PERFORMANCE ...................................................................................................................20 2.4.4 CLOUD MODEL....................................................................................................................20 2.4.5 RELIABILITY..........................................................................................................................21 2.5 EDUCATION AND CLOUD ............................................................................................................21 2.5.1 BENEFITS OF CLOUD IN EDUCATION...................................................................................21 2.5.2 BARRIER AFFECTING THE ADOPTION OF CLOUD COMPUTING IN NIGERIA’s EDUCATION SECTOR 23 3. METHODOLOGY ..................................................................................................................................26 3.1 REQUIREMENTS ELICITATION (GATEHRING) ..............................................................................26 3.1.1 METHOD OF DATA COLLECTION.........................................................................................26 3.1.2 RESEARCH POPULATION .....................................................................................................27
  • 5. v 3.1.3 SURVEY DESIGN AND DISTRIBUTION ..................................................................................27 3.1.4 METHOD OF DATA ANALYSIS ..........................................................................................27 3.2 EVALUATION CRITERIA................................................................................................................28 3.3 TECHNICAL REQUIREMENTS AND CONFIGURATION ..................................................................29 3.3.1 OPENSTACK REQUIREMENTS AND CONFIGURATION.........................................................29 3.3.2 OPENNEBULA REQUIREMENTS AND CONFIGURATION......................................................32 3.3.3 AMAZON EC2 REQUIREMENTS AND CONFIGURATION ......................................................35 3.3.4 MICROSOFT AZURE REQUIREMENTS AND CONFIGURATION .............................................37 4. RESULT AND ANALYSIS........................................................................................................................39 4.1 SURVEY METHODS ......................................................................................................................39 4.2 RESPONDENTS PROFILE ..............................................................................................................39 EVALUATION REPORT .................................................................................................................................43 OPENSTACK.................................................................................................................................................43 OPENNEBULA AMAZON EC2.......................................................................................................................45 MICROSOFT AZURE.....................................................................................................................................49 5. DISCUSSION AND RECOMMENDATION ..............................................................................................52 6. CONCLUSION.......................................................................................... Error! Bookmark not defined. Table of Figures Figure 1: The six Paradigms of Computing..................................................................................................3 Figure 2: Key aspects of a Cloud Computing System ..................................................................................4 Figure 3: Market-Oriented Cloud Architecture.............................................................................................6 Figure 4: Service-Oriented Cloud Architecture............................................................................................7 Figure 5: NIST’s Open Cloud Architecture..................................................................................................8 Figure 6: Openstack Architecture ...............................................................................................................12 Figure 7: Cloudstack Open Platform Architecture......................................................................................13 Figure 8 Opennebula Architecture..............................................................................................................16 Figure 9: Openstack 3-Node Architecture ..................................................................................................30 Figure 10: Openstack Dashboard................................................................................................................31 Figure 11: Openenbula Dashboard .............................................................................................................33 Figure 12: Amazons Management Console page........................................................................................36 Figure 13: Amazon WorkSpace Bundles....................................................................................................36 Figure 14: Microsoft Azure Dashboard ......................................................................................................38 Figure 15: Students Level...........................................................................................................................39 Figure 16: Staff Qualification .....................................................................................................................40 Figure 17: Program of Study.......................................................................................................................40 Figure 18: Responses to "Which courses do you teach?"...........................................................................42
  • 6. vi Figure 19: Responses to "Which activities are carried out during lab sessions?".......................................42 LIST OF TABLES Table 1 : Evaluation Criteria.......................................................................................................................28 Table 2: System specifications used for Openstack....................................................................................29 Table 3: Ubuntu Server quota.....................................................................................................................32 Table 4: Windows Server quota..................................................................................................................32 Table 5: System specifications used for OpenNebula.................................................................................33 Table 6 : Number of Staff and Students Respondents ................................................................................39 Table 7: Responses to “Which applications do you use in labs?” ..............................................................41 Abbreviations Description API Application Programming Interface AWS Amazon Web Service CIS Computer Information Systems CRM Customer Relationship Manager CSIS Centre for Systems and Information Services DaaS Desktop as a Service DNS Domain Name System EFCC Economic and Financial Times Commission ETF Education Trust Fund EU European Union GB Gigabyte GBPS Gigabyte per second GNU GNU’s Not Unix IaaS Infrastructure as a Service IBM International Business Machines ICT Information and Communication Technology IP Internet Protocol IT Information Technology KVM Kernel-Based Virtual Machine LTS Long Term Support NIC Network Interface Card NIST National Institute of Standards and Technology NITDA National Information Technology Development Agency PaaS Platform as a Service PC Personal Computer PTDF Petroleum Development Trust Fund QoS Quality Of Service RAM Random Access Memory
  • 7. vii RDP Remote Desktop Protocol SaaS Software as a Service SaaS Storage as a Service SAN Storage Area Network SAS Serial Attached SCSI SATA Serial ATA SDK Software Development Kit SLA Service Level Agreement SSD Solid-State Drive SSH Secure Shell TB Terabyte URL Uniform Resource Locator USB Universal Serial Bus VCL Virtual Computing Laboratory VDD Virtual Distro Desktop VDI Virtual Desktop Infrastructure VM Virtual Machine VPN Virtual Private Network WADA West Africa ICT Development Award XaaS Anything as a Service
  • 8. 1 1. INTRODUCTION One of the goals of the Education sector is its contribution to developing students who will transform the society and the global economy. A step taken towards reaching this goal is the adoption of Information Technology. For Educational institutions to meet their business requirements, ensure efficient service delivery and its teaching-learning objectives, they have to become highly dependent on Information Communication Technology (ICT). In the 21st Century, developed countries deliver Educational resources via ICT and the Internet and this is considered mainstream. However, in developing countries many Educational Institutions lack the basic ICT infrastructures that will help to deliver these resources. With most information sources and applications now being accessed mainly through the Internet, staffs and students in these countries will be unable to keep up with IT trends. This will affect students when they enter the global workforce and do not understand the value of new technologies. One of such new technologies which strives to deliver computing services over the internet is Cloud computing. The Cloud computing platform is a trend that is now being accepted and adopted in various sectors and Education is not left out in this move of this move. Cloud computing aims to reduce costs, provide accessibility and flexibility by delivering IT resources over the Internet rather than hosting these resources locally. Cloud computing offers SaaS, PaaS and IaaS service models on a pay as you go and subscription based platform to customers. Further researches in Cloud computing have led to several other service models like DaaS (Desktop as a Service), StaaS (Storage as a service) etc. which upon adoption will aim to improve the on IT infrastructure in Education. 1.1 PROBLEM STATEMENT Cloud computing is of great importance to organisations due to its computational and costs promises, as a result it is no surprise that it is one of the most trending computing technology since its inception in 2008. With more Educational institutions adopting cloud computing in developed countries and less research in its adoption in a developing country like Nigeria. There is need to evaluate some cloud platforms for the Nigerian Education sector to understand its benefits. The cloud deployments in developed countries these days are also limited mostly to PaaS, SaaS and IaaS with little research into services like DaaS. DaaS offers the combined services of PaaS, SaaS and IaaS combined and all of this is done in a familiar desktop environment. DaaS will be great in a University setting as students from different departments or colleges will be able to use this service as they wish and within the policies and permissions allowed by the University. DaaS will also help students to gain access to computing labs from any location and at any time. This global remote access to resources will for example, help students to continue some lab activities that could not be finished during lab sessions at their spare time. As a result this research will attempt to answer the question; “Can DaaS services replace conventional/traditional computing lab environment?” This research will also look to answer the following sub-research questions;
  • 9. 2 • What are the benefits of Cloud computing in Education? • What are the factors to consider before adopting Cloud computing? • What are the barriers to the adoption of cloud adoption in the Nigerian Education Sector? 1.2 AIM AND OBJECTIVES The aim of this project is to evaluate different cloud platforms and determine the possibility of adopting DaaS in Covenant University. This research will also aim to achieve the following objectives; • To explore the factors to be considered before adopting Cloud computing. • To explore the barriers affecting the implementation Cloud computing in the Nigerian Education Sector. • To explore the benefits of adopting Cloud computing Education. • To test several Cloud computing platforms. • To gather requirements for lab environments from stakeholders identified for the project. 1.3 APPROACH The approach taken for this project is to test 4 different cloud platforms. Microsoft Azure, Amazon EC2, Openstack and OpenNebula will be installed and configured, used and then tested against certain evaluation criteria. The four cloud platforms will be tested against the lab requirements gotten from the survey. The aim of this approach is to provide an analysis of the four platforms that will provide necessary information to help in the decision to adopt the DaaS service. 1.4 STRUCTURE This chapter provides an introduction to the work and the remaining chapters in this project are as follows • Chapter 2 is the Literature Review • Chapter 3 is the Methodology • Chapter 4 is the Result and Analysis • Chapter 5 is the Discussion and Recommendation • Chapter 6 is the Conclusion
  • 10. 3 2. LITREATURE REVIEW 2.1 INTRODUCTION Today, with every organisation relying on some form of Information Technology (IT) to achieve its business goals, a lot of research has been put into finding different means of reducing the effort, cost and resources required for implementing IT and improving economic growth. With years of research in Grid Computing, Virtualisation, Distributed Computing, etc. (Foster, Kesselman 2003, A Vouk 2008, IBM 2006). These researches have led to the introduction of cloud computing, a term coined when IBM and Google announced a collaboration in that domain (A Vouk 2008, Farber 2012). According to (Voas, Zhang 2009, Singh, Hemalatha 2012) computing has undergone six different paradigm changes. In MIT’s 1961 centennial ceremony, MIT’s Professor John McCarthy in a speech mentioned for the first time the concept of Computing as a utility. He said “Computing may someday be organized as a public utility just as the telephone system is a public utility…. The computer utility could become the basis of a new and important industry.”(Kleinrock 2005). This evolution began with Mainframe Computing, and moved on to PC Computing, Network Computing, Internet Computing, Grid Computing and today we have Cloud Computing, (Singh, Hemalatha 2012, Voas, Zhang 2009). Figure 2 shows the six stages in the evolution of Computing. Figure 1: The six Paradigms of Computing (Singh, Hemalatha 2012).
  • 11. 4 2.1.1 DEFINITION OF CLOUD COMPUTING The term Cloud Computing is relatively new, but the concept behind it has already existed through the use of various borrowed concepts and terms gotten from previous computing paradigms. As a result, different researchers have different definitions for the term cloud computing. Figure 1 shows the main aspects of a cloud system. Figure 2: Key aspects of a Cloud Computing System (Bhat, Shah et al. 2010). Although there are many definitions of cloud computing, the National Institutes of Standards and Technology’s (NIST) definition is the most popular and generally accepted by many researchers (Bhat, Shah et al. 2010, Conboy 2013, Hashemi, Bardsiri 2009, Zhang, Cheng et al. 2010). This is due to the fact that NIST’s definition covers most of the essential characteristics that has made Cloud Computing appealing to various organisations, “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable resources (e.g., networks, servers, storage, applications and services) that can be rapidly provision and released with minimal management effort or service provider interactions.”, (Mell, Grance 2009). This definition consists of the following essential characteristics; • Rapid Elasticity. • Resource Pooling. • On-demand self-service.
  • 12. 5 • Measured Service. • Broad network access. Although NIST’s definition of cloud computing is generally accepted, some authors disagree with the essential characteristics (de Haaff 2008, Geelan 2009, Vaquero, Rodero-Merino et al. 2008), stating that this definition is not complete because the business perspective need to be considered as well (for example, pay as you go and cost reduction on available IT expenditure). However, there is another definition of cloud computing that aims to cover all aspects of the infrastructure. According to (Vaquero, Rodero-Merino et al. 2008), “Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically reconfigured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-per-use model in which guarantees are offered by the infrastructure provider by means of customized SLAs.” 2.1.2 CLOUD VS GRID COMPUTING The concept behind Cloud Computing is often confused with Grid Computing (Bégin, Jones et al. 2008, Jha, Merzky et al. 2009). According to (Vaquero, Rodero-Merino et al. 2008), this is due to the fact that they share some essential characteristics for example; both computing models minimize cost or the fact that both models’ increases flexibility. One of the major factors that separate Grid Computing from Cloud Computing is that with clouds the service is available all the time, i.e. in real time (Hashemi, Bardsiri 2009), and with Grid Computing service needs to be scheduled. Also (Hashemi, Bardsiri 2009) see the future of Grid Computing to be Cloud Computing while the future of Cloud Computing is the next generation of the Internet. Although (Buyya, Yeo et al. 2008) suggests that Grid Computing will be the next big thing after the Internet and the web. 2.1.3 CLOUD COMPUTING ARCHITECTURE Cloud Computing aims to reduce the cost of having and maintaining IT infrastructure and services as well as reduce the significant workload on local computers within an organisation. But what components make up the cloud computing architecture? Like most IT platforms the cloud architecture is made up of a front end (this is the side the users and consumers see) and the back end platform which is seen as the cloud itself (this is storage, service and infrastructure).The front end platform requires just a computer that has access to the Internet, while the back end is generally made up of different parts that actually make up the cloud. Although this architecture is a breakdown of the aspects that make up the cloud, certain authors think that cloud architectures should be based on different consumer needs (Kumar, Singh et al. 2012, Buyya, Yeo et al. 2008, Vitek, Morris 2011). With every major cloud provider having an almost similar architecture, (Buyya, Yeo et al. 2008) suggests that cloud architecture should be market-oriented while (Vitek, Morris 2011) suggests that it should be service-oriented.
  • 13. 6 2.1.3.1 MARKET-ORIENTED CLOUD ARCHITECTURE According to (Buyya, Yeo et al. 2008), the market oriented architecture is aimed at providing incentive for cloud users and providers by regulating the demand and supply of cloud resources and promotion of QoS (Quality of Service) based resource allocation, figure 3 shows the market- oriented cloud architecture. The authors also state that the following QoS parameters are critical in a market-oriented architecture (Buyya, Yeo et al. 2008); • Time • Reliability • Security/Trust • And in some cases Cost. Figure 3: Market-Oriented Cloud Architecture (Buyya et al, 2008). 2.1.3.2 SERVICE-ORIENTED CLOUD ARCHITECTURE (Tsai, Sun et al. 2010, Vitek, Morris 2011) suggests that market oriented architecture as well as other cloud architecture lack Service Level Agreement (SLA) support as well as multi-tenancy which simply refers to having different clouds implement uniform standards so that interoperability can be achieved, figure 4 shows the service-oriented cloud architecture.
  • 14. 7 According to (Tsai, Sun et al. 2010), Service-Oriented Architecture is aimed at achieving a cross-platform of several clouds and as a result will be broken down into independent services such as; • Storage Service • Computing Service • Communication Service. Figure 4: Service-Oriented Cloud Architecture (Tsai et al, 2010). However, NIST’s open cloud architecture is the most widely used as it breaks down the cloud components into the following (Mell, Grance 2009); • Essential Characteristics • Service Models • Deployment Models.
  • 15. 8 Figure 5 shows a breakdown of NIST’s open cloud architecture. Figure 5: NIST’s Open Cloud Architecture (Mell, Grance 2009) 2.1.4 CLOUD SERVICE MODELS The service models provide options to users on the type of cloud service that they may choose to deploy. 2.1.4.1 Software As A Service (SaaS) The software as a service model allows users to use applications over the Internet without having to worry about installing and maintaining the software (Vaquero, Rodero-Merino et al. 2008). With SaaS, it is the responsibility of the provider to maintain all aspects of the software including installation, backup and recovery. SaaS providers have a list of applications that is offered on an agreed subscription plan with the client, this can be daily, monthly, or based on the number of users using the software. With SaaS consumers are never bothered with what it happening behind the scenes, all that matters is that the software is available to them when needed. This way Universities for instance, are able to focus on productivity as well as reduce the cost of installing software, hardware or the cost of acquiring more manpower to manage these softwares. Example of SaaS providers are Salesforce, Google Apps and Microsoft Office 365. 2.1.4.2 Platform As A Service (PaaS) Platform as a Service is best explained by referring to computing platforms which typically included a database, web servers, operating systems, programming language execution environment, etc. PaaS is used to replace all these platforms and the staff needed to maintain them by providing it to developers and researchers who only require an Internet enabled system
  • 16. 9 to access them (Sultan 2010). PaaS help developers to quickly deploy web or server side applications without having to worry about acquiring, managing and hosting the physical hardware running these services. PaaS also helps developers by ensuring the smooth flow of the software development lifecycle process (Sultan 2010). The downside with PaaS is that patch management and updates can only be provided by the cloud provider, this can take some time as the PaaS provider may want to test updates or patches first in a test environment before deploying them. Example of PaaS providers are AWS Elastic Beanstalk, Heroku, Google App Engine. 2.1.4.3 Infrastructure As A Service (IaaS) Infrastructure as a service is a service model where the company/organisation outsources the equipment that supports operations such as storage, servers, networking etc. It is the responsibility of the cloud provider to house many pieces of equipment as well as run and maintain them (Sultan 2010). IaaS offers the most flexibility and control as users are allowed install services, updates, patches and software based on specific needs. IaaS offers operating systems (OS) as a virtual machine that enables customers to deploy software and resources as efficiently and effectively and with as much flexibility as they would like. However, flexibility comes with a price as organisations are now responsible for applying updates and patches (Murphy, Abraham et al. 2010). Example of IaaS providers include Openstack, Opennebula, Cloudstack etc. Anything As A Service (XaaS) is a fairly new trend that suggests that any service being provided over the Internet rather than locally or on-site (Schaffer 2009). A few of them will be covered next. 2.1.4.4 Desktop As A Service (DaaS) The Desktop as a Service model is often referred to as VDI (Virtual Desktop Infrastructure). The only slight difference between them is that VDI is hosted locally and DaaS is hosted on the clouds. DaaS is basically a service in which the back-end of VDI is being managed and hosted by a cloud provider (Dasilva, Liu et al. 2012). DaaS offers customers a virtual desktop based experience and all it requires is a PC or thin client to run this service (Dasilva, Liu et al. 2012). Also with DaaS users can access these desktops from any location. However, it is up to the organisation to ensure business policies are maintained on these virtual desktops. The issue of security is also up to the customer to perform except it has been arranged to be provided by the cloud provider. DaaS providers include Amazon, VMware etc. 2.1.4.5 Storage As A Service (StaaS) Storage as a Service model is a business model where small or individual companies rent data storage allocations from large companies or StaaS providers. Cloud platform offers data storage as one of its many features. StaaS offers small companies a cost effective approach to data storage (Wu, Ping et al. 2010). Also with StaaS customers need not worry about backup and recovery of data in case there is a disaster. This service is not limited to companies alone, but to anyone who wishes to store information within the cloud. Students for instance, can make good
  • 17. 10 use of StaaS services to have backups of assignments, lecture notes, etc. in the cloud in the event they lose their storage devices. Examples of StaaS providers include Google, Dropbox etc. 2.1.5 CLOUD DEPLYMENT MODELS There are four cloud deployment modes in NIST’s open cloud architecture, this classification is based on different factors. According to (Bardin, Callas et al. 2009) there are four factors that determine which deployment model is chosen and why. The factors are; 1. Location of the cloud infrastructure. 2. Users or organisations that have access to the cloud services. 3. The owner of the cloud infrastructure. 4. The organisation or cloud provider in charge of managing the cloud infrastructure. Also (Ahronovitz, Amrhein et al. 2010) suggests that each deployment model is used for different situations or specific needs. The deployment models available are public, private, hybrid, and community (Mell, Grance 2009). 2.1.5.1 PUBLIC CLOUDS A public cloud is a deployment model where the infrastructure belongs to a cloud provider. It is now up to the cloud provider to set a cost and offer the cloud as a utility where users or organisations pay based on how often the cloud is used (Fox, Griffith et al. 2009). One of the benefits of having a public cloud is that the risk of maintaining IT infrastructures is placed on the cloud provider. However, this leaves clients on edge as relying totally on public clouds allow for a single point of failure (Fox, Griffith et al. 2009). 2.1.5.2 PRIVATE CLOUDS A private cloud is a proprietary data centre that uses cloud computing services which operates dedicatedly for a single organisation (Fox, Griffith et al. 2009). The datacentre can be kept on site or offsite and this is usually controlled by the organisation or an appointed service provider (Bardin, Callas et al. 2009). Also public clients do not have access to private clouds just as private clients do not have access to public clouds except it is a hybrid cloud (Shimba 2010). 2.1.5.3 HYBRID CLOUDS A hybrid cloud is a cloud that has the combined benefits of a public and private cloud (Mell, Grance 2009).This can be a company that runs an in-house cloud infrastructure and also uses cloud resources provided externally (public clouds). A likely scenario where hybrid clouds are used will be, say at certain periods when the level of resources an organisation uses depletes the performance of the available IT services. At this point, such organisations can simply acquire extra capacity from elsewhere (public cloud provider). This way the organisation can achieve its daily business goals and also gain the advantage of better economics (Subramanian 2011). 2.1.5.4 COMMUNITY CLOUDS Community clouds like hybrid clouds enjoy the shared benefits of public and private clouds. The difference between them is that community clouds are shared between groups/clients with the same computing needs (Marinos, Briscoe 2009). An example would be universities within the same geographical location sharing a cloud infrastructure. Community clouds like public clouds
  • 18. 11 offer a billing structure and like private clouds have the added level of security and privacy (Marinos, Briscoe 2009). 2.2 CLOUD PROVIDERS Cloud computing provides several platforms for users to choose from, the choice of picking a cloud provider is a factor that has to be evaluated properly before moving enterprise applications to the cloud. Factors such as availability, support etc. comes to mind and seeing as cloud providers cannot guarantee all of these factors companies have to decide whether security and availability is more important than support. The next sections examine some of the available cloud platforms from the perspective of its benefits and drawback. 2.2.1 OPENSTACK Openstack is a free and open source software that aims to provide public and private cloud deployments (Openstack 2014). Openstack allows businesses to build their own datacentres by using the IaaS service model to create large groups of virtual private servers in a cloud computing environment. Openstack is one of the open-source cloud providers that is available under the Apache 2.0 license and is written in python and provides public and private IaaS services (Openstack 2014). Figure 6, shows the Openstack Architecture. Openstack functions using the following components (Openstack 2014); • Openstack Compute (Nova) The Openstack Compute component is the interface used to control the hypervisor virtualisation. KVM, VMware ESXi, Xen, Hyper-V, LXC, QEMU, UML, Xen, XenServer are supported by Nova. • Openstack Object Storage (Swift) The Openstack Object storage is used to provide reliable and secure storage, it also supports Block Storage (Cinder). It supports other server storage platforms such as NetApp, Nexenta, SolidFire, Ceph, Zadara. • Openstack Networking (Neutron) Neutron is used to provide internal and internal networking (VPN), it is used to provision static or DHCP, VLANs, Floating IPs. • Openstack Dashboard (Horizon) This gives administrators and users a GUI web platform for managing, controlling and provisioning cloud resources • Identity (Keystone) Keystone is used for authenticating and authorising Openstack services. • Image Service (Glance) Glance is used to manage and catalogue server images.
  • 19. 12 Figure 6: Openstack Architecture (Openstack 2014) Openstack is widely used today due to the following benefits (Openstack 2014): • It is simple to integrate. • It can be upgraded easily. • It provides the option of having a private and public cloud. • It has unlimited storage (as much as you can afford). • It provides IaaS service for businesses to have own datacentres. • Availability (anytime, anywhere through a web browser). • Efficient virtual machine (VM) deployments using pre-defined templates. The merits of Openstack are very appealing but this does not mean there are no negative aspects to Openstack. The drawbacks are (Openstack 2014): • E-mails and chats are the only means of providing technical support • Uploads are time consuming. • The software is constantly being updated, it is the responsibility of the user to keep it up to date. • There is no billing and monitoring system available yet. 2.2.2 CLOUDSTACK Cloudstack is an open source software that was bought by Citrix in 2012 and donated to the Apache Software Foundation (Cloudstack 2014). Cloud stack aims to deploy IaaS service models that are aimed at creating, managing and deploying public or private clouds (Cloudstack 2014). Cloudstack is another open source platform that uses Apache 2.0 Licence and is written in Java, Tomcat6, Axis2, Maven build + ant (Cloudstack 2014). Cloudstack offers a unique open architecture to suit client needs, Figure 7 shows the open architecture.
  • 20. 13 Figure 7: Cloudstack Open Platform Architecture Cloudstack functions using the following components; • Compute Node This node handles the hypervisors, Cloudstack supports XenServer, VMware, Oracle KVM, KVM and Bare metal Hypervisors. • Storage Node CLoudstack provides customers with the choice of Block and Obkect Storage, some of the available choices are Local Disk, iSCSi, Swift, etc. • Network Node Some features of the Cloudstack compute architecture include; load balancing, controlling traffic using firewall rules, using VPN to connect to corporate networks etc. • Cloudstack GUI (Graphical User Interface) Cloud stack provides a dashboard to customers to help with provisioning and managing cloud resources. Some of the benefits of Cloudstack are (Cloudstack 2014): • User interface option for cloud management. • Secure cloud deployments. • Multiple storage solutions. • Able to provide real time usage reports. • Efficient virtual machine (VM) deployments using pre-defined templates.
  • 21. 14 2.2.3 AMAZON ELASTIC COMPUTE CLOUD (EC2) Amazon EC2 is part of Amazon’s cloud computing platform. EC2 is a web-based service that allows organisations to run application programs on Amazons public cloud environment. Clients are allowed to rent virtual machines which are used to run the applications (Amazon 2014), clients only pay for active servers by the hour. Amazon EC2 is Amazon’s cloud computing platform. Amazon EC2 provides a web service where users can rent virtual machines that allow them to run computer applications. EC2 offers Linux, FreeBSD and Microsoft Windows instances to users. EC2 enables users to get started in minutes and grants access to SDKs (Software Development Kit), APIs (Application Programming Interface) and other development tools that will help kick-start migration into the cloud (Amazon 2014). Amazon offers the following cloud features via its web service; • Compute and Networking This includes VPC (Virtual Private Cloud), EC2 (Virtual Servers in the cloud), Workspaces etc. • Storage and Content Delivery This includes S3 (Scalable Cloud Storage) etc. • Database This includes RDS Managed (Relational Database Service) etc. • Deployment and Management This includes CloudFormation (Templated AWS Resource Creation) etc. • Analytics This includes Elastic MapReduce (Managed Hadoop Framework) etc. • App Services This includes SES (Email Sending Service), SNS (Push Notification Service) etc. The benefits of Amazon EC2 are (Amazon 2014): • Able to adopt industry strict policies. • Elastic web-scale computing. • Complete control of instance. • It is cost-effective: pay for what you use. • Flexibility. 2.2.4 MICROSOFT AZURE Microsoft Azure is Microsoft’s cloud computing platform. Microsoft Azure offers a public cloud platform that enables clients to quickly build, deploy and manage applications. Microsoft offers an open platform that allows clients to build applications using any tool, framework or language. Microsoft Azure offers both IaaS and PaaS models to clients (Microsoft 2014). Microsoft Azure provides the following features, it is however not limited to these; • Quick and easy website deployment. • Virtual Machines. • Mobile Services.
  • 22. 15 • Cloud Service; this is used to create and manage cloud service. • Storage. • Active Directory; you can also deploy your own windows server and configure active directory or use your corporate active directory. Some of the benefits of Microsoft Azure are (Microsoft 2014): • Faster time to market due to a variety of tools, frameworks and languages to work with. • Flexibility: Applications can be deployed quickly, this means more functionality can be added to applications without any downtime. • Reduced Costs: Clients only pay for what they use, this is a good benefit that will profit small businesses just starting up. • Scalability: An increase in usage of applications will not have to affect performance, the client can simply add extra capacity at peak periods. Microsoft Azure has suffered a few setbacks in their movement into the cloud. In October 2013, Microsoft Azure had an issue with its management feature that lasted about 17hours (Mikael Ricknäs 2013). Also in February 2013, Microsoft Azure’s storage service went down locking out corporate customers (Redmond Wash 2013). 2.2.5 OPENNEBULA OpenNebula is an open-source platform that can use KVM, Xen or VMware hypervisor to oversee management of private, public or hybrid clouds. OpenNebula provides IaaS services and is written in Java,Ruby and C as well as being available under the Apache 2.0 license (Opennebula 2014). Figure 8 is an overview of the OpenNebula architecture. OpenNebula functions using the following components; • OpenNebula Frontend This grants access to the OpenNebula Dashboard. It is also used for authentication, configuring ACL (Access Control List), allocating resource quotas etc. • Datastores (SAN/SAS) This component grants customers access to some OpenNebula data store features such as VM image storage, use of multiple data stores, heterogeneous configurations, etc. • Hypervisor-Enabled Hosts OpenNebula supports automatic failover and multiple hypervisors like VMware or KVM etc.
  • 23. 16 • Service Networks This component grants the frontend access to the datastores, hosts and helps to monitor and control resources. This is also the component used for live migration. Figure 8 Opennebula Architecture 2.3 RELATED WORK There is very little research looking into replacing traditional labs in Universities with a cloud based lab. A few researchers looked into using cloud services like Google Apps (Education Edition) or Microsoft Live @Edu (Sclater 2010, Sultan 2010). One research area that is similar to that of this research is using Virtual Desktop Infrastructure (VDI). But it is necessary to introduce Virtualisation first since VDI and Cloud computing uses Virtualisation technology. 2.3.1 VIRTUALISATION Virtualisation is a technology that dates back to the 1960s, it was a concepts started by IBM and Goldberg (Dobrilovic, Stojanov 2006). According to (Dobrilovic, Stojanov 2006) the technology was welcomed due to the high costs of computing hardware back then. Virtualisation allow interactive and multiple access to the virtual machines (VM) which resides on a physical hardware (Sugerman, Venkitachalam et al. 2001). According to (Sugerman, Venkitachalam et al. 2001) IBM describes virtual machines as a copy of a physical machine that has being isolated from the hardware. (Sugerman, Venkitachalam et al. 2001) also states that Virtualisation primarily aims to reduce energy consumption, increase hardware utilisation as well as reduce costs and simplify system management. It is for these reasons that Virtualisation was adopted and improved overtime, and its use has spread to various sectors one of which is Education. The adoption of Virtualisation in the Education sector is unavoidable, many Universities today house thousands of students and one of the means to save on cost of Computing Equipment and easily manage that much users is through virtualisation. Virtualisation has been used in the Educational sector for various purposes; either to teach or help system administrators with system management. (Shri, Subha 2013, Dobrilovic, Stojanov 2006) also state that Virtualisation helps in increasing system performance as well as reduce cost of maintaining the system.
  • 24. 17 Virtualisation has led to the rise of several technologies, one of which is VDI. Virtualisation is the core of the VDI platform (Miller, Pegah 2007). 2.3.2 VIRTUAL DESKTOP INFRASTRUCTURE (VDI) Technology has continued to evolve rapidly over the years that most organisations now implement a technology-oriented business model. One of such changes is the introduction of Virtualization (Barham, Dragovic et al. 2003). Overtime different advancements in virtualization have led to the introduction of Virtual Desktop Infrastructure (VDI) also known as Desktop as a Service (DaaS) (Frank Noone 2013). VDI promises businesses a low cost and efficient approach to manage IT infrastructure (David Frankk 2013). According to (Savill 2010), the average user desktop environment is can be categorised into 3 layers; • OS (Operating System) Layer, • Application Layer and, • Data Layer. (Savill 2010) states that having these three layers in one hardware can lead to some problems; for instance, a failure in the operating system can lead to a situation where re-installing the OS might be the only solution, or having data on the local system can lead to accidental deletion. The solution to this problem is to virtualise each of the layers using VDI (Savill 2010). VDI allows users to have access to each layer from any location with their OS, data and application intact while simulating a full desktop experience. VDI is a technology that uses virtualization to separate the desktop environment from the physical hardware that it’s running on. By doing this the installation of the operating system is not on the physical hardware, but stored elsewhere on a server. The user, however still needs a physical a physical workstation to access this service. Using Remote Display Protocol (RDP) users are able to access VDI through a PC or thin client. Some of the benefits of using VDI include (David Frankk 2013): • Reduction in administrative and support cost due to users using the same image (instance). • Users can access desktops from any location and at any time, locations outside of the organisations network will be accessed through a VPN (Virtual Private Network). • By having a central point of administration, VDI provides reliability and security. • Central point of administration also gives total control over systems. • VDI provides real OS experience, this way employees still feel comfortable working in a familiar environment. VDI is not without its drawbacks, some of these are (Frank Noone 2013): • VDI requires constant access to the network to work, if there is no connectivity in a single department productivity will drop.
  • 25. 18 • VDI allows for a single point of failure. Any outage in the server means that all users using VDI will be affected. • Some users will need different environment (instances), for instance applications used by the accounting department will be different from the database department. This will require more space and might drop performance hence there will be a need to acquire better equipment which will eventually increase cost. VDI might not be the best option for a growing business because it might cost more to acquire high performance servers, networking equipment etc. when compared to the amount of systems allocated to each user. This will not be the case with Educational Institutions with thousands of students/staffs as VDI adoption will most likely help reduce IT costs. (Morimoto 2010) investigates using Citrix and Microsoft Hyper-V for VDI deployment. With Hyper-V users gain access to virtual guest sessions (running a windows copy of Windows XP or 7) running on the Hyper-V server. Users can gain access using a PC or dumb terminal and login via a website URL. One major drawback with this system with this system is that for every user a session has to be created (Morimoto 2010, Petrović, Fertalj 2009). This means that if for instance a university department has 500 students then there will be 500 sessions running on the Hyper-V server. This will require a few servers and if scaled to the entire University, it might end up costing the university more to provide IT services. This is also going to be very demanding and tedious on the system administrator(s) who is responsible for applying patches, updates and maintaining each session. However, (Morimoto 2010) provides a solution which is to use Citrix platform for VDI. Citrix uses just one image on the host server and many users can have access to this image (Petrović, Fertalj 2009). Each user having a separate (unique) profile whenever the image is accessed. According to (Morimoto 2010) one 64 GB server can server u to 250 users at once, as a result this will help to reduce overall costs. Another research looks into using the VMware platform and thin clients to reduce power consumption and cost. The thin client was benchmarked against desktop PCs to determine which system used the most power (Dasilva, Liu et al. 2012). The outcome of the research was that with thin client and VDI, resource is utilized by reducing costs generated from power consumption while maintaining the quality of service for end users. (Cristofaro, Bertini et al. 2010) also supports the use of thin clients with VDI but propose a light- weight solution called VDD (Virtual Distro Dispatcher). Their research shows that VDD maintains optimum performance levels while helping to reduce operational costs due to low power consumption. However, (Cristofaro, Bertini et al. 2010) states a high level of experience in using GNU (GNU’s Not Unix)/Linux is required to setup VDD. (Shri, Subha 2013) research on implementing private clouds in Education highlights some of the benefits of Cloud computing. (Shri, Subha 2013) looks into implementing an e-learning system
  • 26. 19 by using an open source platform such as Eucalyptus. This research outlines some benefits like backup and storage, flexibility, ability to access e-learning platforms from any location, etc. and states that Educational Institutions should consider adopting Cloud computing. (Shri, Subha 2013) also states that this move will help students to experience a diversified and rich learning environment. Another research by (Kibe, Koyama et al. 2012) investigates the performance of DaaS in Education using Eucalyptus. The research looks into two approaches; the first one being a single user DaaS and the second approach a multi user DaaS. The research carried out using Cent OS discovers that the single user DaaS maintains its performance and the quality of service while the multi user DaaS drops in performance and QoS as the amount of simultaneous users increases. This paper concludes that by increasing the efficiency of the multi user DaaS, costs will be minimal and help the adoption of clouds in the Education Sector. In conclusion, (A Vouk 2008) looks at the Virtual Computing Laboratory (VCL) implementation that is being used in North Carolina State University.VCL offers SaaS, PaaS and IaaS cloud services to students and staffs. This service currently serves about 30,000 staffs and students who currently use it but it can only be accessed on-demand (A Vouk 2008). This research shows that there are some universities already adopting cloud and enjoying the benefits associated with it. 2.4 ADOPTION OF CLOUD COMPUTING The adoption of cloud computing can be looked at from different angles in today’s economy. It can be viewed from either an IT, economic or consumer perspective among others. According to (Fellows 2008) the level of maturity of the organisation should be a major factor when the decision has been made to adopt cloud computing. However, (Khajeh-Hosseini, Greenwood et al. 2010) argues that the organisation has to go about that decision by critically analysing factors such as the effects cloud will have on the organisation, drawbacks, benefits and risks. The following factors need to be considered before the adoption of cloud computing, this is based on researchers in this area. 2.4.1 SECURITY According to (Benlian, Hess 2011) security is a very principal factor influencing executives’ decision when considering the adoption of cloud. This is because majority of the data no longer resides with the organisation’s storage equipment. These findings look into SaaS adopters and non-SaaS adopters. By adopting cloud platforms in organisation, executives give the cloud providers the control over the security of their data, this control requires a certain level of trust (Benlian, Hess 2011). However (Benlian, Hess 2011) suggests that Service-Level Agreements (SLA) contracts with well-defined security conditions will partly solve this issue. (Marston, Li et al. 2011) also supports the idea that security is the primary concern of executives. However, (Kim, Kim et al. 2009) argues that security of computer systems can be enhanced when hosted in the clouds, this is due to the fact that there will be experts dedicated to keeping data safe and secure. (Kim, Kim et al. 2009) also stated that no system can boast of 100% security as hackers will always find new ways of hacking into the system. (Kim, Kim et al. 2009) also states that it is the same security used by organisation that cloud providers will use.
  • 27. 20 In conclusion, the security concern plays and important role in the decision to adopt cloud, this is the reason why banks, hospitals and governments avoid adopting clouds (Kim, Kim et al. 2009, Benlian, Hess 2011, Subashini, Kavitha 2011). 2.4.2 COST Cost is another key factor to consider before adopting cloud, (Benlian, Hess 2011) suggests that IT executives take advantage of low costs as the major driver for adopting SaaS. (Marston, Li et al. 2011) supports this idea stating that adoption of cloud leads to a 5-7% reduction of computing costs. (Marston, Li et al. 2011) further states that most times only 10% of servers are actually utilized, why then do organisations spend money to buy expensive servers and other IT equipment. This equipment also have to be replaced from time to time as well as requiring maintenance and administration which only ends up increasing the total cost of computing. (Marston, Li et al. 2011) also states that small companies will be able to use expensive software which requires expensive equipment to run as well as the cost of licensing at a relatively cheaper cost. However, (Kim, Kim et al. 2009) points out that cloud providers forget to mention potential hidden costs. (Kim, Kim et al. 2009) gives an example stating that clients still have to monitor the performance and availability of services which require additional staff time and hence increases cost. (Benlian, Hess 2011) asserted the same idea that the hidden costs in adopting clouds are usually more than anticipated. Also clients have to ensure that they have the right flow/amount of bandwidth from ISP’s to use cloud services which also increases cost (Kim, Kim et al. 2009). In conclusion, although adopting clouds help to reduce certain costs, it is a factor that needs to be considered economically before adopting cloud computing. 2.4.3 PERFORMANCE Performance as a factor to be considered when adopting cloud computing cannot be overstretched. The adoption of cloud services rely heavily on the performance of applications. According to (Kim, Kim et al. 2009, Benlian, Hess 2011) connection quality is the main problem that arises between a client and cloud provider, this quality may reduce when there are so many users using the service at the same time or when the data being transferred is quite large. Organisations need to determine how much bandwidth is needed and if they meet the necessary bandwidth requirement before adopting cloud computing (Marston, Li et al. 2011). 2.4.4 CLOUD MODEL PaaS, SaaS, IaaS or whichever other service of cloud to be implemented require organisations to consider which cloud model (public, private, public or community) will be adopted. According to (Marston, Li et al. 2011) the type of applications to be run and sensitivity of the data will determine which model to use. When sensitive data is used alongside some applications, it may be better to adopt private clouds (Marston, Li et al. 2011). Public clouds are better used with common applications like CRM systems. (Marston, Li et al. 2011) also states that not all
  • 28. 21 applications are ready to be hosted on the cloud. Also using hybrid clouds can be advantageous, take for instance when the private cloud capacity is exceeded organisations can move applications to public clouds. However, (Marston, Li et al. 2011, Kim, Kim et al. 2009) suggests that there may be certain disadvantages with hybrid clouds, for example both clouds will need to use same file systems, hypervisors etc. for the servers. Another disadvantage of using Hybrid clouds is the organisation has to ensure that both the public and private cloud complies with the company policies and that the data to be transferred between both clouds retain its confidentiality and integrity. 2.4.5 RELIABILITY The adoption of cloud computing is not complete is not complete without considering reliability, it is an effective factor to be seriously considered. No organisation benefits from an outage of services. (Kim, Kim et al. 2009) stated that before adopting clouds, outage should be taken into account by organisations. Also (Kim, Kim et al. 2009) suggests that the cloud might not be ready for hosting critical applications. (Kim, Kim et al. 2009) also states that clients should always have their data backed up in other places to ensure high availability and prevent outage. 100% availability generally is not possible but organisations should plan properly before adopting clouds so that outages can be scheduled to happen when it will have the least effect. This can also be stated in the Service-Level Agreement contract. 2.5 EDUCATION AND CLOUD Cloud computing has been around for a while with several successful implementations in various industries. With low cost alternatives to running organisation-owned data centres as well as different appealing characteristics such as scalability, per-per use models among others. It is no surprise that the educational sector is now considering moving to the cloud (Singh, Hemalatha 2012, Al-Zoube 2009). The adoption of cloud computing in the educational sector offers a range of opportunities to institutions; this includes compliance with legislation and privacy policies laid down by these institutions as well as an Internet-based dynamic e-learning platform (Sclater 2010).The benefits of education in the cloud will be stated in the next section. 2.5.1 BENEFITS OF CLOUD IN EDUCATION The 3 major concerns associated with cloud computing can be said to be Reliability, Availability and Security. These factors play a major role in the factors to be considered before adopting cloud computing. In the education sector or any sector available today these 3 factors also play a major role, it can said that if one or all of these factors is missing the organisation may lose its place in the continuous “battle” for relevance in that sector. Many universities today can boast of these 3 factors which is the reason these institutions have thousands of students on campus but will they consider adopting cloud computing which promises to improve performance, flexibility, security and even cut down ICT costs even though there is a possibility of losing availability, security or even reliability. Some of the benefits of cloud computing in the Education sector are outlined below.
  • 29. 22 2.5.1.1 REDUCED COST OF IT SERVICES Low cost of IT services is one of the major driving forces leading the reasons for adoption of cloud computing. As a result educational institutions that run on very tight budgets see the cloud as a way to save cost (Singh, Hemalatha 2012). Also, according to (Sultan 2010, Sclater 2010) several universities have moved from on-premise e-mail systems to cloud-based systems such as Google Apps for Education and Microsoft Live@edu who offer these services at almost no cost or even free. With these services students can make use of softwares packages that include word processing, email, presentation and more all from a website and without having to worry about licensing. Also with public clouds the institution is able to cut down on labour costs, this is as a result of the easy deployment and management benefit provided by cloud computing. This will help to free up staff who can then be assigned to other duties. 2.5.1.2 HIGH AVAILABILITY Students and staff are very dependent on the availability of online learning services, this is mostly because it eases the stress of both the staff and students (Sultan 2010). For example, staffs use this online platforms to post assignments, lecture notes, necessary update etc., students in turn use this services to keep track of deadlines, lectures etc. The importance of availability of services cannot be overstretched in the education system. A case study of the University of Westminster by (Sultan 2010) show an increase in the availability of services when their email platform was moved to the cloud. 2.5.1.3 ELASTICITY All educational institutions have peak period at different times in an academic year. This is usually during exam periods or during registration at the start of the year. Most times the level of service usage affects the performance of e-learning services which will only result in discomfort and queries from both staff and students on the IT department. According to (Singh, Hemalatha 2012) these spikes in usage at peak periods can easily be managed by hosting e-learning services on cloud platforms. This is due to the fact that clouds can adjust to different levels of elasticity at peak periods. In conclusion educational institutions do not need to worry about planning on usage levels if IT services are hosted on the cloud. 2.5.1.4 FOCUS ON CORE BUSINESS Another benefit of adopting cloud based services in the educational sector is that it allows educational institutions to focus on research and providing quality education which is the primary aim of any educational institution, (Sultan 2010). By adopting clouds institutions can reduce the focus of providing IT services and aim this focus towards its core business. 2.5.1.5 USER SATISFACTION Adopting cloud comes with other benefits when not providing high availability and cost reduction among other things, one of which is User Satisfaction. Users are always satisfied (worry-free) because the adoption of clouds provide institutions with updated applications as well as assurance that data will be safely stored without having to worry about losing data (Sultan 2010). For instance students or staffs may lose memory card or USB sticks and loose data stored on them but this will not be the case if this data is stored in the cloud.
  • 30. 23 In Conclusion, although the benefits of adopting clouds in the educational sector are very welcoming. This is not to say that cloud adoption do not come with its own concerns. According to (Sultan 2010) users of cloud computing are considered to follow the “Green” initiative due to a reduction of carbon footprint. The same cannot be said for cloud providers, the amount of electricity that will be required to maintain several servers at different locations might end up increasing their carbon footprint. Also, according to (Sultan 2010, Sclater 2010) the issue with security and privacy is a major concern. Different governments have strict privacy policies and others are not so secure. The EU (European Union) for instance has a policy that requires that personal data should not be sent outside the EU. This may be a problem as most cloud providers have servers in countries outside the EU (Sultan 2010). Although according to (Sclater 2010) some cloud providers like Google claim that data belonging to EU students will comply with EU law. Finally with several successful implementations of cloud services recorded in continents like Europe, Asia, Africa, etc. (Sclater 2010). It is promising to say that the education system is ready for the cloud. 2.5.2 BARRIERS AFFECTING THE ADOPTION OF CLOUD COMPUTING IN NIGERIA’s EDUCATION SECTOR The present economy is fuelled by ICT and this requires every sector of the world to keep up with this current trend by either choosing to adopt it and maintain relevance in the economy or ignore this change and fall behind. As a result it is no surprise that the education sector has chosen to adopt ICT. According to (Tinio 2003), due to the introduction of ICT in education sector, educational institutions can no longer be seen as a venue for transmitting information to students but rather be seen as a venue where lifetime skills and knowledge are acquired through continuous learning. This has led to a sector where students, teachers, researchers etc. can remotely access resources for learning at any time and from any location (Tinio 2003). However, all these benefits gotten from integrating ICT in education do not cover all countries in the world. In developing countries like Nigeria or Bangladesh it is important to consider factors such as insufficient funds, lack of ICT infrastructures, political factors, cultural factors, corruption etc. that may have a negative impact on the introduction of ICT (Khan, Hossain et al. 2012). The introduction of ICT into Education in Nigeria can help mitigate these factors. Cloud computing offers scalable and low cost computing resources that could improve the quality of Education in Nigeria. According to (Ukpe 2013) the introduction of ICT in Nigeria can have a positive impact on the Education sector and Nigeria economy. Also (Gital, Zambuk 2011) suggest that the adoption of cloud computing in Nigeria will be advantageous as its on-demand and low-cost service will resonate positively in the tight budgets of universities in the country. Covenant University is one of the many private universities in Nigeria that show a lot of promise in ICT. With a dedicated team behind the Centre for Systems and Information Services (CSIS) unit it is no surprise that they were awarded with the best ICT driven university of the year award
  • 31. 24 in West Africa by West Africa ICT Development Award (WADA). Covenant University provides its staffs and students with the following learning resources: • An intranet service that allows students and staffs to access data locally without having to access the Internet. • State of the art computing laboratories. • Personalized emails for staff and students • Hotspots for Internet access all around the university campus. Although Covenant University is more ICT inclined and it would probably be easier for them to adopt cloud services, this cannot of other institutions in Nigeria. Below is a list of barriers that could affect the adoption of cloud computing in Nigeria’s education sector. 2.5.2.1 COST The pay as you use model is one of the advantages of cloud computing and one that could well work in Nigeria. The problem with cost however can be looked at from a consumer (staff or student) perspective. Although private universities like Covenant University can boast of Internet access for both staffs and students. The case is not the same in other institutions. According to (Gital, Zambuk 2011) staffs and students in other universities have to pay as much as ₦150 to ₦300 per hour in cyber café’s to use the Internet. This payment does not necessarily guarantee that the speed of this Internet would be bearable. The alternative to this is to buy a home Internet subscription with costs reaching ₦15000 for a stable and fast connectivity (Gital, Zambuk 2011). Also the cost of securing a fast Internet connection from an ISP is also very high. The cost of using the Internet is enough to bar the minds of consumers with regards cloud adoption. Finally, the Internet service provided by Covenant University comes at a cost, in order to maintain Internet access to students there may be a rise the tuition fees. 2.5.2.2 LACK OF ICT INFRASTRUCTURES Cloud computing is an advocate of virtualized data centres but how will cloud work without basic ICT infrastructures in many universities in Nigeria. Covenant University may provide standard computing laboratories to its staff and students but according to (Ukpe 2013) a survey from 2008 to 2013 shows that there are still educational institutions without computing laboratories or even lecture halls that have computers in them. Although (Gital, Zambuk 2011) states that organisations such as Education Trust Fund (ETF), National Information Technology Development Agency (NITDA) and Petroleum Technology Development Fund (PTDF) provide ICT laboratories to some institutions but these institutions find it hard to maintain the laboratories due to the high cost of renewing equipment or acquiring bandwidth from service providers. The lack of basic ICT infrastructures in these institutions simply suggest that these institutions will not be able to adopt cloud computing. 2.5.2.3 LACK OF BASIC UTILITIES The cost of running private universities like Covenant University is always high, as a result student school fees are also high. The reason for this is that it costs more to provide basic utilities like water, power supply, Internet 24/7 to staff and students. This is also a different story in many other universities as at most times the power supply is unstable (Gital, Zambuk 2011). Lack of
  • 32. 25 basic utilities like power supply simply means that even if Internet access was provided there would be little or no opportunity to utilize it. Also this would result in a lot of money being spent on acquiring generators as well as purchasing diesel or fuel required to power them (Gital, Zambuk 2011). This would make it almost impossible to adopt cloud computing in these institutions. However, the government is working on various means to provide power supply to the country and hopefully in the coming years the country will celebrate stable and uninterrupted power supply (Thisday 2013). Also providing these basic utilities like power supply for instance can vary in cost, the price of Diesel has been increasing with each year (BOBAI 2012). As a result of this the tuition of Covenant University also increases per year. 2.5.2.4 GOVERNMENT The government plays a major role in the implementation of ICT in non-private institutions and as a result will play a major role in the adoption of cloud computing. Unfortunately this has not been the case in Nigeria as well so other developing countries (Ukpe 2013). Corruption in Nigeria is crippling the economy of such a great country blessed with many resources. For instance in 2011, ₦356,498,828,145 was allocated to all non-private educational institutions with more than 97million citizens compared to the 300 citizens of the National Assembly that was allocated ₦300,000,000,000 (Ukpe 2013). The level of corruption in the country needed to be addressed. This brought about the creation of the Economic and Financial Crimes Commission (EFCC) to look into all cases of fraud and corruption in the country.
  • 33. 26 3. METHODOLOGY The previous chapter looked into some of the barriers that may affect the adoption of cloud computing in Nigeria. This chapter will try to examine the method that will be used to achieve the technical goal of this research. This research aims to investigate the possibility of replacing generic (traditional) computing laboratories presently used in Covenant University with a cloud based cloud lab platform. There is no doubt that some of the more physical activities carried out in some labs will not be catered for but this will not be the case for strictly software based laboratories. This section will be broken down into two parts; 1. Requirements Elicitation (Gathering). 2. Evaluation Criteria. 3. Technical Requirements and Configuration. 3.1 REQUIREMENTS ELICITATION (GATEHRING) Requirements elicitation or gathering is a very vital aspect to be considered before building a system. Requirements elicitation is the process of gathering requirements from stakeholders. One of the many challenges faced by software engineers is that poorly gathered requirements will result in failure also stakeholders cannot clearly state what they want (Sharp, Finkelstein et al. 1999). This is the reason why Software Engineers rely on some techniques that help to gather these requirements. But before mentioning which technique is to be used it is necessary to point out the stakeholders of this system. A stakeholder is someone who is directly or indirectly affected by the success or failure of the system. This research will focus on just two of the stakeholders that will be directly affected by the success and failure of the system mostly because their input will help to build the cloud based lab platform. They are 1. Staffs 2. Students The other stakeholders are also affected by the success or failure of the system but are not being considered because they do not directly use the system when compared to staffs and students. This is also due to the fact that the requirements gathered from staff and students will help to determine the Labs, Activities and associated Softwares to be built in the cloud. 3.1.1 METHOD OF DATA COLLECTION Surveys were chosen because this aspect of the methodology focuses on getting quantitative data and also because there was no need for in-depth probing of responses since the requirements gathered will simply be used to build the system. For this research the requirements gathering technique to be used is Survey (Questionnaire). One of the factors that have led to this choice is the availability and location of the stakeholders. Other requirements gathering techniques like Focus groups, Observation and Interviews require the stakeholder to be in the same geographical location and this will not be possible because the stakeholders used in this system are in Nigeria
  • 34. 27 (Jil Liles 2012, Kothari 2004). Surveys seemed the most appropriate choice since they can be delivered online to users irrespective of their location. Although surveys are best used to gather initial responses, they are also used to gather opinions and view which is best suited for the type of system to be built. 3.1.2 RESEARCH POPULATION The research population consists of staffs and students from the department of Computer Information Systems (CIS) in the College of Science and Technology (CST), Covenant University. Knowing fully well that other colleges and departments have different labs, CST was chosen since their labs should most likely have the most lab activities and softwares. Also CST was chosen just for testing purposes as success in CST may result in adoption in other colleges. 3.1.3 SURVEY DESIGN AND DISTRIBUTION One Survey was created with the sole purpose of finding out the softwares and activities carried out during lab sessions. The Survey was piloted here in the UK at the University of Central Lancashire (UCLan) before being deployed to Coventan University, Nigeria. The purpose of the pilot test was; • To determine the time taken to complete the survey. • To determine the respondents attention and interest. • To determine if the survey questions were easy to understand. This was due to the use of skip questions in the survey. After the Pilot test the questionnaire was deployed over the Internet by sending an e-mail containing the link to the survey to the course advisor for computer science who was asked to help distribute it to his students as well as other lecturers in the department. 3.1.4 METHOD OF DATA ANALYSIS The collected responses were analysed using IBM’s SPSS tool. Inferential analysis also referred to as statistical analysis was used to analyse the frequency and percentage of the data. The ordinal data (Likert-Scale) was analysed using mean square analysis; MS(Mean Square) = 5n5 + 4n4 +3n3 +2n2 + 1n1 (n5 + n4 +n3 + n2 + n1) Where; n1 = number of respondents who answered “Never” n2 = number of respondents who answered “Rarely” n3 = number of respondents who answered “Sometimes” n4 = number of respondents who answered “Often” n5 = number of respondents who answered “Always”
  • 35. 28 3.2 EVALUATION CRITERIA This project aims to look for a way to improve the experience of staffs and students on a University platform. The project aims to achieve this by evaluating cloud computing platforms with the hopes that University officials will come to understand some of the benefits of the “Cloud”. As a result this section aims to evaluate four different cloud platforms and will try to select appropriate Evaluation Criteria that should be enough for a decision to be made. This project has gone through a certain process that is aimed at avoiding some of these mistakes people make when evaluating a product/software (Comella-Dorda, Dean et al. 2002); • Inappropriate research on the software. • Gathering requirements without involving the end users. • Deciding to use a software based on facts without ever testing the software As a way around this, the project goes through the following stages (Process), the study stage takes place throughout the stages; Pre-Study Planning Survey (Requirements Gathering) Hands-On Experimentation Evaluation It is important to note that due to the nature of the project, the Evaluation Criteria to be used will not cover all aspects of a proper software evaluation but will be enough to achieve the projects objective and hopefully enough to help decide which type of cloud to adopt. Also according to (Comella-Dorda, Dean et al. 2002) for any evaluation to succeed its criteria need to be derived by a team formed of a range of experts. The Evaluation Criteria and sub-criteria are listed in table 1. Table 1 : Evaluation Criteria CRITERIA SUB-CRITERIA Ease of Deployment • Documentation • Installability • Skill Level Required Ease of Use • Management • User Experience (Performance) • Learnability Features • Hypervisor Support • Storage (Backup and Recovery) • Flexibility and Scalability Support and Cost • Available Support • Equipment Cost • People Cost Ability to Deploy DaaS Able to deliver working lab based environment
  • 36. 29 3.3 TECHNICAL REQUIREMENTS AND CONFIGURATION The main technical goal of this project is to examine the possibility of replacing traditional labs in Covenant University with a cloud based lab alternative (DaaS). That goal will now be tested after gathering requirements from both staff and students. All installations and configuration were carried out on VMware Workstation software, this was because the deployment scenarios were all test based, successful implementations will then result in tests being carried out in a real lab based scenario. This section will examine the technical requirements and method of doing this with the following four different cloud platforms. It is important to note that the administrator and user represent the one user who tested and evaluated the cloud platforms. 3.3.1 OPENSTACK REQUIREMENTS AND CONFIGURATION The Openstack installation process used for this lab was built using Ubuntu Server 12.04.3 LTS on VMware workstation test environment. Figure 7 shows the 3-node architecture used for this setup process. The system specifications used for the test environment can be seen in table 2. Table 2: System specifications used for Openstack Server Hardware Controller Node Processor: 64-bit x86 Memory: 1 GB RAM Disk space: 100 GB Network: One 1 Gbps Network Interface Card (NIC) Network Node Processor: 64-bit x86 Memory: 1 GB RAM Disk space: 100 GB Network: Three 1 Gbps Network Interface Cards (NIC) Compute Node (Virtualization Support was enabled for this node) Processor: 64-bit x86 Memory: 4 GB RAM Disk space: 200 GB Network: Two 1 Gbps Network Interface Cards (NIC)
  • 37. 30 Figure 9: Openstack 3-Node Architecture (Openstack 2014) 3.3.1.1 CONFIGURATION The three nodes (servers) were running Ubuntu 12.04.3 and was configured using (Richard Boswell 2013) and Openstack documented installation procedure. The controller node was used for management, the network node was used to provide the networking between the nodes and the compute node was used for provisioning and managing the virtual machines. One additional virtual machine was used for the configuration; • Ubuntu Desktop 12.04: This VM acted as a router and was used to setup DHCP. It contained two network cards, with one connected locally and the other one connected to the external (Internet) network and was allocated 2 GB RAM. This desktop was also used to access the Openstack Dashboard. The 3 nodes also received its IP address from the Ubuntu desktop unassigned pool of static addresses. KVM was the hypervisor used as this is Openstacks default hypervisor. The storage capacities for the nodes were 100GB for Controller and Network node and 200GB for the compute node.
  • 38. 31 3.3.1.2 USAGE Openstack uses keystone identity service for storing users, the user data is stored using an SQL database. One user was created for this test scenario, this was done by adding the login credentials of this user manually. In an ideal scenario there will be a lot more users and this can prove to be stressful for a System Administrator. The user was added using the Openstack dashboard, it is important to note that this can also be done using CLI commands. Figure 10 shows the Openstack Dashboard. Figure 10: Openstack Dashboard Two images were prepared for the user; 1. A preconfigured image of Ubuntu 12.04 was provided to the user gotten from http://cloud-images.ubuntu.com 2. The second image was a preconfigured image of Windows Server 2012 R2 Evaluation gotten from http://www.cloudbase.it/ws2012r2/ , the image was “gunzip-ed” before adding using glance. This was done using Opensatcks imaging service (Glance). Openstacks documentation provides a description for creating and uploading custom images. The administrator logs in to an Admin tab which is where the administrator provisions quotas for users to use. The quota given to the user is shown in table 3 and 4. This quota can be expanded for the user.
  • 39. 32 Table 3: Ubuntu Server quota Flavor m1.small VCPU 1 RAM 2GB Disk 20GB Table 4: Windows Server quota Flavor m1.medium VCPU 2 RAM 4GB Disk 40GB The user logs into the Project tab and then performs the following activities; • Create a keypair; this is used to access instance created. • Manage firewall/security group; this is needed to allow incoming ssh, http and ICMP traffic. • Click on images and snapshots and then launch an instance; select the Ubuntu image, name the instance, select keypair, flavor and security group. • Click on instance; select created instance and locate IP. • Click on the instance name created and navigate to Console to use start using VM; Openstack has a console tab although u can use ssh for the Ubuntu image and remote desktop for the Windows image. Although to do this floating IPs need to be attached to the instance. From the console the Windows server image was configured to act like a regular desktop with some software installed and tested on it. The Ubuntu server image was simply configured to act as a web server and a test website was deployed using this image. The website was deployed on Mozilla Browser via the Ubuntu Desktop VM that was part of the test deployment. The windows and Ubuntu test deployments were run separately due to lack of memory. Figure 9 shows the Openstack Dashboard. 3.3.2 OPENNEBULA REQUIREMENTS AND CONFIGURATION The Opennebula installation process used for this lab was built using Ubuntu Server 12.04.3 LTS on VMware workstation and follows the Opennebula installation documentation. Figure 11 show the Opennebula Dashboard. The system specification used for the test environments can be seen in table 5.
  • 40. 33 Table 5: System specifications used for OpenNebula Server Roles Recommended Hardware Frontend role (Virtualization Support was enabled for this node) Processor: 64-bit x86 (AMD-V or VT-x enabled) Memory: 2 GB RAM Disk space: 100 GB Network: One 1 Gbps Network Interface Card (NIC) Nodes role (Virtualization Support was enabled for this node) Processor: 64-bit x86 (AMD-V or VT-x enabled) Memory: 2 GB RAM Disk space: 100 GB Network: One 1 Gbps Network Interface Card (NIC) Figure 11: Openenbula Dashboard
  • 41. 34 3.3.2.1 CONFIGURATION The two nodes (servers) were running Ubuntu 12.04.3 and was configured using OpenNebula documented Ubuntu installation procedure. One additional virtual machine was used for the configuration; • Ubuntu Desktop 12.04: This VM acted as a router and was used to setup DHCP. It contained two network cards, with one connected locally and the other one connected to the external (Internet) network and was allocated 2 GB RAM. This desktop was also used to access the Opennebula Sunstone Dashboard. The 2 nodes also received its IP address from the Ubuntu desktop unassigned pool of static addresses. KVM was the hypervisor used, this is one of the hypervisors available to OpenNebula. The storage capacities for the nodes were 100 GB per node. 3.3.2.2 USAGE Openstack uses core authentication (username and password) by default, it is possible to use say x509 Auth or LDAP. After typing login details, the Opennebula Sunstone Dashboard is revealed. For this test scenario a preconfigured Ubuntu 12.04 cloud image was downloaded from http://cloud-images.ubuntu.com . A new user was created and the core authentication type was chosen. As mentioned earlier it is possible to use LDAP in a situation where there are numerous users. A template is then created from the downloaded Ubuntu image, this is done using the following steps; • Navigate to Templates • Select Create • Under General:  The template was named.  1 CPU.  512MB Memory. • Select Storage; select the Ubuntu image here. • Select the network. • Select OS Booting. • Select Input/Output; VNC. • Select scheduling and then click create. That template is then instantiated and when you navigate to Virtual Machines, you can view the console through VNC. The Ubuntu server image was also tested by deploying a web server and testing it via the Mozilla on the Ubuntu desktop VM.
  • 42. 35 3.3.3 AMAZON EC2 REQUIREMENTS AND CONFIGURATION Amazon EC2’s only requirement is an Internet enabled system (PC or Laptop) with any web browser of your choice. That being said a 100Mbs network should be sufficient for using Amazon EC2. The system specifications used were; • Windows OS. • 2GB RAM. • Chrome Web Browser. • 100Mbps Internet speed. Amazon EC2 is proprietary software and as a result is not open-source or free to use and configure like Openstack for instance. An AWS account was created for my use by the university and I was able to run the AWS Free Usage Tier. This account provided the following resources; Elastic Compute Cloud (EC2) • 750 hours of Amazon EC2 Linux Micro Instance usage (613 MB of memory and 32-bit and 64-bit platform support) – enough hours to run continuously each month • 750 hours of Amazon EC2 Microsoft Windows Server Micro Instance usage (613 MB of memory and 32-bit and 64-bit platform support) – enough hours to run continuously each month • 30 GB of Amazon Elastic Block Storage, plus 2 million I/Os and 1 GB of snapshot storage Amazon VPC (Virtual Private Network) • Amazons VPC allow customers to run virtual networks similar to that of a datacentre. However VPC provides an option of scalability via its Elastic IP feature and also allows customers integrate their own datacentre networks. Amazon EC2 provides a management console for users to manage and deploy virtual instances, figure 12 shows amazons management console.
  • 43. 36 Figure 12: Amazons Management Console page Amazon Workspaces • Amazon workspaces allow companies to deploy a windows based cloud desktop environment for a set monthly cost, figure 13, shows the workspace bundles and monthly costs available to customers. Workspaces can be configured and deployed for PC, Apple and Android tablets easily with just a few mouse clicks (Amazon 2014). Figure 13: Amazon WorkSpace Bundles (Amazon 2014)
  • 44. 37 3.3.3.1 CONFIGURATION AND USAGE Before configuring VMs in Amazon EC2 it is important to configure a few things some of which are VPC (Virtual Private Cloud), choosing a DNS (Domain Name System) namespace etc. After that a Windows server 2012 Standard edition VM was started and active directory configured on it. The images available to use were limited to only to images that were “free tier eligible”, the memory was also limited. Although the Windows server was not used for much hence did not require a lot of performance. One of Amazons features is the ability to deploy Windows workspaces, a feature that provides customers with a Windows 7 desktop environment. Due to the limitations of my account I was limited to one of the four bundles standard (the other bundles are standard plus, performance, performance plus) available via Amazon workspaces. The standard bundle provides the following resources; • Windows 7 Experience, • 1 vCPU, • 3.75 GiB Memory, • 50GB storage, • And 4 applications (Internet Explorer, Firefox, 7-ZIP, Adobe Reader). The 4 bundles however do not restrict users from installing applications. 3 standard bundles were created all gotten from active directory and were configured to use applications derived from responses gotten from the survey. An Ubuntu server VM was also created for use, Ubuntu desktop installation was tried on this image but there attempts to connect to the Ubuntu desktop via RDP was unsuccessful even after editing the security group setting. Apache 2 was eventually installed to test as a web server but security groups needed to be configured before it could be accessed via the public DNS of the instance 3.3.4 MICROSOFT AZURE REQUIREMENTS AND CONFIGURATION Microsoft Azure’s only requirement is an Internet enabled system (PC or Laptop) with any web browser of your choice. That being said a 100Mbs network should be sufficient for using Amazon EC2. The system specifications used were; • Windows OS. • 2GB RAM. • Chrome Web Browser. • 100Mbps Internet speed. Microsoft Azure is proprietary software and as a result is not open-source or free to use and configure like OpenNebula for instance. A 30 day trial account was created with 190 pounds using a Microsoft Account, there was no limit to the features that could be used as long as you don’t exceed the 190 pounds. For this reason usage needed to be monitored properly.
  • 45. 38 3.3.4.1 CONFIGURATION AND USAGE For this cloud platform 4 Windows server 2012 R2 Datacentre VMs and one Ubuntu server 12.04 VM were created. The Ubuntu server was then converted into Ubuntu Desktop following the instruction stated in the appendix under Windows Azure. This Ubuntu server was accessed via SSH and after changing it to Ubuntu Desktop it was accessed via remote desktop connection. Windows Azure make it possible to adjust the endpoints (Just like setting a security group in Amazon EC2) to allow incoming connections to the public address or cloud service. The Ubuntu image was then added to the Windows Active directory via Likewise Open GUI and tested with some applicaitons like KVM (the reason for installing KVM will be discussed later) and trying to SSH into Ubuntu Server on Amazon EC2, this required my keypair from amazon. For the windows machine one image was configured to act as the Active directory for both the Ubuntu and the other Windows’ VMs. The other images were configured to use Windows desktop experience, this follows the Windows Azure documentation for Desktop Hosting Deployment Guide. This documentation can be found in the Appendix section under Windows Azure. The three images were used to setup three labs scenarios and applications gotten from the survey that was sent out. Figure 14 shows the Microsoft Azure Dashboard. Figure 14: Microsoft Azure Dashboard
  • 46. 39 4. RESULT AND ANALYSIS This chapter explains the result gotten from the survey and analyses the findings based on the Evaluation Criteria set in the previous chapter. The survey was analysed using statistical analyses of Frequency and Percentage and Mean Score analyses for the likert scale. The following sections describes an overview of the survey methods and analyses of the result gotten from respondents 4.1 SURVEY METHODS The survey was developed on Microsoft word and then hosted on an online survey platform (esurveypro) enabling respondents to gain easy access to the survey and made it easier to analyse for the researcher. The survey questions were simple and straightforward and aimed at gathering requirements for solving the aim and objective of the research. 4.2 RESPONDENTS PROFILE This section provides the basic information that was gotten from the respondents. The survey was aimed at 230 respondents and 67 responses were valid. This means that 167 did not partake in the survey or were incomplete. Table 6 : Number of Staff and Students Respondents Frequency Percent Staff 5 7.5 Student 62 92.5 Total 67 100 Figure 15: Students Level
  • 47. 40 Table 6 shows the amount of male and female students responses, 52 students and 5 Staffs, Figure 15 shows Level of students that filled the survey. There were 27.42% from Year 1, 25.81% form Year 2, 20.97% from Year 3, 25.81% from Year 4 and no response from Year 5, MSc or PhD students. Figure 16: Staff Qualification Figure 16 above shows the pie chart of staff respondents, there were 60% (3), 20% (1) BSc and 20% (1) PhD responses. Figure 17: Program of Study
  • 48. 41 Figure 17 shows the size of respondents with regards to the number of students per program. 19 of the students’ Computer Science (Programming), this shows that computer science (Programming) had the most respondents and Computer Science (Networking) had the least with just 9 responses. Table 7: Responses to “Which applications do you use in labs?” Never Rarely Sometimes Often Always Response Average VMware 25(37.3%) 11(16.4%) 2(3%) 8(11.9%) 21(31.3%) 2.84 Microsoft SQL 33(49.3%) 9(13.4%) 7(10.4%) 3(4.5%) 14(22.5%) 2.37 Netbeans 39(58.2%) 7(10.4%) 2(3.0%) 1(1.5%) 18(26.9%) 2.28 Packet Tracer 51(76.1%) 5(7.5%) 1(1.5%) 2(3.0)% 8(11.9%) 1.67 Photoshop 43(64.2%) 2(3.0%) 15(22.4%) 3(4.5%) 4(6.0%) 1.85 MySQL 24(35.8%) 2(3.0%) 8(11.9%) 4(6.0%) 29(43.3%) 3.18 Dreamweaver 36(53.7%) 7(10.4%) 0(0%) 7(10.4%) 17(25.4%) 2.43 Visual Studio 52(77.6%) 5(7.5%) 0(0%) 10(14.9%) 0(0%) 1.52 Eclipse 49(73.1%) 18(26.9)% 0(0%) 0(0%) 0(0%) 1.27 Wamp Server 39(58.2%) 4(6.0%) 0(0%) 5(7.5%) 19(28.4%) 2.42 Table 7 show the applications that are used during labs and the responses gotten from both staff and students. Using mean score analysis the result show that MySQL and VMware are one of the most used applications among staff and students irrespective of program and modules taught. The result also shows that Eclipse and Packet Tracer are the least used applications.
  • 49. 42 Figure 18: Responses to "Which courses do you teach?" Figure 18 shows the courses that a taught by staff members, this question was an open ended question so the responses where summarised into Web Programming, Database, Networking and Other categories to get the summary of the responses. The response shows 4 Web Programming modules, 2 Database modules, 1 Networking, 1 Programming module and 0 response to “other” modules. Figure 19: Responses to "Which activities are carried out during lab sessions?"
  • 50. 43 Figure 19 shows the activities which are carried out during , this question was an open ended question so the responses where summarised into Web Design Tasks, Database Tasks, Networking Tasks, Programming Tasks and “Other” categories to get the summary of the responses. Programming tasks had the highest rate with a frequency of 30 and “Other” category with the least with tasks such as Crimpling network cable or physically connecting Routers and server. The analysis of the summary helped to ascertain which computing labs to build. The 3 labs chosen were; • Networking Lab • Database Lab • And Programming Lab. Based on the applications selected these three labs were built, also Web design tasks and Programming tasks use some of the same applications hence they were merged into one. 4.3 EVALUATION REPORT This project aims to answer the research question; can DaaS replace traditional/conventional lab environments? This section of the project will aim to report findings based on the Evaluation Criteria listed in the previous chapter. This section will analyse findings on the following four cloud platforms that have been deployed. 4.3.1 OPENSTACK Openstack is an open source platform that has seen several releases since its inception in 2010, (Openstack 2014). Its most recent release is the Openstack Icehouse. For this implementation Openstack Havana was used. Openstack was evaluated using the following criteria. 4.3.1.1 EASE OF DEPLOYMENT These criteria will explore of the following sub-criteria; • Documentation Openstack provides customers with proper documentation of its hardware requirements, • Installability The installation process is a bit technical. It is assumed and expected that the software tester has knowledge of either Ubuntu, Cent OS etc. It is important to be experienced in networking and virtualisation before attempting to install Openstack. Being an open source platform other developers have looked at means of installing Openstack on Windows. • Skill Level Required Openstack requires a certain level of experience, a Senior Systems (Networking and Virtualisation) Engineer would be able to easily use cloud computing while a Junior Linux/Unix engineer may find it a bit too technical. 4.3.1.2 EASE OF USE These criteria will explore of the following sub-criteria;