Cloud computing

11
Stratford University Title: Cloud computing impact in software maintenance Name: BijayBhandari Student ID no: 000-17-6798 Course no: SOF525 Date: 12/04/2013

description

Impact in software maintenance Cloud computing

Transcript of Cloud computing

Page 1: Cloud computing

Stratford University

Title: Cloud computing impact in software maintenance

Name: BijayBhandari

Student ID no: 000-17-6798

Course no: SOF525

Date: 12/04/2013

Page 2: Cloud computing

ABSTRACT

Cloud Computing is the result of evolution and adoption of existing technologies and

paradigms. The goal of cloud computing is to allow users to take benefit from all of these

technologies, without the need for deep knowledge about or expertise with each one of them.

The cloud aims to cut costs, and help the users focus on their core business instead of being

impeded by IT obstacles. The main enabling technology for cloud computing is virtualization;

which is the most rigid component, and makes it available as a soft component that is easy to use

and manage. By doing so, virtualization provides the agility required to speed up IT operations,

and reduces cost by increasing infrastructure utilization. On the other hand, autonomic

computing automates the process through which the user can provision resources on-demand. By

minimizing user involvement, automation speeds up the process and reduces the possibility of

human errors.

Keywords: Cloud Computing, Technology, Software Maintenance

Page 3: Cloud computing

TABLE OF CONTENT

Contents Page

Abstract------------------------------------------------------

Introduction------------------------------------------------------ 1

Summary------------------------------------------------------ 2

Detail----------------------------------------------------- 4

Conclusion ------------------------------------------------------ 7

References ------------------------------------------------------ 8

Page 4: Cloud computing

1

INTRODUCTION

Cloud computing is an expression used to describe a variety of computing concepts that

involve a large number of computers connected through a real-time communicationnetwork such

as the Internet. In science, cloud computing is a synonym for distributed computing over a

network, and means the ability to run a program or application on many connected computers at

the same time. The phrase also more commonly refers to network-based services, which appear

to be provided by real server hardware, and are in fact served up by virtual hardware, simulated

by software running on one or more real machines. Such virtual servers do not physically exist

and can therefore be moved around and scaled up (or down) on the fly without affecting the end

user - arguably, rather like a cloud.

Cloud computing, commonly referred to as SaaS (Software as a Service), takes the risk out of

implementing new software by eliminating large up-front investments and the need for major IT

resource involvement, and the TabWareSaaS deployment option is ideal for companies that want

robust CMMS/EAM capabilities without implementation risks and high upfront costs.

Cloud computing relies on sharing of resources to achieve coherence and economies of scale,

similar to a utility (like the electricity grid) over a network.At the foundation of cloud computing

is the broader concept of converged infrastructure and shared services.

Page 5: Cloud computing

2

SUMMARY

Cloud computing is a kind of grid computing; it has evolved by addressing

the QOS (quality of service) and reliability problems. Cloud computing provides the tools and

technologies to build data/compute intensive parallel applications with much more affordable

prices compared to traditional parallel computing techniques.

Cloud computing shares characteristics with:

Client–server model — Client–server computing refers broadly to any distributed

application that distinguishes between service providers (servers) and service requestors

(clients).

Grid computing — "A form of distributed and parallel computing, whereby a 'super and

virtual computer' is composed of a cluster of networked, loosely coupled computers acting in

concert to perform very large tasks."

Mainframe computer — Powerful computers used mainly by large organizations for critical

applications, typically bulk data processing such as: census; industry and consumer statistics;

police and secret intelligence services; enterprise resource planning; and financial transaction

processing.

Utility computing — The "packaging of computing resources, such as computation and

storage, as a metered service similar to a traditional public utility, such as electricity."

Peer-to-peer — A distributed architecture without the need for central coordination.

Participants are both suppliers and consumers of resources (in contrast to the traditional

client–server model).

Page 6: Cloud computing

3

Cloud gaming — Also known as on-demand gaming, is a way of delivering games to

computers. Gaming data is stored in the provider's server, so that gaming is independent of

client computers used to play the game. One such current examplewould be a service

by Onlive which allows users a certain space to save game data, and load games within the

onlive server.

Cloud Computing is the result of evolution and adoption of existing technologies and paradigms.

The goal of cloud computing is to allow users to take benefit from all of these technologies,

without the need for deep knowledge about or expertise with each one of them. The cloud aims

to cut costs, and help the users focus on their core business instead of being impeded by IT

obstacles.

The main enabling technology for cloud computing is virtualization. Virtualization generalizes

the physical infrastructure, which is the most rigid component, and makes it available as a soft

component that is easy to use and manage. By doing so, virtualization provides the agility

required to speed up IT operations, and reduces cost by increasing infrastructure utilization. On

the other hand, autonomic computing automates the process through which the user can

provision resources on-demand. By minimizing user involvement, automation speeds up the

process and reduces the possibility of human errors.

Users face difficult business problems every day. Cloud computing adopts concepts

from Service-oriented Architecture (SOA) that can help the user break these problems

intoservices that can be integrated to provide a solution. Cloud computing provides all of its

resources as services, and makes use of the well-established standards and best practices gained

in the domain of SOA to allow global and easy access to cloud services in a standardized way.

Page 7: Cloud computing

4

DETAIL

Cloud computing providers offer their services according to several fundamental

models: infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service

(SaaS) where IaaS is the most basic and each higher model abstracts from the details of the lower

models.

Cloud computing is the next technology that will undoubtedly impact software maintenance

practices in the near-term. Cloud computing is location- independent computing, whereby shared

servers provide resources, software, and data to users’ machines on demand via the Internet on a

fee- for- service basis much like the electric grid. Cloud computing is a natural evolution of the

widespread adoption of virtualization, service- oriented architecture, and utility computing.

Details are abstracted from consum­ers, who no longer have need for expertise in, or control

over, the technol­ogy infrastructure that exists in the cloud. When used by an enterprise to satisfy

its business requirements, cloud computing can be implemented as an infrastructure- as- a-

service, platform- as- a- service, or software- as- a- service depending on the strategy adopted for

its use.

When cloud computing is mechanized as software- as- a- service ( SaaS), software applications

are either deployed on demand over the Internet or they run behind a firewall on the user’s

personal computer on a subscrip­tion basis. Under such an arrangement, a provider licenses an

application through a subscription to a user either as a service on demand using a ―pay- as- you-

go‖ model or free when opportunities to derive revenue from other avenues like advertisements

or user lists or profiles present them­selves. This approach uses the utility computing model to

deliver applica­tions services from the ―cloud‖ via access through the Internet.

Page 8: Cloud computing

5

Organizations find cloud computing attractive for many reasons. Applications are accessible to

your people anywhere there is an Internet connection. There are no local servers needed, and a

wide variety ofapplications software can be licensed on a pay- as- you- go subscription basis.

Scalability can be achieved in an instant through the cloud, and software maintenance (software

updates, user support and training, back­ups in the cloud in case of disaster, etc.) is often either

included as part of the subscription or a service that can be added at the time of purchase.

From a software maintenance point- of- view, cloud computing can pro­vide blessings when

entire applications software systems are handled by those in the clouds. Access to what you need

is immediate and subscription costs are manageable, especially when you track them. Use of

cloud com­puting occurs in practice often when large systems that integrate and pro­vide

financial, customer relations, human resources, and other key business services to the enterprise

are licensed and when specialized services that are needed infrequently are acquired on a pay-

as- you- go basis. However, horrific events can occur when parts of the system are maintained in

the cloud and in the maintenance facility simultaneously, because it seems that nobody knows

who is responsible to fix problems when they occur. In addi­tion, security often raises itself as an

issue when access to the system and its databases is outside your immediate control. So does user

support. Often, support in the clouds fails to provide customers with immediate answers or

response to their queries. In response, maintenance shops have to address the shortfalls.

These few tips help software groups to besucceeded when tackling the task of software

maintenance.

1. As expected, there are many emerging technologies that need to be considered because they

can be potentially used to speed work flows and get tasks completed more efficiently. When

assessing technology, look at how it impacts the work because that is what counts in practice.

Page 9: Cloud computing

6

2. Use of advanced technology can make a difference, both posi­tive and negative, during any

and all phases of the life cycle. So take the time to look at its ramifications both pro and con.

3. Make sure to consider the impacts of the technology on soft­ware maintenance when building

your business case for new technology adoption especially when in the development phase.

4. A good way to rate the maturity of technology is Technology Readiness Levels (TRLs).

However, the ability of the receiv­ing organization to use the technology is just as important.

Therefore, rate both and if one is found deficient, take action to rectify the situation.

5. Just because you are inserting a new technology into an applica­tion does not mean it has a

low maturity level. COTS packages which have relatively high TRLs may be used as a

technology transfer mechanism.

6. The key to managing new technology adoption is risk. Balance technology risk against cost,

schedule and customer satisfaction constraints to determine how much change can be sustained.

7. View claims by those that new technology yielded miracles with skepticism especially when

they are related to software maintenance. Most of those making such claims are basing them on

projections and not hard data. Ask for proof based on actual measurements taken

8. Keep track of those technologies that may have an impact on software maintenance. I have

identified a few candidates for your consideration. Others will show up as practitioners devise

new and innovative ways to solve their problems.

Page 10: Cloud computing

7

CONCLUSION

Cheaper processors, faster networks, and the rise of mobile devices are driving

innovation faster than ever before Cloud computing is a manifestation and core enabler of this

transformation just as the internet has led to the creation of new business models unfathomable

20 years ago, cloud computing will disrupt and reshape entire industries in unforeseen ways .The

goal of cloud computing is to allow users to take benefit from all of these technologies, without

the need for deep knowledge about or expertise with each one of them. The cloud aims to cut

costs, and help the users focus on their core business instead of being impeded by IT obstacles.

REFERENCES

Page 11: Cloud computing

8

1. http://ctovision.com/wp-content/uploads/2011/02/Federal-Cloud-Computing-Strategy1.pdf

2. http://books.google.com/

3. Text book of software maintenance