Cloud Computing Knowledge Map
Cloud Computing Knowledge Map
Domain Analysis
CMPE 202-02
Fall 2017
TABLE OF CONTENTS
ABSTRACT....................................................................................................................................2
0
INTRODUCTION........................................................................................................................ 3
EBT #1-RECOVERY....................................................................................................................8
EBT #2 -LIFECYCLE..................................................................................................................9
BO #1 - PROTOCOL................................................................................................................. 10
BO #2 - CONTENT..................................................................................................................... 10
ARCHITECTURES................................................................................................................... 12
CONCLUSIONS......................................................................................................................... 13
REFERENCES........................................................................................................................... 14
APPENDIX................................................................................................................................. 15
ABSTRACT
1
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 to make their operation faster,
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 lead to 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 cloud instead of physical storage, we identified that being able to
recover data is an essential goal of any cloud technology. Cloud computing also need 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.
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.
2
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
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
3
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
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
4
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
5
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.
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
Privacy Cloud should only allow authorized users to access data.
These are the following properties every cloud computing technology must have (Chabrow, 2011):
EBT#1 - RECOVERY
EBT#2 – LIFECYCLE
BO#1 – PROTOCOL
Scenario #1: Disaster Avoidance Protocol
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 subjects such as to prevent these events from happening as long as
they follow those protocols.
9
access to them, and want to establish a protocol for all the software they use to ensure that this
level of security is met.
BO#2 -CONTENT
Scenario #1: Interactive Media
This scenario corresponds to any business (AnyParty) where they want to store content for their
product on their cloud computing platform (AnyEntity / AnyMechanism).
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).
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).
11
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 service’s lifecycle and recovery, any cloud computing service’s
business objects of protocol and content, and any cloud computing service’s 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 of high
quality, it needs to be a reliable and have high regard 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
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.
12
"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.
13
APPENDIX
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.
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.
15
Multitenancy Software architecture in which a single instance of a software runs on a
server and serves multiple tenants
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.
Table 1: EBTs of “Cloud Computing”
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.
Protocol Cloud computing follows network and security protocol to communicate Commented [1]: Arthur can u fill this two?
with devices in the network.
Content Cloud computing contains various kinds of contents like media files, Commented [2]: Arthur can u fill this two?
documents, applications etc.
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
[2] Wikipedia. Accessed November 14, 2017. https://www.wikipedia.org
[3] Fayad, Dr.mohamed E., and Charles A. Flood Flood. "Software Reuse Knowledge Map."
IJARS International Journal of Engineering 2, no. 3 (2016). doi:10.20908/ijarsije.v2i3.3778.
17
18