Knowledge Map of Cloud Computing
Knowledge Map of Cloud Computing
Domain Analysis
CMPE 202-02
Fall 2017
Team AEA
ABSTRACT....................................................................................................................................2
INTRODUCTION........................................................................................................................ 3
EBT #1-RECOVERY....................................................................................................................7
EBT #2 -LIFECYCLE..................................................................................................................8
BO #1 - PROTOCOL...................................................................................................................8
BO #2 - CONTENT......................................................................................................................9
ARCHITECTURES................................................................................................................... 10
CONCLUSIONS......................................................................................................................... 11
REFERENCES........................................................................................................................... 12
APPENDIX................................................................................................................................. 13
1
ABSTRACT
Cloud computing is the delivery of on-demand computing resources over the Internet on a pay per
use basis (IBM). A large number of enterprises have adopted cloud computing services to make
their operation faster, more reliable and more easily accessible.
However, a domain analysis does not exist for cloud computing. Usually, domain experts are very
good in the tangible aspect of any given domain. The current domain analysis of any system or
technology such as cloud computing must create a foundation that is needed to develop any system
or understand any technology fully by generating the true requirements and ultimate design and
architecture in addition to adding testing requirements to both phases.
The goal of this article is for complete understanding of the domain of cloud computing. This
domain is rapidly changing and new features are added frequently. It can get confusing with so
many features. This knowledge map can be used to design and implement cloud computing
services in a way that is easily adaptable to any new technology platform and future proof when
changes in industrial objects, such as server computing machinery and network infrastructure,
occur.
Since data is being stored in the cloud instead of in local storage, we identified that being able to
recover data is an essential goal of any cloud technology. Cloud computing also needs to go
through a lifecycle which encompasses architecture, programming, testing and maintenance. In
addition, the content on the cloud is also a key component of all cloud technologies. The content
is communicated through network protocols which also remain stable externally. For good quality
cloud environments, it is important for proper data privacy measures to be in place.
Our main findings from conducting a domain analysis of cloud computing are:
Even though cloud computing is a new and emerging technology, it has many stable
components which will make it reusable even when surrounding features change.
2
Information recovery and the ability to go through a lifecycle are goals of any cloud
computing technology.
The ability to store content and use various protocols to communicate are capabilities of
any cloud computing technology.
We identified that information privacy is a key quality factor that makes a good cloud
computing service.
INTRODUCTION
Cloud computing is the practice of using a network of remote servers hosted on the Internet to
store, manage and process data rather than a local server or a personal computer. In this report, we
conducted a domain analysis on cloud computing. Domain analysis is the process of analyzing an
area of knowledge to identify its common and variable parts.
This article provides a knowledge map which will serve as a road map to guide software developers
as they try to understand the rationale, business rules and the context of applications of cloud
computing (Fayad et al.,2015) . The knowledge map is based on software stability concepts.
Software stability classify the classes of any system into three main layers of understanding: the
Enduring Business Themes (EBTs), Business Objects (BOs) and Industrial Objects (IOs) (Fayad
et al.,2015). We have also utilized pattern languages in our domain analysis to create scenarios.
Pattern languages are simply a collection of interrelated patterns which can be combined in any
manner to design and create new scenarios which developers can use to solve context based
problems (Fayad et al.,2015).
In this report, we will outline a general architecture and knowledge map that can be applied to any
application of cloud computing, regardless of short term technological changes and transitions in
industrial objects (IOs) used in any cloud computing framework.
First we will discuss enduring business themes (EBTs) of cloud computing, that is, themes, uses,
and purposes that cloud computing services will always have regardless of the architecture they
are implemented on or the method of implementation. Then we will discuss business objects (BOs)
common to all cloud computing services, which are abstractions of industrial objects that represent
a specific functional purpose to be fulfilled by cloud computing. Because BOs are hardware &
implementation agnostic, they can easily be applied to new architectures and are enduring in their
usage and high level design, essentially serving as a black box inside of which can be found our
3
industrial objects which provide the actual implementation of the desired functionality. We will
then discuss non-functional requirements (NFRs) common to all cloud computing services, which
are essentially quality factors by which we can judge the implementation and operation of a cloud
computing service.
The two EBTs we will discuss in particular are recovery, the ability of a cloud computing service
to recover to a desirable state when data loss, service outages, network faults, or other problems
occur, and lifecycle, the process through which cloud computing services are considered, designed,
implemented, maintained, and evaluated.
The two BOs we will discuss are protocol, which describes the essential rules that any particular
cloud service must follow in order to meet its business objectives, and content, the information
that is stored and processed by any cloud computing service.
The two NFRs we will discuss are privacy, an often desirable attribute of cloud computing
services, and security, an often essential requirement of cloud computing services in order for them
to meet their business needs
Keywords: Cloud Computing, Software Stability, Domain Analysis, Knowledge Map,
Pattern Language
Our knowledge map consists of the following two EBTs and BOs :
1. EBTs: These are Enduring Business Themes which represent the elements that
remain stable internally and externally. These are entirely conceptual.
A. Recovery
Recovery is defined as the return of something that has been lost or stolen (Merriam-
Webster). Since all the data is stored in the cloud, backing it up and restoring is
relatively easier than storing on a physical device. Handling recovery of information
is an essential goal for all cloud service providers.
Along with backup management, disaster recovery is usually available as a service in
cloud. This is used for protecting an application or data from a natural or human
disaster or service disruption at one location by enabling a full recovery in the cloud.
B: Lifecycle
4
Lifecycle is defined as a series of stages through which something passes during its
lifetime(Merriam-Webster). In order for a cloud environment to be successfully
deployed, it needs to go through certain stages like planning the cloud environment,
building applications in the cloud, setting up a metering mechanism and finally ways
to manage and monitor the cloud.
EBTs/Goals Description
2. BOs: These are the Business Objects that remain internally adaptable, but externally
stable. These are semi-tangible.
A. Protocol
Protocol is defined to be a set of rules that governs the communication between the two
things (Merriam-Webster). Cloud computing is based on various networking protocols.
These protocols include devices to identify and make connections with each other, as
well as formatting rules that specify how data is packaged into messages sent and
received. These protocols are internally flexible meaning they can be used to
communicate with any two devices according to varying scenarios. However, the
protocol itself is fixed and cannot changed.
B. Content
Content is a collection of perceivable media, usually for specific medium (Merriam-
Webster). Content includes things like music, art, writing and software. The word
content is used to describe the body that fills up the medium, like the content of a
shipping container is goods, or the content of a book is text and images, the content of
an app store is apps and games.
5
Clouds contains various content according to business and individual needs. These
content can be easily changed by authorized users. However, unauthorized users will
not be allow to change any of the contents making it externally stable.
BOs/Capabilities Description
Protocol Cloud is based on various protocols which are a set of rules meant
for communication in networking.
Non-Functional Description
Requirements/Quality Factors
6
These are the following properties every cloud computing technology must have (Chabrow, 2011):
EBT#1 - RECOVERY
7
This scenario corresponds to any individual (AnyActor) who lost his Android phone (AnyMedia)
and lost his data (AnyData). To avoid the same issue (AnyConstraint ) in future, this individual
wants to have a backup of his phones data somewhere (AnyMechanisem) safe that he can recover
them later in case his phone get stolen. For this reason he decided to use the data cached in the
cloud by Google (AnyElement), which can include contacts, wallpapers, calendar entries and some
account information. Google cloud does not automatically back up images, games, movies and
other data so you should configure backups right away. By using Google cloud now, this individual
can recover his data in future in case something happen to his Android phone.
EBT#2 LIFECYCLE
BO#1 PROTOCOL
8
This scenario corresponds to any business (AnyParty) where they want to prevent certain
undesirable events (AnyEvent) from happening to their cloud computing service, and want to write
out a list of protocols for their applications to abide by such as to prevent these events from
happening as long as they follow those protocols.
BO#2 -CONTENT
9
example a cloud computing blog service has new content posted to it every day with updates about
news and events happening around the world.
ARCHITECTURE PATTERNS
1. Network Protocol are rules and conventions for communication between network
devices (Wikipedia).
2. Network Architecture is the design of a communication network (Wikipedia).
3. Disaster Recovery involves a set of policies, tools, and procedures to enable the
recovery or continuation of vital technology infrastructure and systems following a
natural or human induced disasters (Wikipedia).
10
4. Lifecycle Management is the process of managing the entire lifecycle of cloud from
planning to deployment and monitoring (Wikipedia).
5. Content Delivery is a geographically distributed network of proxy servers and their data
centers (Wikipedia).
6. Content Management is a set of processes and technologies that supports the collection,
managing, and publishing information in any form or medium (Wikipedia).
7. Data Privacy deals with the ability of an organization or individual has to determine
what data in a computer system can be shared with third parties (Wikipedia).
8. Security Protocol are rules and conventions that ensures the security and integrity of
data in transit over a network connection (Wikipedia).
9. Network Virtualization is the process of combining hardware and software network
resources and network functionality into a virtual network (Wikipedia).
10. Data Recovery is the process of salvaging inaccessible, lost, corrupted, damaged or
formatted data from secondary storage, removable media or files when the data in them
cannot be accessed in a normal way (Wikipedia).
CONCLUSION
In this report, we have presented an approach of a generalized architecture and knowledge map for
any conceivable cloud computing implementation, in particular focusing on the enduring business
themes of a cloud computing services lifecycle and recovery, any cloud computing services
business objects of protocol and content, and any cloud computing services non-functional
requirements of privacy and security.
We identified that recovery of data and programs is an essential goal of all cloud technologies. In
addition, cloud computing also needs to go through various stages in a lifecycle order for it to be
successfully deployed. Protocol and Content are internally adaptable in varying cloud
environments, but are externally stable. As well, in order for the cloud technology to be of high
quality, it needs to be reliable and have high standards for information privacy.
The cloud computing model discussed here is implementation-agnostic by design, and can be
applied to any application of cloud computing, unaffected by technological change or transitions
in industrial objects used in any cloud computing framework. As a result of this design, we have
accomplished a generalized framework with reusable EBTs, BOs, and NFRs that will be
11
guaranteed to be needed in any cloud computing service and can be applied across any possible
implementation.
REFERENCES
Fayad, Mohamed E., Sanchez, Huascar A., Hegde, Srikanth G.K., Basia, Anshu., and Vakil,
Ashka., Software patterns, knowledge maps, and domain analysis. Boca Raton, FL: CRC Press,
2015. PDF.
"IBM Cloud." IBM. October 17, 2016. Accessed November 14, 2017.
https://www.ibm.com/cloud-computing/learn-more/what-is-cloud-computing/.
Chabrow, Eric. "5 Essential Characteristics of Cloud Computing." InfoRisk. October 25, 2011.
Accessed November 14, 2017. https://www.inforisktoday.com/5-essential-characteristics-cloud-
computing-a-4189.
12
https://en.wikipedia.org/wiki/Network_virtualization
APPENDIX
The term cloud refers to the way that networks, specifically the Internet, have been represented
in engineering and network drawings for some time. In reality, the cloud is just the latest iteration
of a concept that has been called many things in the past including ASP (application service
provider), on-demand, utility computing and as a service (Software as a Service, Infrastructure as
a Service).
Cloud technologies are simply a pool of computing resources (servers, storage, applications, and
voice services) that is provided as-needed to businesses from a providers network, eliminating the
need for on-site equipment, maintenance, and management. Cloud technologies enable IT
departments to increase or add capabilities as needed without purchasing equipment and software,
training employees to support it, and using office space, power, and cooling to house it. They
provide end users immediate access to new, always-on features from nearly any device in any
location. They also provide the business a predictable, subscription-based, pay-per-use way to fund
IT.
4. EBTs/Goals:
EBTs/Goals Description
Availability Services needs to be accessible for longer periods of time. Outages needs to
be minimized or even eliminated. Services are available whenever required
without human interaction.
13
Security Data in cloud needs to be secure and only accessible to those who are
authorized.
Legal Clear laws are needed in regard to where the data centers are located and
disclosure of data.
Portability Can be used by thick and thin clients (mobiles, tablets, laptops,
workstations) over the network.
Virtualization Through the use of virtualization, multiple cloud service consumers are
isolated.
Recovery In case of power outage, system failure or any human-made event, the data
from cloud must be available to recover.
Lifecycle Cloud life cycle consists of phases like architecture, programming, testing
and maintenance. A manufacturer's marketing objectives for a product such
as cloud often depend upon what stage of the life cycle the product has
entered.
5. BOs/Properties
BOs/Capabilities Description
Level One of the characteristic of cloud computing is reuse. Where you can
reuse your resources which can effect both in business and technology
aspects. We must identify the levels in cloud.
Risk Cloud computing can pose security and privacy concerns, such as when
people who are not supposed to have access to certain files get access to
them.
Asset Cloud Computing increase delivery efficiency, more resources and better
solution.
14
Content Cloud computing contains various kinds of contents like media files,
documents, applications etc.
Resource Cloud computing has many components like front end platform, back end
platform, a cloud based delivery system and a network.
Reliability The system is able to inspire trust and confidence to the user.
User Friendly The physical features of the system are appealing and looks good.
References
[1] "Cloud Computing Definition - Glossary of Terms." Evolve IP. Accessed November 14,
2017. https://www.evolveip.net/support/cloud-computing-definition
15
[2] Wikipedia. Accessed November 14, 2017. https://www.wikipedia.org
[3] Fayad, Dr.Mohamed E., and Flood, Charles A., "Software Reuse Knowledge Map." IJARS
International Journal of Engineering 2, no. 3 (2016). doi:10.20908/ijarsije.v2i3.3778.
16