cloud computing services, issues and impacts

4
Cloud Computing: Services, Issues and Impacts. Sara Al-Sudairy 1 , Nouf Al-Shenaifi 2 1,2 Department of Computer Science, King Saud University, Riyadh, Saudi Arabia 1 [email protected] 2 [email protected] AbstractCloud computing brings about a paradigm shift in the IT industry. The related applications and resources were removed from portable desktop or hardware-software into large cloud computing centres, which is delivered as software as a service (SaaS), platform as a service (PaaS) and Infrastructure as a service (IaaS), to provide all kinds of services on-demand. This paper provides an insight to cloud computing, its advantages and discusses various issues that organizations face while implementing cloud computing. Further, analyses of how cloud computing is going to impact the software engineering process to develop quality software is presents. KeywordsCloud, Cloud computing, Software Engineering. I. INTRODUCTION A new paradigm of computing has started to evolve in recent times called cloud computing. In this environment, the applications, data and software are no longer exist on the client side; instead they are treated as abstract services and reside in a cloud. Cloud, which is the next revolutionary step in distributed computing, will change the world in such a way that people can get any service on the cloud where cloud is the limit. Cloud keeps up the earlier promise of the Internet that you could dynamically move out of another environment [5]. Additionally, Cloud computing is the virtualization of computer programs through Internet connection rather than installing applications on every office computer. Virtualization is efficient because expensive physical devices that were dedicated to specific applications can be shared across a number of functions without modifying the applications. The rest of the paper is organized as follows: Section 2 presents a high-level definition of cloud computing followed by cloud computing services which categorized in three models: Infrastructure as a Service (IaaS), platform as a service (PaaS) and Infrastructure as a service (IaaS). Section 3 discusses the impact of cloud computing on Software Engineering. Section 4 lists some of cloud computing advantages. Issues and challenges related to cloud computing are addressed in section 5. Section 6 presents current cloud computing applications. Finally, we conclude the paper in Section 7. II. FRAMEWORK OF CLOUD COMPUTING Cloud is the main concept in cloud computing, it is group of many interconnected computers and network servers, the large network that providing resources called "cloud". The architecture of the cloud typically involves component communications with each other over software application that allow the customer to access cloud application. In traditional development environment the organization needs a large number of servers, equipment and storage devices, also requires maintenance and skilled technical team. However, now with cloud computing data, files and applications are hosted on cloud and can be accessible via the web. New advances in processors, virtualization technology, disk storage, broadband internet access and fast, inexpensive servers have all combined to make cloud computing a compelling paradigm. Cloud computing allows customers and companies to pay for and use the software and storage that they need, when they need and where they need them [3]. Moreover, cloud computing is environmental friendly because of the easy to build web based applications that run on the cloud; and it gives the ability to meet changing in user demands. III. CLOUD SERVICE MODELS A. Based on Type of Capability: Cloud basically offers three types of services: (1) IAAS (infrastructure as a service), (2) PAAS (platform as a service) and (3) SAAS (software as a service). As shown in figure 1. 1) Infrastructure as a Service (Iaas): Infrastructure as a Service is virtual servers with number of unique IP addresses and block of storages on user demand. The customer can pay the amount of service he/she needs through application program interface. Service includes provision of hardware and software for processing, data storage, networks and any required infrastructure for deployment of operating systems and applications. 2) Platform as a Service (Paas): Platform as a Service is services includes programming languages, tools and application delivery platform hosted by the service provider to support development, deployment, testing, maintaining and delivery of end-user applications. Developers can use the provider application interface to create any application. In Platform as a Service there are four type of application which is: social application platforms, row compute platforms, web application platform and business application platforms. 3) Software as a Service (Saas): Software as a Service is the service based on the concept of renting software from a service provider rather than buying it yourself, It is known as software on demand [3]. Hosted software applications are provided and managed by the service provider for the end- user and the software interacts with user through a user

Upload: nouf-al-shenaifi

Post on 22-Apr-2015

62 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Cloud Computing Services, Issues and Impacts

Cloud Computing: Services, Issues and Impacts. Sara Al-Sudairy

1, Nouf Al-Shenaifi

2

1,2

Department of Computer Science, King Saud University, Riyadh, Saudi Arabia [email protected]

[email protected]

Abstract— Cloud computing brings about a paradigm shift in the

IT industry. The related applications and resources were

removed from portable desktop or hardware-software into large

cloud computing centres, which is delivered as software as a

service (SaaS), platform as a service (PaaS) and Infrastructure as

a service (IaaS), to provide all kinds of services on-demand. This

paper provides an insight to cloud computing, its advantages and

discusses various issues that organizations face while

implementing cloud computing. Further, analyses of how cloud

computing is going to impact the software engineering process to

develop quality software is presents.

Keywords— Cloud, Cloud computing, Software Engineering.

I. INTRODUCTION

A new paradigm of computing has started to evolve in

recent times called cloud computing. In this environment, the

applications, data and software are no longer exist on the

client side; instead they are treated as abstract services and

reside in a cloud. Cloud, which is the next revolutionary step

in distributed computing, will change the world in such a way

that people can get any service on the cloud where cloud is the

limit. Cloud keeps up the earlier promise of the Internet that

you could dynamically move out of another environment [5].

Additionally, Cloud computing is the virtualization of

computer programs through Internet connection rather than

installing applications on every office computer.

Virtualization is efficient because expensive physical devices

that were dedicated to specific applications can be shared

across a number of functions without modifying the

applications. The rest of the paper is organized as follows:

Section 2 presents a high-level definition of cloud computing

followed by cloud computing services which categorized in

three models: Infrastructure as a Service (IaaS), platform as a

service (PaaS) and Infrastructure as a service (IaaS). Section 3

discusses the impact of cloud computing on Software

Engineering. Section 4 lists some of cloud computing

advantages. Issues and challenges related to cloud computing

are addressed in section 5. Section 6 presents current cloud

computing applications. Finally, we conclude the paper in

Section 7.

II. FRAMEWORK OF CLOUD COMPUTING

Cloud is the main concept in cloud computing, it is group

of many interconnected computers and network servers, the

large network that providing resources called "cloud". The

architecture of the cloud typically involves component

communications with each other over software application

that allow the customer to access cloud application. In

traditional development environment the organization needs a

large number of servers, equipment and storage devices, also

requires maintenance and skilled technical team. However,

now with cloud computing data, files and applications are

hosted on cloud and can be accessible via the web. New

advances in processors, virtualization technology, disk storage,

broadband internet access and fast, inexpensive servers have

all combined to make cloud computing a compelling paradigm.

Cloud computing allows customers and companies to pay for

and use the software and storage that they need, when they

need and where they need them [3]. Moreover, cloud

computing is environmental friendly because of the easy to

build web based applications that run on the cloud; and it

gives the ability to meet changing in user demands.

III. CLOUD SERVICE MODELS

A. Based on Type of Capability:

Cloud basically offers three types of services: (1) IAAS

(infrastructure as a service), (2) PAAS (platform as a service)

and (3) SAAS (software as a service). As shown in figure 1.

1) Infrastructure as a Service (Iaas): Infrastructure as a

Service is virtual servers with number of unique IP addresses

and block of storages on user demand. The customer can pay

the amount of service he/she needs through application

program interface. Service includes provision of hardware

and software for processing, data storage, networks and any

required infrastructure for deployment of operating systems

and applications.

2) Platform as a Service (Paas): Platform as a Service is

services includes programming languages, tools and

application delivery platform hosted by the service provider to

support development, deployment, testing, maintaining and

delivery of end-user applications. Developers can use the

provider application interface to create any application. In

Platform as a Service there are four type of application which

is: social application platforms, row compute platforms, web

application platform and business application platforms.

3) Software as a Service (Saas): Software as a Service is

the service based on the concept of renting software from a

service provider rather than buying it yourself, It is known as

software on demand [3]. Hosted software applications are

provided and managed by the service provider for the end-

user and the software interacts with user through a user

Page 2: Cloud Computing Services, Issues and Impacts

interface (web browser). The application deliver it as a service

and accessible from various customer's devices and this

platform provides flexibility in application's location. The

platform enables scenarios where some applications are

delivered as a service while others run on client and server

devices. Yahoo mail and Google docs are examples of SaaS

vendors.

Figure.1 Cloud Computing Service Models .

B. Based on Access

There are basically three types of cloud: (1) public, (2)

private and (3) hybrid cloud.

1) Public Cloud (External Cloud): The organization will

rent the resources from an off-site (third -party) cloud

provider and these resources will be shared between

multiple tenants. In addition, resources are dynamically

provisioned on a fine-grained, self-service basis over

the Internet, via web applications/web services. Public

cloud is easy and inexpensive set-up because

application and hardware are covered by provider.

However, public clouds are still not mature because of

the various unaddressed security issues [5].

2) Private Cloud (Internal Cloud): The organization owns

all resources on-site. It may be managed by the

organization or a third party, and may exist on premise

or off premise; but only members of the client

organization can provision, configure and use the

resources of that private cloud [3]. The private cloud

should offers necessary hardware and software

provisions to the customers per their request.

3) Hybrid Cloud: The hybrid cloud is in the middle

between private cloud and public cloud which means

the organization owns some resources (external

resources) and rent some other resources. Hybrid cloud

will dominate the market in the future than public

cloud because most of the enterprises have made huge

investments in the infrastructure required providing

resources in-house and they prefer to keep the data in

their control and the other services can be given to the

external providers [3].

IV. IMPACT OF CLOUD COMPUTING ON SOFTWARE

ENGINEERING

Software engineering is an engineering discipline that is

concerned with all aspects of software production [1]. The

success of software project is measured by that the

developed software should deliver the required

functionality within time and budget and in accordance to

Quality attributes. Cloud computing will transform the

software industry and offers a better economical way of

software development as the customers will not have to

spend capital of owning or renting the Hardware/Software

rather they can use the resources and expense is cut down

to usage only. Furthermore, cloud computing means more

for development of the software as developers will be

coding, testing, staging and working with services and will

have to design for running in parallel, not just in sequential.

More promises of cloud computing regarding cost savings

as the costs of operations and delivery is reduced.

However, in the rapidly changing computing

environment with web services and cloud platform,

Software development is going to be very challenging.

Software development process will involve heterogeneous

platforms, distributed web services and multiple

enterprises geographically [2]. Software process model

activities require interaction with cloud providers. By

Comparing software process model activities of traditional

software development and software development with

cloud platform we found that In the requirements phase,

traditional software development includes customers, users

and software engineers while in cloud platform it has to

include the cloud providers as well as they will be

supplying the computing infrastructure to offer customers

storage, software services and maintain them too. Planning

and design phases of software development with cloud

computing also have to include the cloud providers.

Coding and testing can be done on the cloud platform

which gives developers a huge benefit as everybody will

have easy access to the software being built, which also

will reduce the cost and time for testing and validation.

Maintenance phase also should include the cloud providers

as well as software engineers. Maintenance of Software

product is now the key responsibility of cloud providers.

Because of the involvement of the cloud provider the

customer has to sign contract with them as well so that the

“Software Engineering code of ethics” are not violated by

the cloud provider.

Radha et al in [2] propose an extended version of

Extreme Programming (XP), an agile process model for

cloud computing platform and named it Extreme Cloud

Programming. This model is proposed to leverage the

benefits of cloud computing and mitigate the challenges of

Software development with cloud platform. The suggested

model "Extreme Cloud Programming" includes all the

phases of software development life cycle (planning,

design, construction, testing and deployment); these

phases need interaction with the representatives from

cloud provider. In requirement phase, the activities of

Page 3: Cloud Computing Services, Issues and Impacts

cloud provider are mainly about resource accounting while

the software developers will focus on requirements

elicitation in this phase. During design phase, software

developer roles include Interface design, data types, cost

estimation, schedule estimation; Software/Hardware

architecture and component reuse are responsibility of

cloud provider. In construction phase if application or web

services are used, coding integration of web services is

responsibility of software developers and the

implementation details will be mitigated with the

mediation of the cloud provider. Testing phase is done in

cooperation between software developers and cloud

providers. On the other hand deployment phase is only

performed by cloud provider.

V. BENEFITS OF CLOUD COMPUTING

The conversion of development environment to cloud

computing gives an organization number of positive effects,

like reducing cost and accelerating the development process

through automatic construction of development environments

[4]. Some of cloud computing advantages are listed below:

A. Simplicity: Obviously, it is simple and easy to use all

the services without having to worry about resource

management and infrastructure set up and management

[3].

B. Cost: costs of setting up infrastructure such as (servers,

database administrators, people resources for managing

critical systems including backup and recovery) and

costs of maintenance or upgrade can be avoided using

the cloud. Instead, organizations pay for services based

on usage; this pay-per-usage model allows an

organization to only pay for the resources they need

with basically no investment in the physical resources

available in the cloud. Moreover, it gives organizations

the chance to change old technology to new technology

without worrying about the cost.

C. Scalability: Users have access to a large amount of

resources that scale based on user demand. Assume

that normal loading requires 5 data servers to serve a

group of users, at the end of each month, 20 servers'

worth of computing is needed; using a traditional data

center, 20 servers are purchased to meet peak loading,

and they run at about 20% load most of the month.

Using the cloud to run either all services or just

additional services at peaks may provide economic

benefits. Moreover, it will reduce the delay time

needed to offer a new service.

D. Availability: The cloud providers provide the latest

software, hardware, bandwidth, large storage space,

high speed access, infrastructure and platform.

E. Collaboration: Since everything is on the cloud, Users

are starting to see the cloud as a way to work

simultaneously on common data and information.

F. Mobility: Users have the ability to access data and

applications from around the globe.

G. Efficiency: Developers have to perform wide range of

tasks to construct a development environment, from

setting up the servers to installing the operating system

and applying latest patches and updates. These tasks

take an effort and time to complete. However, on the

cloud, the work of constructing the development

environment can now be done in less effort. Moreover,

as developers are no longer have to perform systems

backups or switching, they can focus on the actual

development work.

H. Immediacy: cloud computing helps to save time and

reduce delays in time because it provides application in

relatively less time rather than the old approach.

I. Resiliency: In cloud computing platform, cloud

provider fully ensures the availability of the services

even in case of natural disasters.

J. Risk Reduction: Companies and individuals may use

the cloud to test ideas and concepts before making

major investments in technology.

VI. CLOUD COMPUTING CHALLENGES

Cloud computing faces many of the same challenges as

other information and network technologies, some of the

issues related to cloud computing are presented below:

A. Security: The major challenge in cloud computing is the

protection of user data from external attacker or from

cloud provider who access unencrypted data. Security

worries are undoubtedly slowing the adoption of the cloud

and prevent enterprises from taking advantage of the cloud

computing technology. "A recent survey commissioned by

Microsoft has found that 75 percent of senior business

leaders consider safety, security and privacy as the top

potential risks of cloud computing. More than 90 percent

of the general population and business leaders would have

concerns about the security and privacy of their own data

in a cloud computing environment, according to the survey

by Penn Schoen & Berland" [5]. The key concern is data

privacy where users do not have control on where their

data is being stored. However, most providers will provide

audit rights and even a documented security audit from a

third party, but not a 100% security guarantee. While

many cloud providers store data in specific locations,

every site has physical and electronic vulnerabilities.

Sensitive information such as credit card numbers, social

security numbers and financial information may be too

valuable to be stored on the cloud. Most of the cloud

service providers take enough measures to secure the data

by applying data encryption mechanisms, user

authentication and authorization practices; on the other

hand, users are always worried about the vulnerability of

external data to hackers and disgruntled employees. The

cloud service providers should ensure that encryption

policies are designed and tested by experts.

B. Standards: universal set of standards have not yet been

defined resulting in a significant ris for consu ers to

Page 4: Cloud Computing Services, Issues and Impacts

ove their entire operations . hence, standards governing

regulations are needed which ensure uniformity in how the

applications are accessed, stored and modified [3].

C. Legality and Regularity Compliance: Issues arise

regarding the ownership of data and whether the client

might be ready to forgo the rights of their data [3]. Cloud

Computing is not currently subject to specific regulation.

Despite the lack of specific regulation, in certain

jurisdictions the provision of cloud computing services

will require the provider to obtain a license.

D. Performance: All access to the cloud is done via the

internet, introducing latency into every communication

between the user and the environment.

E. Financial: The cost of cloud computing is larger than in-

house data centres in case of large organization. The best

using of cloud computing is in small and medium

organization.

F. Switch over to new technologies: Switching to cloud

computing (new technology) would be best when the

applications and data are independent. In small to medium

organizations, when a low level of protection works well

and a strong architecture of the organization conditions are

favourable for the organization to switch to newer

technologies. However, organizations face many

difficulties to move to new technology.

G. Technical Hardware and Software Expertise: There are

needs for technical experts to develop cloud computing

applications in order to suit the requirements and the

provision of services and equipment necessary to achieve

the goal of cloud computing.

H. Operational and Organizational: A strategy for the

management of cloud services, including how the

organization will deal with security, management and

transactions need to be created. The organization could

face many internal issues like distributed business levels

and complexity of applications.

VII. CURRENT CLOUD COMPUTING APPLICATIONS

There are many service providers like 3Tera, Net suite,

Amazon Web services, IBM, Microsoft, Google and

Mosso in the market offering cloud services. There is no

specific standard where each cloud service provider

defines his product in his own way. Furthermore, at end-

user level, there are online photo and document sharing

applications such as flickr, Google Doc ,Google Calendar

and picas; Also, online business software such as

Salesforce.com.

VIII. CONCLUSION:

Cloud computing is currently gaining popularity as an

inexpensive way of providing storage and software. Cloud

computing is a paradigm shift over traditional way of

developing and deploying software application. This will

make software engineering more difficult as they have to

interact with a third party called the “cloud provider”. This

paper discussed cloud computing as an emerging paradigm.

We have listed advantages of cloud computing and

highlighted the challenges of cloud computing. Also we have

discussed the impact of software engineering on cloud

computing.

REFERENCES

[1] Ian Sommerville, Software Engineering, 7th Edition, Addison-

Wesley, 2004.

[2] R.Guha and D.Al-Dabass, "Impact of Web 2.0 and Cloud

Computing Platform on Software Engineering," in international

Symposium on Electronic System Design, 2010.

[3] U.Lanjewar and L.Rewatkar, "Implementation of Cloud

Computing on Web Application," in International Journal of

Computer Applications, vol.2, No.8, June 2010.

[4] L.Mei, Z.Zhang, and W.Chan, "More Tales of Clouds: Software

Engineering Research Issues from the Cloud Application

Perspective," in 33rd Annual IEEE International Computer Software

and Applications Conference, 2009.

[5] R.Suchithra, R.Selvarani and D.Nagamalai, " Elements of Cloud

Computing: A Perspective on Service Oriented Enterprises (SOEs)".

[6] N.Kalyankar and S.Mirashe, "Cloud Computing," in Journal of

computing, vol.2, No.3, March 2010 .

[7] S.Qamar, N.Lal and M.Singh, "Internet Ware Cloud

Computing :Challenges," in (IJCSIS) International Journal of

Computer Science and Information Security, Vol. 7, No. 3, March

2010.

[8] A.Pandey, A.Tandon, B.Maurya and U.Kushwaha, "Cloud

Computing: Exploring the scope," in Indian Institute of Information

Technology- Allahabad.

[9] A.Qamar and G.Briscoe, "Community Cloud Computing,"

October 2009.