Cloud Computing has been growing over the last few years as a result of cheaper access to high speed Internet connection
and many applications that comes with it. Its infrastructure allows it to provide services and applications from anywhere in the world.
However, there are numerous technical, non-technical and security issues that come with cloud computing. As cloud computing
becomes more adopted in the mainstream, these issues could increase and potentially hinder the growth of cloud computing. This
paper investigates what cloud computing is, the technical issues associated with this new and evolving computing technology and also
the practical applications of it. It also addresses and highlight the main security issues in cloud computing
WordPress Websites for Engineers: Elevate Your Brand
Neural Network, Fuzzy Logic, Employability, Sugeno type inference, Education, Understanding Power, Personal Development
1. International Journal of Computer Applications Technology and Research
Volume 3– Issue 3, 169 - 175, 2014
www.ijcat.com 169
Cloud Computing: Technical, Non-Technical and
Security Issues
Wada Abdullahi
Federal College of Education
(Technical)
Potiskum
Yobe State, Nigeria
Alhaji Idi Babate
Federal College of Education
(Technical)
Potiskum
Yobe State, Nigeria
Ali Garba Jakwa
Federal College of Education
(Technical)
Potiskum
Yobe State, Nigeria
__________________________________________________________________________
Abstract: Cloud Computing has been growing over the last few years as a result of cheaper access to high speed Internet connection
and many applications that comes with it. Its infrastructure allows it to provide services and applications from anywhere in the world.
However, there are numerous technical, non-technical and security issues that come with cloud computing. As cloud computing
becomes more adopted in the mainstream, these issues could increase and potentially hinder the growth of cloud computing. This
paper investigates what cloud computing is, the technical issues associated with this new and evolving computing technology and also
the practical applications of it. It also addresses and highlight the main security issues in cloud computing.
Keywords: computing; technical; security; cloud; issues
____________________________________________________________________________________________________________
INTRODUCTION
Cloud Computing is a broad term used to describe the
provision and delivery of services that are hosted over the
internet [24]. The “cloud” in cloud computing comes the
diagram representation or symbol that is usually used to
depict the internet in network diagrams or flowcharts [24];
[19].
In this type of computing, servers on the internet store
information permanently and temporarily cached on the
client-side devices – including laptops, desktops, hand-held
devices, monitors, sensors, tablet computers etc [19]. The
infrastructure allows services to be provided and accessed
from anywhere in the world as services are offered through
data centres – virtually [19]. Here, the cloud becomes the
single access point for customers/users to access services.
This means that at any given time, a user has as little or as
much of a service provided by the particular service
provider. However, the user only needs a computer or
appropriate device and Internet connection to gain access to
the service(s).
In the cloud computing model, there are three main entities
as illustrated in Figure 1 – End Users, Application Providers
and Cloud Providers. According to [9], the assemble and
organisation of users and computing resources “provides
significant benefits to all three entities because of the
increased system efficiency and availability.”
There are numerous reason why cloud computing has gained
interest over the last few years. One reason has been the
significant and improved innovations in distributed and
virtualisation computing. Additionally, the cost-benefits and
access to high-speed internet have also contributed to this
accelerated interest.
Figure 1: User of a cloud-based application system.
Cloud Providers provide the necessary cloud infrastructure –
which includes network facilities, replications sites and data
centres. Applications services used on the cloud
infrastructure are provided by Application Providers. These
application services are then used by the “End Users”.
CLOUD COMPUTING MODELS
The model of cloud computing can be divided into private or
public. In public cloud, the providers of the cloud sell
services to anyone, whereas in private cloud data centres or
cloud providers they hosted their services only to a limited or
small number of subscribers or buyers. However, there are
situations where a service provider uses the resources of a
public cloud to provide or create a private cloud – this is
what is known as virtual private cloud [24]. In the service
provision part of cloud computing, there are three main
categories of service provision namely Software-as-a-Service
(SaaS), Platform-as-a-Service (PaaS) and Infrastructure-as-a-
Service (IaaS).
2. International Journal of Computer Applications Technology and Research
Volume 3– Issue 3, 169 - 175, 2014
www.ijcat.com 170
In SaaS cloud model, the hardware infrastructure and the
provision of the software product is supplied by the service
provider supplies. Additionally, the user interacts with the
service provider through a front-end portal [24]. In other
words, SaaS can be said to be software that is “owned,
delivered, and managed remotely by one or more providers.”
[8]. There are many companies that use business applications
that are provided remotely [3]. According to Biddick,
companies benefit from using SaaS as that development and
maintenance of software applications becomes the burden of
the provider.
In cloud computing, PaaS is described as “a set of software
and product development tools hosted on the provider’s
infrastructure.” This allows developers to develop and create
software tools over the internet and also on the provider’s
platform. The use of APIs (Application Programming
Interfaces), a gateway software and website portal on the end
user’s computer is commonly used by PaaS providers – this
allows end users to develop software applications. However,
data portability and standards for interoperability are not
currently being used in cloud computing [24]. This makes it
difficult to systems to work together or easy exchange of
information.
In IaaS, providers “provides virtual server instance API to
start, stop, access and configure their virtual servers and
storage” [24]. End users can pay for the only capacity they
require – making it possible to keep cost to a minimum for
new start-up businesses. An example of an IaaS is Amazon
Web Services – currently the largest provider [15].
SOFTWARE EVOLUTION OF CLOUD
COMPUTING
The process of software evolution can be seen as a never-
ending process. Once software is developed, it is maintained,
and then repeatedly updated with respect to changes in
requirements, processes and methodologies. It is known that
90% of companies’ software budget is spent on maintenance
and adapting existing software tools than developing new
ones from scratch [5].
Cloud computing is a specialised distributed computing on a
large-scale [7]. However, there are differences from the
traditional distrusted systems in many ways;
Scalability is massive on cloud computing.
Different types or levels of services can be provided to
clients outside the cloud with a greater degree of
encapsulation.
Economies of scale is one of the main drivers of cloud
computing.
Configuration of services is dynamic and delivery of
services can be on demand.
The idea that evolution is driven by change can be observed
in cloud computing. There is a growing demand for
computing and storage problems in the so called “Internet
Age”. As a result many companies and individuals are
looking to cloud computing to provide the answer [7].
The evolution of cloud computing could be traced back to
the 1990s when Grid Computing was used to describe the
collection of technologies that enabled users to obtained
computing power when required. This lead to the
standardisation of protocols to be allows for data exchange
over the grid. However, according to the commercial utility of
grid computing was very limited until about 2007/8 [7]. The
vision of both cloud and grid computing technologies remains
the same i.e. reduce computing cost with increased reliability,
and transform the old style of standalone software computing
to one where services can be obtained from third parties via
the Internet. The underlying technologies and procedures of
cloud and grid computing are somehow different.
Utility computing is a model based on the concept of demand
and outsourcing availability [2]. In this type of model,
resources and services are provided to the end user and
charged based on usage.
The increasing demand for computing comes from our need
to analyse large collection of data – data that was not present
as of ten years ago. Additionally, there has been the
realisation that operating mainframe computers are very
expensive compared to commodity clusters. This has lead to a
reduced cost of virtualisation. Over the last ten years,
companies like Google, Microsoft and Amazon have spent
billions of dollars building large-scale computing systems
containing a collection of hundreds of thousand computers.
The commercialisation of these systems means that
computing can be delivered on-demand. The scale of
operation of cloud computing is comparatively bigger than
that of grid computing. Furthermore, this allows computing to
be provided cheaply (economies of scale) than previously
thought with grid computing [7].
Cloud computing has evolved through a series of phases –
there was the initial grid (or utility) computing phase, then
there was the “application service provision” which was then
followed what is now known as SaaS [18]. According to
Mohammed, the most recent evolution of cloud computing is
its development with Web 2.0. This was made possible as
bandwidth increased in the late nineties. In 1999,
salesforce.com pioneered the concept of delivering enterprise
applications via a simple website. As a result, companies;
both mainstreams and specialists started the delivery of
Internet-based services and applications [18]. Following on
from that, Amazon Web Services was developed in 2002 –
which allowed for many cloud-based services such as
computing and storage to be delivered online. In 2006, Elastic
Computer Cloud (EC2) was launched by Amazon. EC2 was a
commercial web service which enables individuals and small
companies to rent computers online to run their own
applications [18]. Since 2007, cloud computing has become a
“hot topic” due to its flexibility to offer dynamic IT
infrastructure and configurable software services over the
Internet [25]. The emergence of cloud computing coincides
with the development of Virtualisation technologies. Since
2007, Virtualisation technologies have increased and as a
result, cloud computing has been observed to have out-paced
that of grid computing [26]. This trend still continues to grow
as companies and research community propose and develop
this computing paradigm – cloud computing. According to
Mohammed, a great milestone of cloud computing came
about in 2009 with the introduction of Web 2.0. The Web 2.0
is designed to allow the web work as a platform i.e. clients’
services do not depend on the operating system (OS) being
used by the user [23] The main properties of Web 2.0 are
information sharing, user-centred design and interoperability
– all of these are factors that have contributed to the continual
development of cloud computing over the last few years.
3. International Journal of Computer Applications Technology and Research
Volume 3– Issue 3, 169 - 175, 2014
www.ijcat.com 171
TECHNICAL ISSUES OF CLOUD
COMPUTING
The idea behind cloud computing is that software and
hardware services are stored in “clouds”, web servers rather
than a connection of standalone computers over the Internet.
Here, a user can access the right services and data they
require [2]. Another benefit of cloud computing is that of
“moving” data to the cloud to allow for access to a user’s
data anywhere [2]. An important feature that comes with
cloud storage of data is essentially the automation of
different management tasks.
It can be noted that a fusion or combination of technologies
such as grid computing, autonomic computing (AC) and
utility computing has contributed to the evolution of cloud
computing. AC is built on the following concepts; self-
protection, self-management, healing and configuration. It
uses a closed control loop system which allows it monitor
and control itself with external input. As the current situation
and needs of a system changes, an AC system adapts itself to
those dynamical changes – making it self-adaptive as well.
This combined with grid computing which was known to be
“heterogeneous and geographically detached” [2], has
produced a new computer architecture for cloud computing.
Figure 2: The Cloud Computing Architecture
[7]define a four-layer architect of cloud computing (Figure
2). These layers are Application, unified resource, platform
and fabric. The physical hardware resources (such as storage
resources, computing resources and network resources are
contained in the Fabric layer. Abstracted/encapsulated
resources (usually as a result of virtualisation) are contained
in the Unified Resource layer. These abstracted resources are
exposed to the upper layer and also by the end user as
integrated resources such as a database system, logical file
system, a virtual cluster/computer [7]. Specialised tools and
technologies such as middleware and other services are
provided by the Platform layer in addition to the resources
already contained in the unified resource layer to provide a
platform for the development and deployment of
applications. Lastly, applications that will run in the cloud
are contained in the Application layer. There are three
different levels of services that are provided by cloud
computing (IaaS, PaaS and SaaS). The type of service
provision depends on the layer which the service provider
wants to make available. However, it is also possible for a
service provider to expose services on more than one layer.
IaaS allows for the provision of software, hardware and
equipment usually at the unified resource layer. PaaS
provides users with a high-level integrated environment to
build, test, and deploy their own built applications. Here,
developers are faced with certain technical limitations and
restrictions on the type of software tool or application that
they can develop in exchange for built-in application
scalability [7]. The Google App Engine now enables users to
build web application by using the same systems that Google
uses to run its application. SaaS, on the other hand, enable
service providers to provide specifically built applications
and software that can be accessed remotely by end users via
the Internet using a utility or usage-based model of pricing
[7].
Here, the main security issue is that of the openness of the
hosting or services providers. Building a test environment in
the cloud requires hosted compilers which can provide a
gateway for “hacker” and experience programmer alike to
develop and deploy malicious programs in the cloud. A
possible way to deal with this security threat for cloud
provides to accept pre-compiled programs that are
thoroughly scanned for viruses before being deployed. This
can be achieved by restricting users to deploying programs
only in the application layer – thereby restricting the risk of
contamination across layers within the cloud.
Furthermore, the provision of services at different levels
brings about the need for standards to be defined to allow for
the exchange of information and services between clouds. To
date, such standards do not exist that cause interoperability
issues. There is always a security concern when standards
and protocols are not properly defined in any computing
environment. As cloud continues to grow and mature, there
will be the need to adopt industry-wide standards that will
ease interoperability issues and increase the levels of services
that cloud provider can deliver to end users.
There are numerous security concerns when it comes to
software development over cloud computing. This makes it
difficult for certain computing techniques to be incorporated
in software development. Additionally, some techniques
make programs or software vulnerable in distributed systems
and in this scenario, cloud computing.
CROSS-CUTTING CONCERN
Cross-cutting concerns in software development relates to
aspects of a program that affect or crosscut other modules or
concerns [1]. Usually, these concerns arise due to difficulty
in decomposing them from a program in the developmental
stage, which includes the design, coding and implementation
phases, as a result can occur in the duplication of code
(known as scattering) or tangling (these come about when
systems have significant dependence on each other) or both .
Some examples of cross-cutting concerns include:
Exception handling
Validation
Logging
Authentication and authorisation
A suggested way to deal with cross-cutting concerns in
program development is to use Aspect-Oriented
Programming (AOP). Aspects relates to a feature or part of a
program that is not linked to the core functionality of the
program but linked to many other parts of the program.
Using separation of concerns (SoC), cross-cutting can be
4. International Journal of Computer Applications Technology and Research
Volume 3– Issue 3, 169 - 175, 2014
www.ijcat.com 172
reduced or eliminated from program development – this is
the basis of AOP. SoC is a process of distinctly separating
functions of a program to avoid or limit functionality
overlapping. Traditionally, SoC was achieved mainly by
encapsulation and modularisation. AOP aims to increase
modularity by enabling SoC. It also requires programs to be
broken in distinct logical parts – SoC called concerns.
Developing programs on cloud computing can be done using
AspectJ – a java extension which is known as the de facto
standard development tool for AOP- to ease cross-cutting
worries [16]. It can be challenging to develop a program on
cloud as it might difficult to ascertain how to break down a
program into logical parts on different servers.
PROGRAM SLICING
Another technique of software development is that of
program slicing. Program slicing relates to the simplification
of programs by focusing on selected aspects of semantics.
The process of program slicing involves the deletion of
certain parts of a program that are known to have no impact
or effect on a particular semantics. Program slicing also
allows developers to focus more attention of the parts of the
program that can cause a fault. As a result, there are
application of program slicing in testing and debugging,
program comprehension, software re-engineering and
measurement [10].
There are mainly two dimensions to program slicing; the
semantic dimension and the syntactic dimension. The
preservation of parts of the program relates to the semantic
dimension. Here, the static behaviour of the program is
unaffected after slicing and likewise, dynamic criteria enable
the dynamic behaviour of the system to be preserved. Under
the semantic dimension, slicing can be dynamic, static or
conditioned [10]. However, there is less choice under the
syntactic dimension. Here, there are two main possibilities;
firstly the syntax of an original program is preserved, where
possible, by moving parts of the programs which does not
affect the interested semantic, secondly program slicing is
freely allowed to perform any syntactic transformation that
preserves semantic conditions – this is known as amorphous
slicing [10].
Program slicing could have issues with regards to cloud
computing. Deleting of certain parts of the program on
clouds can affect other applications. Additionally, parts of a
program that are thought of having no impact on core
semantic of a program on one server could have a bigger
impact on a program on another server.
PROGRAM OR APPLICATION
CLUSTERING
Clustering, in computing, relates to a group of computers or
servers dedicated to performing a single task. Software
systems are used to configure servers to cluster in application
clustering. Servers are connected together by a software
program which enables the servers to perform individual
tasks like failure detection and load balancing [4]. Here,
applications are installed individually on the servers and are
pooled in together to handle various tasks when required. It
becomes important for the cluster to effectively handle
routing of data to and from the cluster [4].
In cloud computing, program clustering helps achieve
scalability – the ability of the cloud to appropriate resources
to specific tasks i.e. when a task needs more computing
resources, it has the ability to recruit more servers or
computing power to perform that specific task. The benefit
of cloud computing is that it contains hundreds of thousands
of connecting computers which makes it easy to distribute
work load. There are symmetric clusters where workload is
distributed evenly amongst the clustering servers and
asymmetric clusters have the ability to reserve particular
servers only for use when the main servers fail. Cloud
computing provides a single point of access to its end users
to gain access to application services stored on the servers in
the “cloud”. Servers can fail; as a result clouds must tackle
the issue of passing tasks around when servers failed.
NON-TECHNICAL ISSUES OF CLOUD
COMPUTING
Cloud computing comes with other non-technical issues or
concerns which if not tackled could restrict the growth and
evolution of cloud computing.
INADEQUATE SECURITY
Most cloud vendors support what is known as multi-tenancy
compute environment by design. What is most important is
that, vendors must decide on the right balance between
providing essential infrastructure and internal security and
the quest for improved cloud computing services. According
to [27], trustworthiness is important when it comes to SaaS
services. With SaaS, data privacy and security are the most
important factors for end users (also known as tenants).
LACK OF COMPUTABILITY WITH
EXISTING APPLICATIONS
Another major issue currently facing cloud computing is the
lack of inherent computability with existing applications.
There are, however, efforts to change this. What is observed
in order to improve scalability and improve the level of
services provided to users, vendors are now providing
snippets of existing codes in the case of PaaS. What this
means is that new applications are becoming cloud-specific.
LACK OF INTEROPERABILITY
BETWEEN CLOUDS
The lack of a standardisation across platform increases cost
of switching clouds and also increases the complexity of
code in the event of program migration. Since cloud vendors
have different application models, there are vertical
integration problems which make it virtually impossible at
time to move from one cloud to another. As this is major
issue, a user has to be careful when choosing the right vendor
to obtain services from.
OTHER ISSUES
There is also the issue of service legal arrangement which
prohibits a user from moving from one cloud to another
unless certain conditions are met. This increases switching
costs for the end user and subsequently, gives more power to
the cloud vendor.
LEGAL ISSUES
According to [17], the biggest issue concerning cloud
computing comes from governments. This is a result of the
borderless global network operations of cloud computing.
Unlike grid computing, cloud computing is not geographic-
specific. Having no borders makes it difficult for
5. International Journal of Computer Applications Technology and Research
Volume 3– Issue 3, 169 - 175, 2014
www.ijcat.com 173
governments to protect or control how data of its people is
stored or used elsewhere and also how to tax companies
operating services over a cloud. Under taxation, if a company
is taxed based on geographical location of its computing
operation, it can simply move this to a virtual office in a
country with a lower tax rate [17].
There are measures being taken to tackle the issue of taxation
under cloud computing on a global approach in order to stop
companies from exploiting tax advantages. Additionally,
there is a recognised need for harmonised laws in the global
front to police how data is stored and used over the cloud.
SECURITY ISSUES
According to [11], one of the main security concerns of
cloud computing is that of its immaturity of the technology.
The cloud provider and client have both security
responsibilities depending on the type of service. In the case
of an IaaS service model, the virtualization software security,
environment security and physical security rest with the
cloud provider. The client or user is responsible for operating
system, data and applications. However, in a SaaS model,
software services, physical and environment security are the
responsibility of the cloud provider.
The main security concern with cloud computing is that of
data security. Confidential documents stored on the cloud
can become vulnerable to attacks or unauthorised access or
modification. There is also the issue of where the data is
physically stored i.e. where the data stores are located. Some
companies prohibit the storage of their data in certain
jurisdictions or countries [13]. Here, trust in cloud computing
is very vital in ensuring that data is properly managed as
depending on the type if model adopted, IaaS, SaaS or PaaS,
the governance of applications and data lies outside the
control of the owner [6]. A possible address to this security
issue is to use an Active Directory (AD or LDAP) in
authenticating users who can have access to data and
applications in the cloud. Using Access Control Lists
(ACLs), permissions can be assigned per document stored
and restrict users from unauthorized access and modification.
Additionally, there are now various security software tools
which can be deployed in the application layer to provide
and enhance authentication, operational defence,
confidentiality and message integrity [12].
There are numerous encryption techniques that have been
developed to further to ensure that data is securely stored in
the cloud. In [14], the authors used an encryption technique
known as “Elliptic curve cryptography encryption” in an
attempt to protect and make secure, data stored in the cloud.
According to [20], clouds are constantly being attacked, on a
daily basis, and as such extra security protocols are needed to
ensure security integrity. The authors proposed the use of
“Transparent Cloud Protection System (TCPS)” to increase
cloud security. Although, their system provided increased
virtualization and transparency, it was never tested in a
professional cloud environment and as such makes it difficult
to establish how useful such a system really is.
Another possible way to address security issues in the cloud
is to use Trusted Third Part (TTP) services within a
particular cloud. Here, TTP established trusted and secure
interaction between trusted parties in the cloud. Any
untrusted party, can simply be ignored or blocked from
access data and application within that cloud. TTP can be
useful in ensuring confidentiality; authenticity and integrity
are maintained in the cloud [6].
The major security worry is that most concerns and issues
discussed in this review are looked at the problems in
isolation. However, according to [22] the technical and
security issues of cloud computing need to analysed together
to gain a proper understanding of the widespread threat of
the “cloud”.
APPLICATIONS OF CLOUD
COMPUTING
One of the reasons for the upward trend of resources
committed to cloud computing is that, cloud computing has
many real benefits and applications to companies,
individuals, research bodies and even government. As the
size of data increases, the need for computing power capable
of analysing these data increases relatively.
One application of cloud computing is that clients can access
their data and applications from anywhere at any particular
time. Additionally, clients only need a computing device and
an Internet connection to access their data and applications.
For example, Dropbox [21] allows users to store their data on
an online cloud and access it using any computing device.
Users can also share folders with other users in the same
manner. Another example is Google Docs [21] which allows
users to edit, modify documents online without having to
move the documents around. All modifications are saved on
the master document on the cloud.
Cloud computing has the possibility of reducing hardware
costs for many companies and individuals. Clients can gain
access to faster computing power and bigger storage without
paying for the physical hardware.
Cloud computing gives companies the ability to gain
company-wide access to its host of software or applications.
Here, a company does not have to buy a licence for every
employee to use particular software; rather it can pay a cloud
computing company on a usage fee basis (utility computing
model). With the introduction of Web 2.0, access to cloud
computing has become less OS-dependent. [21].
CONCLUSION
Cloud Computing describes the provision and delivery of
services that are hosted over the internet according to [24].
The infrastructure of cloud computing allows services and
applications to be provided and accessed from anywhere in
the world as services are offered through data centres [19].
Here, the cloud becomes the single access point for
customers/users to access services.
The number of reasons have contributed to the success of
cloud computing over the last few years. One reason being
the significant improvement of innovations in distributed and
virtualisation computing. Furthermore, cheaper access to
high-speed internet has also contributed to this accelerated
interest [18].
There are three main categories of service provision in cloud
computing are Software-as-a-Service (SaaS), Platform-as-a-
Service (PaaS) and Infrastructure-as-a-Service (IaaS). In
SaaS cloud model, the hardware infrastructure and the
provision of the software product is supplied by the service
provider supplies. PaaS is described as “a set of software and
6. International Journal of Computer Applications Technology and Research
Volume 3– Issue 3, 169 - 175, 2014
www.ijcat.com 174
product development tools hosted on the provider’s
infrastructure.” Developers are able to develop and create
software tools over the internet and also on the provider’s
platform using APIs providers by the cloud provider. IaaS
providers “provides virtual server instance API to start, stop,
access and configure their virtual servers and storage” [24].
However, there are technical issues that need to be
considered carefully when cloud computing is concerned –
one of them being the use of program clustering. Program
clustering helps achieve scalability – the ability of the cloud
to appropriate resources to specific tasks i.e. when a task
needs more computing resources, it has the ability to recruit
more servers or computing power to perform that specific
task. This requires the need for a management system in
recruiting servers and one that is able to prevent bottlenecks
when servers fail. Program slicing allows for the
simplification of programs by focusing on selected aspects of
semantics. Deleting parts of a program that are thought of
having no impact on core semantic of a program on one
server could have a bigger impact on a program on another
server. It can be challenging to develop a program on cloud
as it might difficult to ascertain how to break down a
program into logical parts on different servers.
In addition to technical issues, there are real security issues
with regards to cloud computing. The most concerning
security issue is that of data privacy and integrity in the
cloud. However, there are many works and techniques being
developed to combat the threat of data and application
misuse and access in the cloud. The issues, both technical
and security related, have all been observed in isolation.
What must be noted is that, when these issues are combined,
it could be a huge threat to cloud computing and such it is
imperative that the issues be addressed not in isolation.
One of the reasons for the upward trend of resources
committed to cloud computing is that, cloud computing has
many real benefits and applications to companies,
individuals, research bodies and even government. As the
size of data increases, the need for computing power capable
of analysing these data increases relatively. Another
application of cloud computing is that user can access their
data and applications from anywhere at any particular time.
As cloud computing continues to grow, so we hope the
technical issues and as the need for standardisation to allow
clouds to exchange information effectively and concisely.
Also the current well established cloud vendors to be
prepared to get rid of their standards.
ACKNOWLEDGEMENTS
Our thanks to the colleague Lecturers of Computer Science
department Federal College of Education (Technical)
Potiskum for their contributions towards development of the
paper.
REFERENCES
[1] Abdullin, R. (2010) “Cross-cutting concern”. From:
http://abdullin.com/wiki/cross-cutting-concern.html,
Accessed 11th
Feb 2013.
[2] Aymerich, F., Fenu, G. and Surcis, S. (2008). “An
Approach to a Cloud Computing Network”. First
International Conference on the Applications of Digital
Information and Web Technologies, ICADIWT.
[3] Biddick, M. (2010). “Why You Need a Saas Strategy”.
Retrieved February 12, 2013, from:
http://www.informationweek.com/news/services/saas/showA
rticle.jhtml?articleID=222301002
[4] Bliss, H. (2010). “What is Application Clustering?”
Available at: http://www.wisegeek.com/what-is-application-
clustering.htm, Accessed 14th
Feb 2013
[5] Brooks, F. (1997). “The Mythical Man-
Month”. Addison-Wesley.
[6] Dimitirios, Z. and Dimitrios, L. (2012) Addressing cloud
computing security issues. Elsevier, 28 (3), p.583–59,
Available at:
http://www.sciencedirect.com.ergo.glam.ac.uk/science/articl
e/pii/S0167739X10002554. Accessed: 10thFeb, 2013.
[7] Foster, I., Zhao, Y., Raicu, I. and Lu, S. (2008) “Cloud
Computing and Grid Computing 360-Degree Compared”
[Online Article] from:
http://arxiv.org/ftp/arxiv/papers/0901/0901.0131.pdf,
Retrieved 14 Feb 2013.
[8] Gaw, P. (2008). “What’s the Difference between Cloud
Computing and SaaS”. Available at:
http://cloudcomputing.sys-con.com/node/612033,
Accessed on 11 Feb 2013.
[9] Gu, L. and Cheung, S-C. (2009). “Constructing and
Testing Privacy-Aware Services in a Cloud Computing
Environment – Challenges and Opportunities”. Internetware.
ACM 978-1-60558-872-8/10.
[10] Harman, M. and Hierons, R.M. (2006). “An Overview
of Program Slicing”. Available at:
http://www.cs.ucl.ac.uk/staff/mharman/sf.html, Retrieved on:
10th
Feb. 2013.
[11] Hocenski, Ž. and Kresimir, P. (2010) "Cloud computing
security issues and challenges ", paper presented at MIPRO,
2010 Proceedings of the 33rd International Convention, 24-
28 May. IEEE Conference Publications, p.344 – 349.
Available at:
http://ieeexplore.ieee.org.ergo.glam.ac.uk/stamp/stamp.jsp?tp
=&arnumber=5533317, Accessed 15th
Feb. 2013.
[12] Karadesh, L. (2012) Applying Security Policies and
service level Agreement to Iaas service Model to Enhance
Security and Transition. Elsevier, 31 (3), p.315–326.
Available at:
http://www.sciencedirect.com.ergo.glam.ac.uk/science/articl
e/pii/S0167404812000077, Accessed: 12th
Feb, 2013.
[13] King, N. and Raja, V. (2012) Protecting the privacy and
security of sensitive customer data in the cloud. Elsevier, 28
(3), p.308–319. Available at:
http://www.sciencedirect.com.ergo.glam.ac.uk/science/articl
e/pii/S0267364912000556 , Accessed: 10th Feb, 2013.
[14] Kumar, A. et al. (2012) "Secure Storage and Access of
Data in Cloud Computing", paper presented at ICT
Convergence (ICTC), 2012 International Conference on, 15-
17th Oct.. IEEE Conference Publications, p.336 - 339.
7. International Journal of Computer Applications Technology and Research
Volume 3– Issue 3, 169 - 175, 2014
www.ijcat.com 175
Available at:
http://ieeexplore.ieee.org.ergo.glam.ac.uk/stamp/stamp.jsp?tp
=&arnumber=6386854, Accessed: 12th
Feb, 2013.
[15] Lewis, C. (2009). “Infrastructure as a Service”.
Available at: http://clouddb.info/2009/02/23/defining-cloud-
computing-part-6-iaas/, Accessed: 6th
Feb 2013.
[16] Li, S. (2005). “An Introduction to AOP”. Available at:
http://www.ibm.com/developerworks/java/tutorials/j-
aopintro/section4.html [Accessed 12th
Feb 2013].
[17] Lonbottom, C. (2008) “Obstacles to Cloud Computing”.
[Online] Available at: http://www.information-
management.com/news/10002177-1.html?pg=1, Accessed
11th
Feb 2013.
[18] Mohammed, A. (2009). “A history of cloud computing”,
Available at:
http://www.computerweekly.com/Articles/2009/06/10/23542
9/A-history-of-cloud-computing.htm, Retrieved: 7th Feb
2013.
[19] Schneider, L. (2011). “What is cloud computing?”
Available at:
http://jobsearchtech.about.com/od/historyoftechindustry/a/cl
oud_computing.htm Accessed on 10th
Feb 2013.
[20] Shaikh, F. and Haider, S. (2011) “Security threats in
cloud computing ", paper presented at 6th International
Conference On Internet Technology And Secured
Transactions, Abu Dhabi, 11-14th Dec. IEEE Conference
Publications.
[21] Strickland, J. (2011) “How Cloud Computing Works”
[Online] Available
http://computer.howstuffworks.com/cloud-computing2.htm
Accessed 14th
Feb 2013.
[22] Sun, D. et al. (2011) Addressing cloud computing
security issues. Elsevier, 15 p. 2852–2856. Available at:
http://www.sciencedirect.com.ergo.glam.ac.uk/science/articl
e/pii/S1877705811020388 Accessed: 12th
Feb, 2013.
[23] TechPluto (2009). “Core Characteristics of Web 2.0
Services”. Available http://www.techpluto.com/web-20-
services/ [Accessed 10th
Feb 2013].
[24] TechTarget (2007). “Cloud Computing” Retrieved from:
http://searchcloudcomputing.techtarget.com/definition/cloud-
computing, Accessed on: 12th
Feb 2013.
[25] Wang, C. et al. (2008) "Privacy-Preserving Public
Auditing for Data Storage Security in Cloud Computing",
paper presented at INFOCOM, 2010 Proceedings IEEE ,
IEEE Conference Publications, p.1-9.[online] Available at:
http://ieeexplore.ieee.org.ergo.glam.ac.uk/stamp/stamp.jsp?tp
=&arnumber=5462173, Accessed on: 12th
Feb 2013.
[26] Wang, L. et al. (2018) Cloud Computing: A Perspective
Study. New Generation Computing, Springer Link, 28 (2),
P.137-146.
[27] Zhang Q., Cheng L., and Boutaba R., (2009) Cloud
Computing: State of the art and research challenges J internet
Serv Appl 1 Brazilian Computer Society pg. 7 – 18.