Title: Cloud computing impact in software maintenance
Student ID no: 000-17-6798
Course no: SOF525
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 beneﬁt 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
Keywords: Cloud Computing, Technology, Software Maintenance
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.
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
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
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
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
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 beneﬁt 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
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.
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
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- aservice, platform- as- a- service, or software- as- a- service depending on the strategy adopted for
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- yougo‖ 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 applications services from the ―cloud‖ via access through the Internet.
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 payas- 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
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.
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.
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 beneﬁt 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.
3. Text book of software maintenance