You are on page 1of 92

1

CLOUD COMPUTING
Chapter 2
Learning Outcomes
2

• LO1 - Demonstrate an understanding of the


1 fundamentals of Cloud Computing and its architectures.

• LO2 - Evaluate the deployment models, service models


and technological drivers of Cloud Computing and
2 validate their use.

• LO3 - Develop Cloud Computing solutions using service


3 provider’s frameworks and open source tools.

• LO4 - Analyse the technical challenges for cloud


4 applications and assess their risks.
Learning Outcomes
3

 LO2 - Evaluate the deployment models, service


models and technological drivers of Cloud
Computing and validate their use.
Cloud Deployment models:
4
Private Cloud
5

 A private cloud is owned by a single organization.


 Private clouds enable an organization to use cloud
computing technology as a means of centralizing
access to IT resources by different parts, locations,
or departments of the organization.
 When a private cloud exists as a controlled
environment, the problems described in the Risks
and Challenges section do not tend to apply.
Private Cloud
6

 The use of a private cloud can change how


organizational and trust boundaries are defined
and applied.
 The actual administration of a private cloud
environment may be carried out by internal or
outsourced staff.
Private Cloud
7

Figure 1 - A cloud service consumer in the organization's on-premise environment


accesses a cloud service hosted on the same organization's private cloud via a virtual
private network.
Private Cloud
8

 With a private cloud, the same organization is


technically both the cloud consumer and cloud
provider.
 In order to differentiate these roles:
A separate organizational department typically
assumes the responsibility for provisioning the cloud
(and therefore assumes the cloud provider role)
 Departments requiring access to the private cloud
assume the cloud consumer role
Public Cloud
9

 A public cloud is a publicly accessible cloud


environment owned by a third-party cloud provider.
 The IT resources on public clouds are usually
provisioned via the previously described cloud
delivery models and are generally offered to cloud
consumers at a cost or are commercialized via other
avenues (such as advertisement).
Public Cloud
10

 The cloud provider is responsible for the creation


and on-going maintenance of the public cloud and
its IT resources.
 Many of the scenarios and architectures explored in
upcoming chapters involve public clouds and the
relationship between the providers and consumers
of IT resources via public clouds.
Public Cloud
11

 The cloud provider is responsible for the creation


and on-going maintenance of the public cloud and
its IT resources.
 Many of the scenarios and architectures explored in
upcoming chapters involve public clouds and the
relationship between the providers and consumers
of IT resources via public clouds.
Public Cloud
12

Figure 1 - Organizations act as cloud consumers when accessing cloud services and IT
resources made available by different cloud providers.
Community Cloud
13

 A community cloud is similar to a public cloud


except that its access is limited to a specific
community of cloud consumers.
 The community cloud may be jointly owned by the
community members or by a third-party cloud
provider that provisions a public cloud with limited
access.
 The member cloud consumers of the community
typically share the responsibility for defining and
evolving the community cloud (Figure 1).
Community Cloud
14

Figure 1 - An example of a "community" of organizations accessing IT resources from a


community cloud.
Community Cloud
15

 Membership in the community does not necessarily


guarantee access to or control of all the cloud's IT
resources.
 Parties outside the community are generally not
granted access unless allowed by the community.
Hybrid Cloud
16

 A hybrid cloud is a cloud environment comprised of


two or more different cloud deployment models.
 For example, a cloud consumer may choose to
deploy cloud services processing sensitive data to a
private cloud and other, less sensitive cloud services
to a public cloud.
 The result of this combination is a hybrid
deployment model (Figure 1).
Hybrid Cloud
17

Figure 1 - An organization using a hybrid cloud architecture that utilizes both a private
and public cloud.
Hybrid Cloud
18

 Hybrid deployment architectures can be complex


and challenging to create and maintain due to the
potential disparity in cloud environments and the
fact that management responsibilities are typically
split between the private cloud provider
organization and the public cloud provider.
Cloud Delivery Models
19

 A cloud delivery model represents a specific, pre-


packaged combination of IT resources offered by a
cloud provider.
 Three common cloud delivery models have become
widely established and formalized:
 Infrastructure-as-a-Service
(IaaS)
 Platform-as-a-Service (PaaS)

 Software-as-a-Service (SaaS)
Cloud Delivery Models
20

 Many specialized variations of the three base cloud


delivery models have emerged, each comprised of a
distinct combination of IT resources.
 Some examples include:
 Storage-as-a-Service
 Database-as-a-Service
 Security-as-a-Service
 Communication-as-a-Service
 Integration-as-a-Service
 Testing-as-a-Service
 Process-as-a-Service
Service models:
21

 IaaS, PaaS, SaaS, AaaS


Infrastructure-as-a-Service (IaaS)
22

 The IaaS delivery model represents a self-contained IT


environment comprised of infrastructure-centric IT
resources that can be accessed and managed via cloud
service-based interfaces and tools.
 This environment can include hardware, network,
connectivity, operating systems, and other "raw" IT
resources.
 With IaaS, IT resources are typically virtualized and
packaged into bundles that simplify up-front runtime
scaling and customization of the infrastructure.
Infrastructure-as-a-Service (IaaS)
23

Figure 1 - A cloud consumer is using a virtual server within an IaaS environment. Cloud
consumers are provided with a range of contractual guarantees by the cloud provider,
pertaining to characteristics such as capacity, performance, and availability.
Platform-as-a-Service (PaaS)
24

 The PaaS delivery model represents a pre-defined


"ready-to-use" environment typically comprised of
already deployed and configured IT resources.
 PaaS relies on (and is primarily defined by) the
usage of a ready-made environment that
establishes a set of pre-packaged products and
tools used to support the entire delivery lifecycle of
custom applications.
Platform-as-a-Service (PaaS)
25

 Common reasons a cloud consumer would use and


invest in a PaaS environment include:
 The cloud consumer wants to extend on-premise
environments into the cloud for scalability and economic
purposes.
 The cloud consumer uses the ready-made environment
to entirely substitute an on-premise environment.
 The cloud consumer wants to become a cloud provider
and deploys its own cloud services to be made
available to other external cloud consumers.
Platform-as-a-Service (PaaS)
26

Figure 1 - A cloud consumer is accessing a ready-made PaaS environment. The question


mark indicates that the cloud consumer is intentionally shielded from the implementation
details of the platform.
Platform-as-a-Service (PaaS)
27

 PaaS products are available with different


development stacks.
 For example, Microsoft Azure provides a .NET-
based environment, while Google App Engine
offers a Java and Python-based environment.
Software-as-a-Service (SaaS)
28

 A software program positioned as a shared cloud


service and made available as a "product" or
generic utility represents the typical profile of a
SaaS offering.
 The SaaS delivery model is typically used to make
a reusable cloud service widely available (often
commercially) to a range of cloud consumers. An
entire marketplace exists around SaaS products
that can be leased and used for different purposes
and via different terms (Figure 1).
Software-as-a-Service (SaaS)
29

Figure 1 - The cloud service consumer is given access the cloud service contract, but not
to any underlying IT resources or implementation details.
Software-as-a-Service (SaaS)
30

 A cloud consumer is generally granted very limited


administrative control over a SaaS implementation.
 It is most often provisioned by the cloud provider,
but it can be legally owned by whichever entity
assumes the cloud service owner role.
 For example, an organization acting as a cloud
consumer while using and working with a PaaS
environment can build a cloud service that it decides
to deploy in that same environment as a SaaS
offering.
Software-as-a-Service (SaaS)
31

 The same organization then effectively assumes the


cloud provider role as the SaaS-based cloud
service is made available to other organizations
that act as cloud consumers when using that cloud
service.
Analytics as a service (AaaS)
32

 Analytics as a service (AaaS) refers to the provision


of analytics software and operations through web-
delivered technologies.
 These types of solutions offer businesses an
alternative to developing internal hardware setups
just to perform business analytics.
Technological drivers:
33

 SOA
 Virtualisation
 Multicore Technology
 Memory and Storage Technology
 Networking Technology
 Web 2.0, & 3.0
 Software Process Models for Cloud
 Programming Models
 Pervasive Computing
 Application Environment
SOA (Service-Oriented Architecture)
34

 Service-Oriented Architecture (SOA) is an architectural


style that supports service-orientation.
 Service-orientation is a way of thinking in terms of
services and service-based development and the
outcomes of services.
 A service:
 Is a logical representation of a repeatable business activity
that has a specified outcome (e.g., check customer credit,
provide weather data, consolidate drilling reports)
 Is self-contained
 May be composed of other services
 Is a “black box” to consumers of the service
SOA (Service-Oriented Architecture)
35
SOA (Service-Oriented Architecture)
36

 A service provider can be in a Cloud or not in a


Cloud and a service-oriented architecture (SAO)
can involve any combination of Clouds and Non-
Clouds.
SOA (Service-Oriented Architecture)
37
SOA Architectural Style
38

 An architectural style is the combination of distinctive


features in which architecture is performed or
expressed.
 The SOA architectural style has the following distinctive
features:
 It is based on the design of the services – which mirror
real-world business activities – comprising the enterprise (or
inter-enterprise) business processes.
 Service representation utilizes business descriptions to
provide context (i.e., business process, goal, rule, policy,
service interface, and service component) and implements
services using service orchestration.
SOA Architectural Style
39

 The SOA architectural style has the following


distinctive features:
 Itplaces unique requirements on the infrastructure – it is
recommended that implementations use open standards
to realize interoperability and location transparency.
 Implementations are environment-specific – they are
constrained or enabled by context and must be
described within that context.
SOA Architectural Style
40

 The SOA architectural style has the following


distinctive features:
 It requires strong governance of service representation
and implementation.
 It requires a “Litmus Test”, which determines a “good
service”.
SOA Architectural Style
41
Virtualization Technology
42

 Virtualization is the process of converting a physical IT


resource into a virtual IT resource.
 Most types of IT resources can be virtualized, including:
 Servers - A physical server can be abstracted into a virtual
server.
 Storage - A physical storage device can be abstracted into
a virtual storage device or a virtual disk.
 Network - Physical routers and switches can be abstracted
into logical network fabrics, such as VLANs.
 Power - A physical UPS and power distribution units can be
abstracted into what are commonly referred to as virtual
UPSs.
Multicore Technology
43

 Multicore refers to an architecture in which a single


physical processor incorporates the core logic of
more than one processor.
 A single integrated circuit is used to package or
hold these processors.
 These single integrated circuits are known as a die.
 Multicore architecture places multiple processor
cores and bundles them as a single physical
processor.
Multicore Technology
44

 The objective is to create a system that can


complete more tasks at the same time, thereby
gaining better overall system performance.
 This technology is most commonly used in multicore
processors, where two or more processor chips or
cores run concurrently as a single system.
 Multicore-based processors are used in mobile
devices, desktops, workstations and servers.
Memory and Storage Technology
45

 Cloud storage is a cloud computing model in which


data is stored on remote servers accessed from the
internet, or "cloud."
 It is maintained, operated and managed by a
cloud storage service provider on a storage
servers that are built on virtualization techniques.
 Cloud storage is also known as utility storage – a
term subject to differentiation based on actual
implementation and service delivery.
Memory and Storage Technology
46
Memory and Storage Technology
47

 Cloud storage works through data center


virtualization, providing end users and applications
with a virtual storage architecture that is scalable
according to application requirements.
 Cloud storage operates through a web-based API
that is remotely implemented through its interaction
with the client application's in-house cloud storage
infrastructure for input/output (I/O) and read/write
(R/W) operations.
Memory and Storage Technology
48

 When delivered through a public service provider,


cloud storage is known as utility storage.
 Private cloud storage provides the same scalability,
flexibility and storage mechanism with restricted or
non-public access.
Networking Technology
49
Networking Technology
50

 Cloud networking (and Cloud based networking) is


a term describing the access of networking
resources from a centralized third-party provider
using Wide Area Networking (WAN) or Internet-
based access technologies.
 Cloud networking is related the concept of cloud
computing, in which centralized computing resources
are shared for customers or clients.
Networking Technology
51

 In cloud networking, the network can be shared as


well as the computing resources.
 It has spurred a trend of pushing more network
management functions into the cloud, so that fewer
customer devices are needed to manage the
network.
Networking Technology
52

 Wireless LAN Leads the Charge


 The Wireless LAN market was one of the first to
start using a more distributed, cloud-based
approach to building private networks using WAN
and Wireless LAN connections.
 Companies including Aerohive Networks, Meraki,
and Pareto Networks popularized the use of cloud
networking techniques to create large, distributed
Wireless LANs that could be centrally managed in
the cloud.
Networking Technology
53

 Meraki was acquired by Cisco and Pareto was


acquired by Aerohive Networks.
Networking Technology
54

 Improved Internet access and more reliable WAN


bandwidth has made it easier to push more
networking management functions into the cloud.
 This has been one of the drivers of cloud computing
services as well as enterprise cloud software.
 This, in turn, has spurred demand for cloud
networking as well, as customers look for easier
ways to access to build networks using a cloud-
based services.
Networking Technology
55

 A standard cloud networking product provides


centralized management, visibility, and control of
the network.
 This could include the management of distributed
Wireless access routers or branch-office devices
using centralized management in the cloud.
 The goal is to create and manage secure private
networks by leveraging WAN connections and a
centralized management function that can reside in
a data center.
Networking Technology
56

 Connectivity, security, management and control are


pushed to the cloud and delivered as a service.
 Cloud networking is a form of Software Defined
Networking (SDN) technology, in which groups of
networking switches and access devices can
deployed over the wide area as shared, virtual
resources. Other terms that describe this shift include
Software-Defined WAN (SD-WAN) and Cloud
WAN.
Networking Technology
57

 Some of the startups pursuing new technology for


optimizing connectivity using SD-WAN include
Cloudgenix, Pertino, VeloCloud, and Viptela.
Networking Technology
58

 Software-Defined WAN
 The basic concept of cloud networking, in which
fewer management devices are installed in the
branch offices or client premises and more routing
and management functions are pushed to the cloud,
is now being pursued for a wider range of
networking products, which include branch office
routers, WAN optimization software, and firewalls.
Networking Technology
59

 The use of cloud based networking to manage and


deploy network functions across the WAN is also
being described as Software Defined WAN (SD-
WAN) or Cloud WAN.
 The trend is broadening, as a wider array of
network functions can be deployed using the cloud.
 The main goal is to free up services from being
attached to specific hardware so that services can
be deployed more quickly using software over a
networking connection.
Web 2.0
60

 Web 2.0 is the current state of online technology as


it compares to the early days of the Web,
characterized by greater user interactivity and
collaboration, more pervasive network connectivity
and enhanced communication channels.
Web 2.0, & 3.0
61

 One of the most significant differences between


Web 2.0 and the traditional World Wide Web
(WWW, retroactively referred to as Web 1.0) is
greater collaboration among Internet users, content
providers and enterprises.
 Originally, data was posted on Web sites, and users
simply viewed or downloaded the content.
 Increasingly, users have more input into the nature
and scope of Web content and in some cases exert
real-time control over it.
Elements of Web 2.0
62

 Wikis: Websites that enable users to contribute,


collaborate and edit site content. Wikipedia is one
of the oldest and best-known wiki-based sites.
 The increasing prevalence of Software as a Service
(SaaS), web apps and cloud computing rather than
locally-installed programs and services.
Elements of Web 2.0
63

 Mobile computing, also known as nomadicity, the


trend toward users connecting from wherever they
may be. That trend is enabled by the proliferation
of smartphones, tablets and other mobile devices in
conjunction with readily accessible Wi-Fi networks.
 Mash-ups: Web pages or applications that
integrate complementary elements from two or
more sources.
Elements of Web 2.0
64

 Social networking: The practice of expanding the


number of one's business and/or social contacts by
making connections through individuals. Social
networking sites include Facebook, Twitter, LinkedIn and
Google+.
 Collaborative efforts based on the ability to reach
large numbers of participants and their collective
resources, such as crowdsourcing, crowdfunding and
crowdsource testing.
 User-generated content (UGC): Writing, images, audio
and video content -- among other possibilities -- made
freely available online by the individuals who create it.
Elements of Web 2.0
65

 Unified communications (UC): The integration of


multiple forms of call and multimedia/cross-media
message-management functions controlled by an
individual user for both business and social
purposes.
 Social curation: The collaborative sharing of
content organized around one or more particular
themes or topics. Social content curation sites include
Reddit, Digg, Pinterest and Instagram.
Web 3.0
66

 Web 3.0 is slated to be the new paradigm in web


interaction and will mark a fundamental change in how
developers create websites, but more importantly, how
people interact with those websites.
 Computer scientists and Internet experts believe that
this new paradigm in web interaction will further make
people's online lives easier and more intuitive as
smarter applications such as better search functions
give users exactly what they are looking for, since it will
be akin to an artificial intelligence which understands
context rather than simply comparing keywords, as is
currently the case.
Features of Web 3.0
67

1) Semantic Web
 The next evolution of the Web involves the Semantic Web.
The semantic web improves web technologies in order to
generate, share and connect content through search and
analysis based on the ability to understand the meaning of
words, rather than on keywords or numbers.

2) Artificial Intelligence
 Combining this capability with natural language processing,
in Web 3.0, computers can understand information like
humans in order to provide faster and more relevant results.
They become more intelligent to satisfy the needs of users.
Features of Web 3.0
68

3) 3D Graphics
 The three dimensional design is being used extensively
in websites and services in Web 3.0. Museum guides,
computer games, ecommerce, geospatial contexts, etc.
are all examples that use 3D graphics.

4) Connectivity
 With Web 3.0, information is more connected thanks to
semantic metadata. As a result, the user experience
evolves to another level of connectivity that leverages
all the available information.
Features of Web 3.0
69

5) Ubiquity
 Content is accessible by multiple applications, every
device is connected to the web, the services can be
used everywhere.
Programming Models
70

 MapReduce is a popular programming model for


processing and performing data intensive tasks on large
datasets.
 It is a Google initiative for handling large scale web
content and offers an excellent framework for
developing data mining and machine learning
applications in data centers.
 This is actually an implementation of an old idea from
parallel computing and programming languages.
 It allows programmers to think in a data-centric fashion
and focuses on applying transformations to sets of data
records.
Programming Models
71
Programming Models
72

 MapReduce programming model using two


components: a Job Tracker (masternode) and many
Task Trackers (slave nodes).
 The Job Tracker is responsible for accepting job
requests for splitting the data input, for defining the
tasks required for the job, for assigning those tasks
to be executed in parallel across the slaves, for
monitoring the progress and finally for handling
occurring failures.
Programming Models
73

 Task Tracker executes tasks as ordered by the


master node.
 The task can be either a map (takes a key/value
and generates another key/value) or a reduce
(takes a key and all associated values and
generates a key/value pair).
Programming Models
74
Pervasive Computing
75

 Pervasive computing is an emerging trend


associated with embedding microprocessors in day-
to-day objects, allowing them to communicate
information.
 It is also known as ubiquitous computing.
 The terms ubiquitous and pervasive signify "existing
everywhere."
 Pervasive computing systems are totally connected
and consistently available.
Pervasive Computing
76

 Pervasive computing goes past the arena of


desktops so that virtually any device, from apparel
to kitchen appliances, could be embedded with
microchips, connecting these devices to a boundless
network of other gadgets.
Pervasive Computing
77

 A combination of technologies is used to make


pervasive computing possible, such as Internet
capabilities, voice recognition, networking, artificial
intelligence and wireless computing.
 Pervasive computing devices make day-to-day
computing activities extremely easy to access.
 Pervasive computing also has a number of
prospective applications, which range from home
care and health, to geographical tracking and
intelligent transport systems.
Pervasive Computing
78

 Ubiquitous computing may be seen to consist of many


layers, each with their own roles, which together form a
single system:
 Layer 1: task management layer
 Monitors user task, context and index
 Map user's task to need for the services in the environment
 To manage complex dependencies

 Layer 2: environment management layer


 To monitor a resource and its capabilities
 To map service need, user level states of specific
capabilities
Pervasive Computing
79

 Layer 3: environment layer


 To monitor a relevant resource
 To manage reliability of the resources
Application Environment
80

 A cloud application, or cloud app, is a software


program where cloud-based and local components
work together.
 This model relies on remote servers for processing
logic that is accessed through a web browser with a
continual internet connection.
Application Environment
81

 Cloud application servers typically are located in


a remote data center operated by a third-party
cloud services infrastructure provider.
 Cloud-based application tasks may encompass
email, file storage and sharing, order entry,
inventory management, word processing, customer
relationship management (CRM), data collection, or
financial accounting features.
Application Environment
82

 Cloud apps vs. web apps


 Cloud and web applications access data residing on
distant storage.

 A key difference between cloud and web applications


is architecture.
 A web application or web-based application must
have a continuous internet connection to function.
 A cloud application or cloud-based application
performs processing tasks on a local computer or
workstation. An internet connection is required primarily
for downloading or uploading data.
Application Environment
83

 A web application is unusable if the remote server


is unavailable.
 If the remote server becomes unavailable in a cloud
application, the software installed on the local user
device can still operate, although it cannot upload
and download data until service at the remote
server is restored.
Application Environment
84

 The difference between cloud and web applications can


be illustrated with two common productivity tools, email
and word processing.
 Gmail, for example, is a web application that requires
only a browser and internet connection.
 Through the browser, it's possible to open, write and
organize messages using search and sort capabilities.
 All processing logic occurs on the servers of the service
provider (Google, in this example) via either the
internet's HTTP or HTTPS protocols.
Application Environment
85

 A CRM application accessed through a browser


under a fee-based software as a service (SaaS)
arrangement is a web application.
 Online banking and daily crossword puzzles are
also considered web applications that don't install
software locally.
Application Environment
86

 An example of a word-processing cloud


application that is installed on a workstation is
Word's Microsoft Office 365.
 The application performs tasks locally on a machine
without an internet connection.
 The cloud aspect comes into play when users save
work to an Office 365 cloud server.
Application Environment
87

 Microsoft Office 365


Application Environment
88

 Cloud apps vs. desktop apps


 Desktop applications are platform-dependent and
require a separate version for each operating
system.
 The need for multiple versions increases
development time and cost, and complicates testing,
version control and support.
Application Environment
89

 Cloud applications can be accessed through a


variety of devices and operating systems and are
platform-independent, which typically leads to
significant cost savings.
 Every device on a desktop application requires its
own installation. Because it's not possible to enforce
an upgrade whenever a new version is available,
it's tricky to have all users running the same one.
Application Environment
90

 The need to provide support for multiple versions


simultaneously can become a burden on tech
support.
 Cloud applications don't face version control issues
since users can access and run only the version
available on the cloud.
References
91

 What is Cloud Computing?. (2018). What is Cloud Computing?. [online] Available at:
http://whatiscloud.com/cloud_deployment_models/index [Accessed 24 Jul. 2018].
 Techopedia.com. (2018). What is Analytics as a Service (AaaS)? - Definition from Techopedia. [online]
Available at: https://www.techopedia.com/definition/29893/analytics-as-a-service-aaas [Accessed 24 Jul.
2018].
 Whatis.techtarget.com, (2018). What is Web 2.0 ? - Definition from WhatIs.com [ONLINE] Available at:
https://whatis.techtarget.com/definition/Web-20-or-Web-2 [Accessed 25/7/2018].
 Techopedia.com, (2018). What is Web 3.0? - Definition from Techopedia [ONLINE] Available at:
https://www.techopedia.com/definition/4923/web-30 [Accessed 25/7/2018].
 Expertsystem.com, (2018). 5 main features of Web 3.0 [ONLINE] Available at:
https://www.expertsystem.com/web-3-0/ [Accessed 25/7/2018].
 Opengroup.org. (2018). Service-Oriented Architecture – What Is SOA?. [online] Available at:
http://www.opengroup.org/soa/source-book/soa/p1.htm [Accessed 27 Jul. 2018].
 Techopedia.com. (2018). What is Multicore? - Definition from Techopedia. [online] Available at:
https://www.techopedia.com/definition/5305/multicore [Accessed 27 Jul. 2018].
 Techopedia.com. (2018). What is Cloud Storage? - Definition from Techopedia. [online] Available at:
https://www.techopedia.com/definition/26535/cloud-storage [Accessed 27 Jul. 2018].
 SDxCentral. (2018). What is Cloud Networking or Cloud Based Networking?. [online] Available at:
https://www.sdxcentral.com/cloud/definitions/all-about-cloud-networking/ [Accessed 15 Aug. 2018].
 Techopedia.com. (2018). What is Pervasive Computing? - Definition from Techopedia. [online] Available at:
https://www.techopedia.com/definition/667/pervasive-computing [Accessed 15 Aug. 2018].
References
92

 En.wikipedia.org. (2018). Ubiquitous computing. [online] Available at:


https://en.wikipedia.org/wiki/Ubiquitous_computing [Accessed 15 Aug. 2018].
 Ijcsit.com. (2018). [online] Available at:
http://ijcsit.com/docs/Volume%205/vol5issue03/ijcsit20140503252.pdf [Accessed 15 Aug. 2018].
 SearchCloudApplications. (2018). What is cloud application? - Definition from WhatIs.com. [online]
Available at: https://searchcloudapplications.techtarget.com/definition/cloud-application [Accessed 15
Aug. 2018].

You might also like