0% found this document useful (0 votes)
23 views

Cloud Computing Lecture Material

Cloud Computing
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Cloud Computing Lecture Material

Cloud Computing
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 61

FACULTY OF COMPUTING KADUNA STATE UNIVERSITY

DEPARTMENT OF COMPUTER SCIENCE

KADUNA STATE UNIVERSITY

Cloud Computing
CSSCE 406 Lecture Notes
[Second Semester, 2022/2023 Session]

Compiled By:Dr. Rabi Mustapha

[CSSCE 406] [Cloud Computing] Page 1


FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

COURSE CONTENT
MODULE 1: Introduction of Cloud Computing: Overview of cloud computing, Enabling
Technology, Historical development, Vision, Characteristics, Features, Components of Cloud
Computing, Benefits of Cloud Computing and Summary of the Module.

MODULE 2: Cloud Computing Architecture


We can broadly divide the cloud architecture into two parts: Front End and Back End.

MODULE 3: Cloud Computing Infrastructure


The Cloud infrastructure consists of various components such as management software,
deployment software, hypervisor, network, servers, and storage and its Constraint.

MODULE 4: Deployment Models/Types of Cloud


These define the Deployment models that define the type of access to the cloud, i.e., how the cloud
is located? Cloud can have any of the four types of access: Public, Private, Hybrid and
Community. Stating their advantages and disadvantages.

MODULE 5: Overview of Cloud Service Models


These includes Infrastructure as a service (IaaS), Platform as a Service (PaaS), Software as a
Service (SaaS) and Business Process as a Service (BPaaS).

MODULE 6: Infrastructure as a service (IaaS)


Definitions, features, advantages and disadvantages
MODULE 7: Platform as a Service (PaaS)
Definitions, features, advantages and disadvantages

MODULE 8: Software as a Service (SaaS).


Definitions, features, advantages and disadvantages.

MODULE 9: Business Process as a Service (BPaaS).


Definitions, features, advantages and disadvantages.

[CSSCE 406] [Cloud Computing] Page 2


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Module 1: Introduction to Cloud Computing


1.1 Overview of cloud computing.
1.2 Enabling Technology.
1.3 Historical development.
1.4 Cloud Computing Vision.
1.5 Feature of Cloud Computing.
1.6 Characteristics of Cloud Computing.
1.7 Components of Cloud Computing.
1.8 Benefits of Cloud Computing.
1.9 Summary of the Module.

1.0 Introduction:
 Cloud Computing means ―Storing of data online rather than on your home computer that
means you are using cloud computing services.
 If you are an organization and you want to use an online invoicing service instead of updating
the in-house one you have been using for many years that online invoicing service is a cloud
computing service.
 Cloud computing refers to the delivery of computing resources over the Internet. Instead of
keeping data on your own hard drive or updating applications for your needs.
 You can also use a service over the internet at any location to store your information but doing
this also give rise to certain type of privacy implications.
 In this module we have defined about the introductory part of the cloud computing. We will
discuss about the history, vision, characteristics, components & future of the cloud computing.
Cloud Computing:
Many people within IT organizations view that cloud computing have changed their computing
world because of the flexibility it gives them by providing services and applications to apply in it.
Cloud computing is defined as:

The computer technology that can attach together the processing power of many inter-networked
computers while covering the structure that is behind it.

[CSSCE 406] [Cloud Computing] Page 3


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE
The term ―cloud refers to the hiding nature of this technology‘s framework: the system works
for users but in real they have no idea about the inherent complexities that the system utilizes.
They do not realize that there is a massive amount of data being pushed globally in real time to
make these applications work for them and the scale is simply amazing.

The idea of connecting to the cloud is familiar among technologists today because it has become
a popular buzzword among the technology media. The only thing users need to be concerned about
is the terminal that they are using and whether it is connected to the internet or not so that they can
have access to the tools that the cloud can provide.
Cloud Computing is unknown to many people as they don‘t know much about the information
technology industry of today. As industry now a days is done with a cloud computing environment
or is moving towards that end.
A slow migration towards it has been going on from several years, mainly due to the infrastructure
and support costs of the standalone hardware as shown in Figure 1.1.

Figure 1.1: Cloud Computing Model


The definition of cloud computing has been developed by the U.S. National Institute of Standards
and Technology (NIST) as follows:
“Cloud computing is a model for enabling convenient, on-demand network access to a shared pool
of configurable computing resources (e.g., networks, servers, storage, applications, and services)
that can be rapidly provisioned and released with minimal management effort or service provider
interaction. This cloud model promotes availability and is composed of five essential
characteristics, three service models, and four deployment models”.
Cloud computing is a technological advancement that focuses on the way we design computing

[CSSCE 406] [Cloud Computing] Page 4


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE
systems, develop applications, and leverage existing services for building software. It is based on
the concept of dynamic provisioning, which is applied not only to services but also to compute
capability, storage, networking, and information technology (IT) infrastructure in general.
Resources are made available through the Internet and offered on a pay-per-use basis from cloud
computing vendors. Today, anyone with a credit card can subscribe to cloud services and deploy
and configure servers for an application in hours, growing and shrinking the infrastructure serving
its application according to the demand, and paying only for the time these resources have been
utilised.
Cloud computing at a glance
In 1969, Leonard Kleinrock, one of the chief scientists of the original Advanced Research Projects
Agency Network (ARPANET), which seeded the Internet, said:
As of now, computer networks are still in their infancy, but as they grow up and become
sophisticated, we will probably see the spread of computer utilities‟ which is just like present
electric and telephone utilities, will service individual homes and offices across the country.
This vision of computing utilities based on a service-provisioning model anticipated the massive
transformation of the entire computing industry in the 21st century, whereby computing services
will be readily available on demand, just as other utility services such as water, electricity,
telephone, and gas are available in today‘s society. Similarly, users (consumers) need to pay
providers only when they access the computing services. In addition, consumers no longer need to
invest heavily or encounter difficulties in building and maintaining complex IT infrastructure. In
such a model, users access services based on their requirements without regard to where the
services are hosted. This model has been referred to as utility computing or, recently (since 2007),
as cloud computing. The latter term often denotes the infrastructure as a ―cloud from which
businesses and users can access applications as services from anywhere in the world and on
demand. Hence, cloud computing can be classified as a new paradigm for the dynamic
provisioning of computing services supported by state-of-the-art data centers employing
virtualization technologies for consolidation and effective utilization of resources.
Cloud computing allows renting infrastructure, runtime environments, and services on a pay-per-use
basis. This principle finds several practical applications and then gives different images of cloud
computing to different people.
Chief information and technology officers of large enterprises see opportunities for scaling their
infrastructure on demand and sizing it according to their business needs.
[CSSCE 406] [Cloud Computing] Page 5
]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE
End users leveraging cloud computing services can access their documents and data anytime,
anywhere, and from any device connected to the Internet. Many other points of view exist. One of the
most diffuse views of cloud computing can be summarized as follows:

I don’t care where my servers are, who manages them, where my documents are stored, or where
my applications are hosted. I just want them always available and access them from any device
connected through Internet. And I am willing to pay for this service for as a long as I need it.

The concept expressed above has strong similarities to the way we use other utility services such as,
water, electricity, telephone etc. In other words, cloud computing turns IT services into utilities. Such
a delivery model is made possible by the effective composition of several technologies, which
have reached the appropriate maturity level. Web 2.0 technologies play a central role in making cloud
computing an attractive opportunity for building computing systems. They have transformed the
Internet into a rich application and service delivery platform, mature enough to serve complex needs.
Service orientation allows cloud computing to deliver its capabilities with familiar abstractions,
while virtualization discusses on cloud computing necessary degree of customization, control, and
flexibility for building production and enterprise systems.
Besides being an extremely flexible environment for building new systems and applications, cloud
computing also provides an opportunity for integrating additional capacity or new features into
existing systems. The use of dynamically provisioned IT resources constitutes a more attractive
opportunity than buying additional infrastructure and software, the sizing of which can be difficult to
estimate and the needs of which are limited in time. This is one of the most important advantages of
cloud computing, which has made it a popular phenomenon. With the wide deployment of cloud
computing systems, the foundation technologies and systems enabling them are becoming
consolidated and standardized. This is a fundamental step in the realization of the long-term
vision for cloud computing, which provides an open environment where computing, storage, and other
services are traded as computing utilities.

Cloud computing has become a popular buzzword; it has been widely used to refer to different
technologies, services, and concepts. It is often associated with virtualized infrastructure or
hardware on demand, utility computing, IT outsourcing, platform and software as a service, and many
other things that now are the focus of the IT industry. Figure 1.2 shows the different notions included
in current definitions of cloud computing.

[CSSCE 406] [Cloud Computing] Page 6


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Figure 1.2: Cloud computing technologies, concepts, and ideas.

The term cloud has historically been used in the telecommunications industry as an abstraction of
the network in system diagrams. It then became the symbol of the most popular computer network:
the Internet. This meaning also applies to cloud computing, which refers to an Internet-centric way
of computing. The Internet plays a fundamental role in cloud computing, since it represents either
the medium or the platform through which many cloud computing services are delivered and made
accessible. This aspect is also reflected in the definition given by Armbrust et al.:

Cloud computing refers to both the applications delivered as services over the Internet and the
hardware and system software in the datacenters that provide those services.
This definition describes cloud computing as a phenomenon touching on the entire stack: from the
underlying hardware to the high-level software services and applications. It introduces the concept
of everything as a service, mostly referred as XaaS, where the different components of a
system—IT infrastructure, development platforms, databases, and so on can be delivered,
measured, and consequently priced as a service. This new approach significantly influences not
only the way that we build software but also the way we deploy it, make it accessible, and design
our IT infrastructure, and even the way companies allocate the costs for IT needs.

[CSSCE 406] [Cloud Computing] Page 7


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE
The approach fostered by cloud computing is global: it covers both the needs of a single user hosting
documents in the cloud and the ones of a CIO deciding to deploy part of or the entire corporateIT
infrastructure in the public cloud. This notion of multiple parties using a shared cloud computing
environment is highlighted in a definition proposed by the U.S. National Institute of Standards and
Technology (NIST):

Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a
shared pool of configurable computing resources (e.g., networks, servers, storage, applications,
and services) that can be rapidly provisioned and released with minimal management effort or
service provider interaction.
Another important aspect of cloud computing is its utility-oriented approach. More than anyother
trend in distributed computing, cloud computing focuses on delivering services with agiven
pricing model, in most cases a ―pay-per-use strategy. It makes it possible to access online storage,
rent virtual hardware, or use development platforms and pay only for their effective usage, with no or
minimal up-front costs. All these operations can be performed and billed simply by entering the credit
card details and accessing the exposed services through a Web browser. This helps us provide a
different and more practical characterization of cloud computing. According to Reese, we can define
three criteria to discriminate whether a service is delivered in the cloud computing style:
• The service is accessible via a Web browser (non-proprietary) or a Web services application
programming interface (API).
• Zero capital expenditure is necessary to get started.
• You pay only for what you use as you use it.

Even though many cloud computing services are freely available for single users, enterprise- class
services are delivered according a specific pricing scheme. In this case users subscribe to the service
and establish with the service provider a service-level agreement (SLA) defining the quality-of-
service parameters under which the service is delivered. The utility-oriented natureof cloud computing
is clearly expressed by Dr. Rajkumar Buyya of CLOUDS Laboratory, University of Melbourne,
Australia: That a cloud is a type of parallel and distributed system consisting of a collection of
interconnected and virtualized computers that are dynamically provisioned and presented as one or
more unified computing resources based on service-level agreements established through negotiation
between the service provider and consumers.

[CSSCE 406] [Cloud Computing] Page 8


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Figure 1.3: A bird‘s-eye view of cloud computing.


1.1 Overview of Cloud Computing:
For IT to be considered fully virtualized must allow computers to be built from distributed components
such as processing, storage, data, and software resources. Technologies such as cluster, grid, parallel
and cloud computing are all aimed at allowing access to large amounts of computing power in a fully
virtualized manner by aggregating resources and offering a single system view.
Cloud computing has been defined as the on-demand computing services which was initially offered by the cloud
service providers such as IBM, Amazon, Google, and Microsoft.

It provides a model on which a computing infrastructure which is known as ―cloud‖ from which
businesses and individuals access applications from anywhere in the world on demand by paying
charges as their uses basis. The main principle behind this model is offering software, Platform and
Infrastructure ―as a service.

[CSSCE 406] [Cloud Computing] Page 9


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

1.2 Enabling Technology:


Key technologies that enabled cloud computing are virtualization, Web service and service-
oriented architecture (SOA), service flows and workflows, and Web 2.0 and mash up. However,
certain technologies that are working behind the cloud computing platforms making cloud
computing flexible, reliable, usable are Virtualization, Service-Oriented Architecture (SOA),
Grid Computing, and Utility Computing.

The brief discussion of all is given as follows:


 Virtualization
This is a technique, which allows to share single physical instance of an application or resource
among multiple organizations or tenants (customers). It does so by assigning a logical name to
a physical resource and providing a pointer to that physical resource when demanded. See
Figure 1.4.

The advantage of cloud computing is the ability to virtualize and sharing resources among
different applications with the objective for better server utilization. In non-cloud computing
three independent platforms (IAAS, PAAS, & SAAS) exist for three different applications
running on its own server. In the cloud servers, can be shared or virtualized for operating
systems and applications resulting in fewer servers operating.

Figure 1.4: Visualization

[CSSCE 406] [Cloud Computing] Page 10


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

 Web Service and Service Oriented Architecture (SOA)


Web Services and (SOA) represent the base technologies for cloud computing. Cloud services
are typically designed as Web services, which follow industry standards.

SOA assists to use applications as a service for other applications regardless the type of vendor,
product or technology. Therefore, it is possible to exchange of data between applications of
different vendors without additional programming or making changes to services.

A SOA organizes and manages Web services inside clouds. It also includes a set of cloud
services, which are available on various distributed platforms as shown in Figure 1.5

Figure 1.5: Cloud Computing SOA


 Service Flow and Workflows
The concept of service flow and workflow refers to an integrated view of service based
activities provided in clouds. Workflows have become one of the important areas of research
in the field of database and information systems.

 Web 2.0 and Mashup


Web 2.0 is a new concept that refers to the use of Web technology and Web design to enhance
creativity, information sharing, and collaborations among users. On the other hand, Mashup is
a web application that combines data from more than one source into a single integrated
storage tool. Both technologies are very beneficial for cloud computing. The components in

[CSSCE 406] [Cloud Computing] Page 11


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

this architecture are dynamic in nature. The components closer to the user are smaller in nature
and more reusable.
 Grid Computing
This refers to distributed computing in which a group of computers from multiple locations
are connected with each other to achieve common objective. These computer resources are
heterogeneous and geographically dispersed.

It breaks complex task into smaller pieces. These smaller pieces are distributed to Central
Processing Units that reside within the grid. Figure 1.6 shows a diagram of Grid Computing.

Figure 1.6: Grid Computing.


 Utility Computing
This is based on Pay per Use model. It offers computational resources on demand as a
metered service. Cloud computing, grid computing, and managed IT services are based on
the concept of utility computing.
Figure 1.7 shows the demonstration of enabling technologies.

Figure 1.7: Enabling Technologies


[CSSCE 406] [Cloud Computing] Page 12
]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

1.3. History of Cloud Computing:


 The term cloud was used to represent the Internet early in the year 1994. In which servers
were connected externally to the cloud.
 A reference to cloud computing in its modern sense was found in 1996. The popularization of
the term can be traced to 2006 when Amazon.com introduced the Elastic Compute Cloud

The 1950s
 The first concept of cloud computing was introduced in 1950s.
 In 1950s, large-scale mainframe computers became available in academia and corporations
accessible via thin clients/terminal computers often referred to as "static terminals" because
they were used for communications but had no internal processing capacities.
 To make more efficient use of costly mainframes a practice evolved that allowed multiple users
to share both the physical access to the computer from multiple terminals as well as the

CPU time which eliminated periods of silence on the mainframe. The practice of sharing
CPU time on a mainframe became known in the industry as time-sharing.
 During the mid-70s, time-sharing was popularly known as RJE (Remote Job Entry) and this
classification was mostly associated with large vendors such as IBM.

The 1990s
 In the 1990s telecommunications companies began offering virtual private network (VPN)
services with comparable quality of service but at a lower cost.
 By switching traffic as they saw fit to balance server use they could use overall network
bandwidth more effectively.

 They began to use the cloud symbol to denote the separation point between the provider‘s
responsibilities and user‘s responsibilities.
 Cloud computing extends this boundary to cover all servers as well as the network
infrastructure.

Since year 2000


 In early 2008 Eucalyptus became the first open-source, AWS API-compatible platform for
deploying private clouds.

[CSSCE 406] [Cloud Computing] Page 13


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

 In early 2008 OpenNebula introduced RESERVOIR European Commission-funded project


by hosting Cloud concept in it and became the first open-source software for deploying private
and hybrid clouds for the federation.
 By mid-2008 Gartner shape the relationship among consumers of IT services those who use IT
services and those who sell them and observed that organizations are switching from company
owned hardware and software assets to per-use service-based models so that the projected shift
to computing will result in dramatic growth in IT products in some areas and significant
reductions in other areas.
 In July 2010 Rackspace Hosting and NASA jointly launched an open-source cloud-software
initiative known as OpenStack. The OpenStack project intended to help organizations offer
cloud-computing services running on standard hardware.
 On 1st March 2011 IBM announced the IBM SmartCloud framework to support Smarter Planet.
 On 7th June 2012 Oracle announced the Oracle Cloud. While aspects of the Oracle Cloud are
still in development, this cloud offering is posed to be the first to provide users with access to
an integrated set of IT solutions, including the Applications (SaaS), Platform (PaaS), and
Infrastructure (IaaS) layers.

[CSSCE 406] [Cloud Computing] Page 14


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Figure 1.8: History of cloud Computing

Figure 1.9: The evolution of distributed computing technologies, 1950s–


2010s.

[CSSCE 406] [Cloud Computing] Page 15


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

1.4. The Vision of Cloud Computing:


Cloud computing allows anyone with a credit card to provision virtual hardware, runtime
environments, and services. These are used for as long as needed, with no up-front commitments
required. The entire stack of a computing system is transformed into a collection of utilities, which
can be provisioned and composed together to deploy systems in hours rather than days and with
virtually no maintenance costs. This opportunity, initially met with skepticism, has now become a
practice across several application domains and business sectors as shown in Figure 1.10. The
demand has fast-tracked technical development and enriched the set of services offered, which
have also become more sophisticated and cheaper.

Figure 1.10: Cloud computing vision.


Despite its evolution, the use of cloud computing is often limited to a single service at a time or,
more commonly, a set of related services offered by the same vendor. Previously, the lack of
effective standardization efforts made it difficult to move hosted services from one vendor to
another. The long-term vision of cloud computing is that IT services are traded as utilities in an
open market, without technological and legal barriers. In this cloud marketplace, cloud service
providers and consumers, trading cloud services as utilities, play a central role.
Many of the technological elements contributing to this vision already exist. Different stakeholders
leverage clouds for a variety of services. The need for ubiquitous storage and compute power
on demand is the most common reason to consider cloud computing.

[CSSCE 406] [Cloud Computing] Page 16


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE
A scalable runtime for applications is an attractive option for application and system developers
that do not have infrastructure or cannot afford any further expansion of existing infrastructure.
The capability for Web-based access to documents and their processing using sophisticated
applications is one of the appealing factors for end users.
In all these cases, the discovery of such services is mostly done by human intervention: a
person (or a team of people) looks over the Internet to identify offerings that meet their needs. We
imagine that in the near future it will be possible to find the solution that matches our needs by
simply entering our request in a global digital market that trades cloud computing services. The
existence of such a market will enable the automation of the discovery process and its integration
into existing software systems, thus allowing users to transparently leverage cloud resources in
their applications and systems. The existence of a global platform for trading cloud services will
also help service providers become more visible and hence, potentially increase their revenue.

A global cloud market also reduces the barriers between service consumers and providers:
it is no longer necessary to belong to only one of these two categories. For example, a cloud
provider might become a consumer of a competitor service in order to fulfill its own promises to
customers.
These are all possibilities that are introduced with the establishment of a global cloud computing
marketplace and by defining effective standards for the unified representation of cloud services
as well as the interaction among different cloud technologies. A considerable shift toward cloud
computing has already been registered, and its rapid adoption facilitates its consolidation.
Moreover, by concentrating the core capabilities of cloud computing into large datacenters, it is
possible to reduce or remove the need for any technical infrastructure on the service consumer
side. This approach provides opportunities for optimizing datacenter facilities and fully utilizing
their capabilities to serve multiple users. This consolidation model will reduce the waste of energy
and carbon emissions, thus contributing to a greener IT on one end and increasing revenue on the
other end.
In other words, the vision of cloud computing can be understood in the following direction:
1. It allows to provision virtual hardware, runtime environments, and services.
2. The entire stack of a computing system is transformed into a collection of utilities, which can
be provisioned and composed together to deploy systems in hours rather than days and
virtually with no maintenance costs.

[CSSCE 406] [Cloud Computing] Page 17


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE
3.

4. Despite its evolution, the use of cloud computing is often limited to a single service at a time
or, more commonly a set of related services offered by the same vendor.
5. Previously, the lack of effective standardization efforts made it difficult to move hosted
services from one vendor to another.
6. The long-term vision of cloud computing is that, IT services are traded as utilities in an open
market, without technological and legal barriers. In this cloud marketplace, cloud service
providers and consumers, trading cloud services as utilities, play a vital role.
7. The need for ubiquitous storage and compute power on demand is the most common reason
to consider cloud computing. A scalable runtime for applications is an attractive option for
application and system developers that do not have infrastructure or cannot afford any further
expansion of existing infrastructure.
8. The discovery of such services is done by human intervention: a person or a team of people
who looks over the internet to identify offerings that meet their needs.
9. Imagining that in the near future, it will be possible to find the solution that matches our needs
by simply entering our request in a global digital market that trades cloud computing services.
10. The existence of such market will enable the automation of the discovery process and its
integration into existing software systems, thus allowing users to transparently leverage cloud
resources in their applications and systems.

11. The existence of a global platform for trading cloud services will also help service providers
become more visible and therefore potentially increase their revenue.
12. A global cloud market also reduces the barriers between service consumers and providers.
13. By concentrating the core capabilities of cloud computing into large datacenters, it is possible
to reduce or remove the need for any technical infrastructure on the service consumer side.
14. This approach provides opportunities for optimizing data center facilities and fully utilizing
their capabilities to serve multiple users.
15. This consolidation model will reduce the waste of energy and carbon emissions, thus
contributing to a greener IT on one end and increasing revenue on the other end.

[CSSCE 406] [Cloud Computing] Page 18


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Figure 1.11: A layer Model of Cloud computing.

1.5 Characterictics of Cloud Computing:

Cloud computing brings a number of new characteristics as compared to other computing paradigms.They are
briefly described as follows:
 Scalability and on-demand services
Cloud computing provides resources and services for users on demand. The resources are
scalable over several data centers.
 User-centric interface
Cloud interfaces are location independent and can be accesses by well-established interfaces
such as Web services and Internet browsers.
 Guaranteed Quality of Service (QoS)

Cloud computing can guarantee QoS for users in terms of hardware/CPU performance,
bandwidth, and memory capacity.
 Autonomous system
The cloud computing systems are autonomous systems managed transparently by users. By
autonomous systems it means systems that have a high degree of self-management (capable of
managing themselves without human intervention), self-optimization (they can dynamically
allocate and deallocate resources as required to meet changing demands and still maintain
efficient resource utilization), and self-healing capabilities (ability to detect and respond to
failures and issues on their own. For e.g., if a virtual machine experiences a hardware failure,
the autonomous system might automatically migrate the workload to another healthy server
without requiring manual intervention).

[CSSCE 406] [Cloud Computing] Page 19


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

These systems are designed to perform tasks and make decisions with minimal human
intervention. Generally, autonomous systems aim to improve the efficiency, reliability, and
flexibility of cloud services.

However, software and data inside clouds can be automatically reconfigured and consolidated to a
simple platform depending on user‘s needs.
 Pricing
Cloud computing does not require up-from investment. No capital expenditure is required.
Users pay for services and capacity as they need them.

1.6. Features of Cloud Computing:

The features of Cloud Computing are:


1. Resources Pooling
2. On -Demand Self-Service
3. Easy Maintenance
4. Large Network Access
5. Availability
6. Automatic System
7. Economical
8. Security
9. Pay as you go
10. Measured Service
Figure 1.12 shows the features of Cloud Computing.

[CSSCE 406] [Cloud Computing] Page 20


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Figure 1.12: Features of Cloud Computing.


And each is explain below.

1. Resources Pooling
It means that the Cloud provider pulled the computing resources to provide services to multiple
customers with the help of a multi-tenant model. The multi-tenant model is a software architecture
where a single instance of a software application serves multiple customers, known as "tenants."
Each tenant is a distinct entity with its own data, configuration settings, and user access, but they all
share the same underlying software infrastructure. There are different physical and virtual resources
assigned and reassigned which depends on the demand of the customer. The customer generally has
no control or information over the location of the provided resources but is able to specify location at
a higher level of abstraction (Abstraction refers to the process of simplifying complex concepts or
systems by focusing on the essential aspects and hiding unnecessary details).

[CSSCE 406] [Cloud Computing] Page 21


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

2. On-Demand Self-Service
Cloud Computing allows the users to use web services and resources on demand. One can logon to a
website at any time and use them. It is one of the important and valuable features of Cloud Computing
as the user can continuously monitor the server uptime (Server uptime means to the amount of time
a server or a computer system has been operational and available for use without experiencing any
unplanned outages or downtime. It's measured in percentage, indicating the proportion of time the
server has been up and running compared to the total time within a given timeframe), capabilities,
and allotted network storage. With this feature, the user can monitor the computing capabilities.
3. Easy Maintenance
The servers are easily maintained and the downtime is very low and even in some cases, there is no
downtime. Cloud Computing comes up with an update every time by gradually making it better.
The updates are more compatible with the devices and perform faster thanolder ones along with the
bugs which are fixed.

4. Large Network Access

The user can access the data of the cloud or upload the data to the cloud from anywhere just with
the help of a device and an internet connection. These capabilities are available all over the network
and accessed with the help of internet.

5. Availability

The capabilities of the Cloud can be modified as per the use and can be extended a lot. It analyzes
the storage usage and allows the user to buy extra Cloud storage if needed for a verysmall amount.

6. Automatic System

Cloud computing automatically analyzes the data needed and supports a metering capability (tracks
the usage of computing resources such as virtual machines, storage, and data transfer. This data is
used to calculate charges for customers based on their actual resource consumption) atsome level
of services. We can monitor, control, and report the usage. It will provide transparency for the host
as well as the customer.

[CSSCE 406] [Cloud Computing] Page 22


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

7. Economical

This means achieving cost-effective and efficient utilization of cloud resources while meeting the
needs of the applications and services being hosted. It is the one-time investment as the company
(host) has to buy the storage and a small part of it can be provided to the many companies which
save the host from monthly or yearly costs. Only the amount which is spent is on the basic
maintenance and a few more expenses which are veryless.

8. Security

Cloud Security, is one of the best features of cloud computing. It creates a snapshot of the datastored
so that the data may not get lost even if one of the servers gets damaged. The data is stored within
the storage devices, which cannot be hacked and utilized by any other person. The storage service is
quick and reliable.

9. Pay as you go

In cloud computing, the user has to pay only for the service or the space they have utilized. There is
no hidden or extra charge which is to be paid. The service is economical and most of the time some
space is allotted for free.

10. Measured Service

Cloud computing resources used to monitor and the company uses it for recording. This resource
utilization is analyzed by supporting charge-per-use capabilities. This means that the resource
usages which can be either virtual server instances that are running in the cloud are getting
monitored, measured and reported by the service provider. The model pay as you go is variable
based on actual consumption of the manufacturing organization.

[CSSCE 406] [Cloud Computing] Page 23


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

1.7 Components of Cloud Computing:

Successful implementation of cloud computing requires proper implementation of certain


components. Without any of these components cloud computing will not be possible. The
Components of the Cloud Computing are as follows:
 Clients
 Services
 Applications
 Platforms
 Storage
 Infrastructure

 The Clients

In cloud computing, a "client" refers to a user's device or software application that accesses and interacts with
services, resources, or data hosted on remote servers through the internet. Cloud computing provides various types
of services, such as IaaS, PaaS, and SaaS, BPaaS and clients play a vital role in using these services. Here are some
few types of clients in cloud computing:
 Web Browsers
 Mobile Apps
 Desktop Applications
 API Clients
 IoT Devices
 Virtual Machines (VMs)
 Containers
 Command Line Interfaces (CLIs)
 File Sync and Backup Clients
 Game Consoles and Smart TVs
They can be explained as follows:
o Web Browsers: Many cloud services are accessed through web browsers. Users can access
web applications and services like email, document collaboration, and project management
directly through their browser.

[CSSCE 406] [Cloud Computing] Page 24


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

o Mobile Apps: Mobile applications that interact with cloud services are common. These
apps are installed on smartphones or tablets and allow users to access data and perform tasks
in the cloud.
o Desktop Applications: Some applications installed on a user's desktop computer may
interact with cloud services. These applications might synchronize data, perform backups,
or offer other features through cloud integration.
o API Clients: Developers often build applications that use cloud services via APIs
(Application Programming Interfaces). These APIs allow software to interact with cloud
resources programmatically, enabling a wide range of functionalities.
o IoT Devices: Internet of Things (IoT) devices often serve as clients to cloud services. These
devices collect and transmit data to the cloud for storage, analysis, and further processing.
o Virtual Machines (VMs): In IaaS, virtual machines act as clients that request computing
resources from a cloud provider. Users can run operating systems and applications on these
VMs without needing physical hardware.
o Containers: Containers, like Docker containers, can also be considered clients in cloud
computing. They encapsulate applications and their dependencies, allowing them to run
consistently across various environments, including cloud services.
o Command Line Interfaces (CLIs): Developers and system administrators frequently use
command-line tools to interact with cloud services. These tools offer more fine-grained
control over various aspects of cloud resources.
o File Sync and Backup Clients: Cloud storage services often offer clients that synchronize
files between a user's device and the cloud, ensuring data consistency and availability.
o Game Consoles and Smart TVs: These devices might have built-in applications that
connect to cloud gaming or streaming services, allowing users to play games or stream
media content directly from the cloud.

 The Services
o Cloud computing offers a wide range of services that accommodates to various
computing needs. These services are typically categorized into three main models:
IaaS, PaaS, and SaaS.

[CSSCE 406] [Cloud Computing] Page 25


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

o Cloud computing is all about processes and the services. Cloud computing
always has to deal with processes with an expected output.
o The optimization on services is based on two things: the proper development of the
application and the end user. Sometimes the service could be used by the user wherein their
experience is greatly affected by their gadget.

 The Applications

o Cloud computing provides a platform for hosting a wide variety of applications and use
cases across various industries and sectors, offering benefits such as scalability,
accessibility, and cost-efficiency.
o Applications deployed in the cloud can range from simple web apps to complex enterprise
systems.
o It is the application that decide the service is acknowledged.
o This is where software developers have to focus in terms of ensuring the application will
work as expected.
o Optimization of the application is based the actual coding of developers. Through
extensive testing on load handling, security and functionality, the application could work
as expected.
o Common types of applications that are commonly hosted in cloud computing
environments are as follows: Web Applications, Mobile Applications, Collaboration and
Productivity Tools, Enterprise Resource Planning (ERP) Systems, Customer Relationship
Management (CRM) Systems, Big Data and Analytics Applications, Gaming and
Entertainment Applications, IoT Applications, Healthcare and Life Sciences Applications
etc.

 The Platform – IAAS, PAAS or SAAS

o In regular websites or applications that don‘t deal with cloud computing, the application
is directly connected to the server.
o In cloud computing the application is still launched to another application called the
platform. The platform is usually coded by using the programming language such as
Ajax, JAVA, Python or Ruby on Rails.
o
[CSSCE 406] [Cloud Computing] Page 26
]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

At this point those who opted to seek cloud computing providers will have to follow the set that
could be run in the platform.
 The Storage

o Cloud computing offers various storage services that enable users and organizations
to store and manage data without the need for on-premises hardware. These services
provide scalable, reliable, and cost-effective solutions for data storage.

o Everything that the application knows and the functions that could be provided by
service are possible through storage.
o The storage holds applicable data and information on function on how they will be
implemented.
o Optimization on storage is based on how the storage facility protected from different
attacks and availability of back-up.

o Computing is always about consistency and availability of service which will naturally
require the storage to be available all the time.

 The Infrastructure
o In cloud computing, infrastructure refers to the underlying foundation of computing
resources and services that are provided by cloud providers to users over the internet.

o Cloud infrastructure allows users to access and manage computing resources without
the need to invest in and maintain physical hardware.

o The infrastructure in cloud computing is categorized into three main models: IaaS,
PaaS, and SaaS.

o Every function, service and the ability of storage to provide the needed data is only
possible through optimized infrastructure.
o This could be considered as the platform behind the storage as the infrastructure helps
the storage deal with load problems.
o The infrastructure is a platform wherein it weights the ability of the storage against the
number of requests. The infrastructure has the ability to make some changes by load
balancing and even management.

[CSSCE 406] [Cloud Computing] Page 27


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

1.8 Benefits of Cloud Computing:


Cloud Computing has numerous advantages. Some of them are listed below:
1. One can access applications as utilities, over the Internet.
2. Manipulate and configure the application online at any time.
3. It does not require to install a specific piece of software to access or manipulate cloud
application.
4. Cloud Computing offers online development and deployment tools, programming runtime
environment through Platform as a Service model.
5. Cloud resources are available over the network in a manner that provides platform independent
access to any type of clients.
6. Cloud Computing offers on-demand self-service. The resources can be used without
interaction with cloud service provider.
7. Cloud Computing is highly cost effective because it operates at higher efficiencies with greater
utilization. It just requires an Internet connection.
8. Cloud Computing offers load balancing that makes it more reliable.

The benefits of Cloud Computing can be summarized in Figure 1.13.

Figure 1.13: Benefits of Cloud Computing.

[CSSCE 406] [Cloud Computing] Page 28


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

1.9 Summary of the Module 1:

This module provides a brief overview of the cloud computing phenomenon by presenting its definitions, vision,
discussing its core features and characteristics and tracking the technological developments that have made it
possible. The module also introduces some key cloud computing technologies as well as some insights into
development of cloud computing environments.

[CSSCE 406] [Cloud Computing] Page 29


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

MODULE 2: Cloud Computing-Architecture


2.1 Introduction
2.2 Front End
2.3 Back End
2.4 Summary of Module 2

2.1 Introduction
The Cloud Computing architecture comprises of many cloud components, each of them are loosely
coupled. We can broadly divide the cloud architecture into two parts thus:
 Front End
 Back End
Each of the ends are connected through a network, usually via Internet. The diagram in figure 2.1 shows
the graphical view of cloud computing architecture:

Figure 2.1: Graphical view of Cloud Computing Architecture

[CSSCE 406] [Cloud Computing] Page 30


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

2.2 Front End


In cloud computing architecture, the front end typically refers to the user interface and client-facing
components of an application or system.
Front End refers to the client part of cloud computing system. It consists of interfaces and applications
that are required to access the cloud computing platforms, e.g., Web Browser.
Client Infrastructure
The client infrastructure as a component of front end plays a crucial role in enabling users to interact with
and access services provided by the cloud. Generally, the client infrastructure in cloud computing
architecture is responsible for delivering the application's user interface and enabling user interactions. It's
an essential component that works in conjunction with the backend, which manages data storage,
processing, and other server-side tasks. Together, they create a comprehensive cloud-based solution for
users.
2.3 Back End
Back End refers to the cloud itself. It consists of all the resources required to provide cloud computing
services. In cloud computing architecture, the back end encompasses the servers, databases, applications,
and other resources that work together to process and manage data.. It comprises of huge data storage,
virtual machines, security mechanism, services, deployment models, servers, etc.
The main Components of the back end are:
1. Application
 Service
 Cloud Runtime
 Storage
 Infrastructure
2. Management
3. Security

[CSSCE 406] [Cloud Computing] Page 31


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

1. Application
The application is a crucial component of the back end, responsible for executing specific tasks and
providing services to the front end and other parts of the system. Generally, the back-end application is the
engine that powers the cloud-based system. It handles data processing, storage, and the execution of
business logic, ensuring that the application functions reliably and efficiently. It works in tandem with the
front end to provide a seamless and responsive user experience. Data Processing: Applications in the back
end process data received from the front end or other sources. This could involve calculations, validations,
transformations, and other operations necessary to provide the desired functionality.
Data Storage and Retrieval: The application interacts with databases and other storage systems to
persistently store and retrieve data. This could include relational databases, NoSQL databases, file systems,
and more.
Business Logic: The application contains the core business logic that defines how data is processed,
manipulated, and transformed to fulfill specific functions. The logic dictates how the application responds
to different requests and inputs.
2. Management
Management in the backend refers to the various components and processes responsible for overseeing and
controlling the operation of the entire system. This includes tasks related to resource allocation, monitoring,
scaling, security, and overall administration of the cloud infrastructure.
In general, management in the backend of a cloud computing architecture is responsible for orchestrating,
monitoring, securing, and optimizing the resources and services within the cloud environment, ensuring
that they operate efficiently, securely, and in accordance with organizational requirements. Orchestration:
Backend management systems use orchestration tools (like Kubernetes) to coordinate the deployment,
scaling, and operation of applications and services across multiple servers or containers.

3. Security
Security is a critical component of the backend in cloud computing architecture. It encompasses a wide
range of measures and technologies designed to protect data, applications, and resources from
unauthorized access, breaches, and other security threats. Security in the backend of a cloud computing
architecture is vital for safeguarding sensitive data, applications, and resources from threats, ensuring the
confidentiality, integrity, and availability of information within the cloud environment.

[CSSCE 406] [Cloud Computing] Page 32


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Note:
 It is the responsibility of the back end to provide built-in security mechanism, traffic control and
protocols.
 The server employs certain protocols, known as middleware that helps the connected devices to
communicate with each other. Middleware is a type of software that acts as an intermediary layer
between different software applications or components in a distributed computing environment. It
facilitates communication and interaction between various systems that may have different
technologies, protocols, or architectures.

2.4 Summary of the Module 2


This module provides a brief overview of the cloud computing architecture that is broadly divided into two
thus; front end and back end respectively with their detailed explanations.

[CSSCE 406] [Cloud Computing] Page 33


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

MODULE 3: Cloud Computing- Infrastructure


3.1 Introduction
3.2 Components of Cloud Infrastructure
3.3 Infrastructural Constraints
3.4 Summary of Module 3

3.1 Introduction
This module discusses the Cloud Computing infrastructure and its constraints. These components and
the constraint can be explained in details in the subsequent subsections.

3.2 Components of Cloud Infrastructure


The Cloud infrastructure consists of various components such as management software, deployment
software, hypervisor, network, servers, and storage as shown figure 3.1.

Figure 3.1: Graphical view of Cloud Computing Infrastructure


3.2.1 Management Software
This Software helps to maintain and configure the infrastructure.

3.2.2 Deployment Software


This software helps to deploy and integrate the application on the cloud.

3.2.3 Hypervisor
This is a firmware or low-level program that acts as a Virtual Machine Manager. It allows to share the
single physical instance of cloud resources between several users. A "single physical instance of cloud
resources" refers to a specific physical server or piece of hardware within a cloud computing environment.

[CSSCE 406] [Cloud Computing] Page 34


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Firmware is a specific type of software that is permanently programmed into a hardware device. It
provides the necessary instructions for the device to function properly. Unlike software, which can be
updated or changed easily, firmware is typically stored in non-volatile memory e.g., ROM, which means
it retains its programming even when the device is powered off.

3.2.4 Network
It is the key component of cloud infrastructure. It allows to connect cloud services over the Internet. It is
also possible to deliver network as a utility over the Internet, i.e., the consumer can customize the
network route and protocol.

3.2.5 Server
Server helps to compute the resource sharing and offer other services such as resource allocation and
deallocation, monitoring resources, security, etc.

3.2.6 Storage
Cloud uses distributed file system for storage purpose. If one of the storage resource fails, then it can be
extracted from another one which makes cloud computing more reliable and efficient.

3.3 Infrastructural Constraints


The cloud infrastructure have some important constraints such as transparency, scalability, intelligent
monitoring and security that should be implemented are shown in the figure 3.2.

Figure 3.2: Cloud Computing Constraints

[CSSCE 406] [Cloud Computing] Page 35


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

These constraints can be explained in details.

3.3.1 Transparency
Refers to the clear and open communication and visibility of limitations or restrictions within a system's
infrastructure. This relates to various aspects of a system, including hardware, software, networking, or
any other component that may impose limitations on the system's abilities.
Since virtualization is the key to sharing of resources in cloud environment and it is not possible to satisfy
all the demand with single resource or server. Therefore, there must be transparency in resources sharing,
load balancing and application, so that they can be scaled on demand. Transparency in infrastructural
constraints is about being open and honest about the limitations of a system's infrastructure which will
empower the stakeholders to make informed decisions about system design, development, and operations,
ultimately leading to more efficient and effective use of resources.
3.3.2 Scalability
Scalability refers to a system's ability to handle increased loads by adding resources. This can be done
horizontally (adding more machines) or vertically (adding more power to existing machines). Scalability
helps to accommodate growing demand without sacrificing performance.
Scaling up an application delivery solution is not that easy as scaling up an application because it involves
configuration overhead or even re-architecting the network. Hence, application delivery solution need to
be scalable which will require the virtual infrastructure such that resource can be provisioned and de-
provisioned easily.
3.3.3 Intelligent Monitoring
To achieve transparency and scalability, application solution delivery will need to be capable of intelligent
monitoring. Application solution delivery in this case refers to the process of deploying and managing
applications in a cloud environment while utilizing intelligent monitoring tools and techniques to ensure
optimal performance, security, and cost-efficiency.
3.3.4 Security
The mega data center in the cloud should be securely configured. Also, the control node, an entry point in
mega data center also needs to be secured.

3.4 Summary of the Module 3


This module provides an overview of the cloud computing infrastructure and its constraints that was
discussed extensively.

[CSSCE 406] [Cloud Computing] Page 36


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

MODULE 4: Deployment Models/Types of Cloud


4.1 Introduction
4.2 Types of Cloud Models
4.2.1 Public Cloud Model
4.2.2 Private Cloud Model
4.2.3 Hybrid Cloud Model
4.2.4 Community Cloud Model
4.3 Summary of Module 4

4.1 Introduction
This module introduces the four (4) different types of Cloud Models, their example scenarios,
characteristics and advantages and the disadvantages.

4.2 Types of Cloud Models


There are four (4) different types of Cloud Models thus:
1. Public
2. Private
3. Hybrid
4. Community. And each can be explained in details as follows.
4.2.1 Public Cloud Models
A public cloud is a type of cloud computing deployment model where cloud services and resources are
provided by a third-party service provider over the internet. These resources are made available to the
general public or a large number of users. The Public Cloud allows systems and services to be easily
accessible to general public. For e.g., Amazon Web Services (AWS), Microsoft Azure, Google Cloud
Platform (GCP), and IBM Cloud offers cloud services via Internet. Example Scenario: Web Hosting

[CSSCE 406] [Cloud Computing] Page 37


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Figure 4.1: Public Cloud Model


Characteristics:
1. Accessibility: Public cloud services are accessible to anyone with an internet connection and the
necessary credentials. Users can access resources and services from anywhere in the world.
2. Multi-Tenancy: Public clouds are typically multi-tenant environments, meaning that multiple
customers share the same physical infrastructure while maintaining isolation from one another.
3. Scalability: Public clouds offer the ability to quickly scale resources up or down based on
demand. This elasticity allows users to pay for only the resources they consume.
4. Pay-as-You-Go Pricing: Public clouds often use a pay-as-you-go or subscription-based pricing
model. This means that users are billed based on their usage, which can help control costs.
5. No Upfront Hardware Costs: Users of public clouds do not need to invest in or maintain their
own physical hardware. Instead, they can leverage the provider's infrastructure.
6. Managed Services: Public cloud providers often offer a wide range of managed services, such as
databases, machine learning, and serverless computing, which can help users focus on their
applications rather than infrastructure management.
7. Global Reach: Public cloud providers typically have data centers located in multiple regions
around the world, allowing users to deploy applications closer to their target audience for
improved performance.
8. Security and Compliance: Public cloud providers invest heavily in security measures and
compliance certifications to ensure the protection of their customers' data.
9. Automatic Updates and Maintenance: The provider is responsible for maintaining and updating
the underlying infrastructure, reducing the burden on users.

[CSSCE 406] [Cloud Computing] Page 38


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Benefits (Advantages) of Public Cloud Model


There are many benefits of deploying cloud as public cloud model as shown in Figure 4.2.

Figure 4.2: Public Cloud Model


1. Cost Effective: It has low cost, since public cloud share same resources with large number of
consumer.
2. Reliability: Since public cloud employs large number of resources from different locations, if any
of the resource fail, public cloud can employ another one.
3. Flexibility: It is also very easy to integrate public cloud with private cloud, hence gives consumers
a flexible approach.
4. Location Independence: Since, public cloud services are delivered through Internet, therefore
ensures location independence.
5. Utility Style Costing: Public cloud is also based on pay-per-use model and resources are
accessible whenever consumer needs it.
6. High Scalability: Cloud resources are made available on demand from a pool of resources, i.e.,
they can be scaled up or down according the requirement.
Disadvantages of Public Cloud Model
These are some of the disadvantages of public cloud model:
1. Low Security: In public cloud model, data is hosted off-site and resources are shared publicly,
therefore does not ensure higher level of security.
2. Less Customizable: It is comparatively less customizable than private cloud.
3. Dependence on Internet Connectivity: Since public cloud services are accessed over the internet,
a reliable internet connection is vital. If there are network issues, it can disrupt access to cloud
resources.

[CSSCE 406] [Cloud Computing] Page 39


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

4. Vendor Lock-In: Once an organization heavily invests in a specific cloud provider's services and
technologies, migrating to a different provider can be complex, time-consuming, and costly.
5. Downtime and Reliability: While public cloud providers offer high availability, they are not
immune to outages. Even major providers like AWS, Azure, and Google Cloud have experienced
downtime in the past. Organizations need to have contingency plans in place.

4.2.2 Private Cloud Model


A private cloud is a cloud computing deployment model that is dedicated to a single organization. It can
be hosted on-premises or by a third-party provider. The infrastructure is used exclusively by that
organization and can be managed internally or by a dedicated service provider. The Private Cloud allows
systems and services to be accessible within an organization. The Private Cloud is operated only within a
single organization. However, it may be managed internally or by third-party. Example Scenario:
Healthcare Data Management.

Figure 4.3: Private Cloud Model

[CSSCE 406] [Cloud Computing] Page 40


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Characteristics Private Cloud Model:


1. Dedicated Infrastructure: In a private cloud, the underlying physical resources, including
servers, storage, and networking, are exclusively dedicated to a single organization. This provides
a higher level of control and security compared to public cloud models.
2. Isolation and Privacy: Since a private cloud is used exclusively by a single organization, it offers
a higher level of data privacy and security. Data and applications are not shared with other
external entities.
3. Customization and Flexibility: Organizations have the ability to customize the private cloud
environment to meet their specific requirements. This includes tailoring configurations, security
policies, and compliance measures to suit their needs.
4. Compliance and Regulatory Control: Private clouds are often preferred by organizations with
strict compliance requirements (e.g., in healthcare, finance, or government sectors) where data
must be kept in a controlled environment to meet regulatory standards.
5. Greater Security Control: Organizations have full control over the security measures
implemented within the private cloud. This includes setting up firewalls, intrusion detection
systems, encryption, and other security protocols.
6. Scalability and Resource Allocation: While private clouds offer scalability, it's typically not as
elastic as public clouds. However, resource allocation can be adjusted as needed to meet changing
demands within the organization.

Benefits (Advantages) of Private Cloud Model


There are many benefits of deploying cloud as private cloud model. The figure 4.4 shows some of those
benefits:

Figure 4.4: Benefits of Private Cloud Model.

[CSSCE 406] [Cloud Computing] Page 41


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

1. Higher Security and Privacy: Private cloud operations are not available to general public and
resources are shared from distinct pool of resources, therefore, ensures high security and
privacy.
2. More Control: Private clouds have more control on its resources and hardware than public cloud
because it is accessed only within an organization.
3. Cost and Energy Efficiency: Private cloud resources are not as cost effective as public clouds
but they offer more efficiency than public cloud.
4. Improved Reliability: Private cloud are more reliable when compared to hybrid cloud.

Disadvantages Private Cloud Model


Here are the disadvantages of using private cloud model:
1. Restricted Area: Private cloud is only accessible locally and is very difficult to deploy globally.
2. Inflexible Pricing: In order to fulfill demand, purchasing new hardware is very costly.
3. Limited Scalability: Private cloud can be scaled only within capacity of internal hosted resources.
4. Additional Skills: In order to maintain cloud deployment, organization requires more skilled and
expertise.
4.2.3 Hybrid Cloud Model
A hybrid cloud is a combination of both public and private clouds. Non-critical activities are
performed using public cloud while the critical activities are performed using private cloud. It
allows data and applications to be shared between them. This model provides more flexibility and
optimization of existing infrastructure.
Hybrid Cloud Use Cases: Hybrid clouds are well-suited for industries with strict regulatory
requirements, such as finance, healthcare, and government. They are also favored by businesses
with fluctuating workloads. Example Scenario: Seasonal Workload Fluctuations.

Figure 4.5: Hybrid Cloud Model.

[CSSCE 406] [Cloud Computing] Page 42


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Characteristics of Hybrid Cloud Model.


Some key characteristics of hybrid cloud computing model:
1. Integration of Public and Private Clouds: Hybrid clouds seamlessly integrate public and private
cloud environments, allowing data and applications to be shared between them.
2. Flexibility: Hybrid clouds offer a high degree of flexibility in deploying workloads. Organizations
can move applications and data between public and private clouds based on requirements.
3. Scalability: Hybrid clouds allow for easy scaling of resources. Organizations can scale up or down
based on demand, utilizing public cloud resources for burstable workloads.
4. Security and Control: Private clouds in a hybrid setup provide a higher level of control and
security. Sensitive data can be kept on-premises or in a dedicated environment, ensuring
compliance with security policies.
5. Cost-Efficiency: Hybrid clouds offer cost-effectiveness by allowing organizations to utilize public
cloud resources for non-sensitive workloads. This can result in cost savings through the pay-as-
you-go pricing model.
6. Disaster Recovery and Redundancy: Hybrid clouds provide robust disaster recovery solutions.
Critical data can be backed up in the public cloud, ensuring redundancy and data availability in case
of hardware failure or other disasters.
7. Compliance with Regulations: Hybrid clouds are useful for organizations subject to regulatory
compliance. Sensitive data can be kept in the private cloud to comply with specific regulations,
while less sensitive data can be stored in the public cloud.
8. Optimized Workload Placement: Workloads can be placed in environments that best suit their
requirements. For example, applications with fluctuating resource needs may benefit from the
scalability of the public cloud, while sensitive applications may remain in the private cloud.
9. Resource Optimization: Hybrid clouds enable organizations to allocate resources where they are
needed most, leading to better utilization of computing resources and cost savings.
10. Complexity of Management: Managing a hybrid cloud environment can be more complex than
managing a single-cloud solution. It requires expertise in both public and private cloud
technologies.

[CSSCE 406] [Cloud Computing] Page 43


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

11. Redundancy and High Availability: Hybrid clouds can be designed to provide redundancy and
high availability. Critical applications can be hosted in both public and private environments to
ensure uninterrupted service.
12. Geographical Reach: Hybrid clouds can have a global reach, allowing organizations to deploy
resources in different regions or data centers for improved performance and compliance with data
residency requirements.

Benefits (Advantages) of Hybrid Cloud Model


There are many benefits of deploying cloud as hybrid cloud model. The following diagram shows some of
those benefits:

Figure 4.6: Benefit of Hybrid Cloud Model.

1. Scalability: It offers both features of public cloud scalability and private cloud scalability.
2. Flexibility: It offers both secure resources and scalable public resources.
3. Cost Efficiencies: Public cloud are more cost effective than private, therefore hybrid cloud can
have this saving.
4. Security: Private cloud in hybrid cloud ensures higher degree of security.

[CSSCE 406] [Cloud Computing] Page 44


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Disadvantages:
1. Networking Issues: Networking becomes complex due to presence of private and public cloud.
2. Security Compliance: It is necessary to ensure that cloud services are compliant with
organization's security policies.
3. Infrastructural Dependency: The hybrid cloud model is dependent on internal IT infrastructure,
therefore it is necessary to ensure redundancy across data centers.

4.2.4 Community Cloud Model


A community cloud is a cloud computing deployment model that is shared by multiple organizations with
similar interests, requirements, or compliance needs.
In a community cloud, a group of organizations from a specific industry, sector, or community collaborate
to jointly use and manage the cloud infrastructure. This model provides a balance between the
customization of a private cloud and the cost-effectiveness of a public cloud. The Community Cloud
allows system and services to be accessible by group of organizations. It shares the infrastructure between
several organizations from a specific community. It can be managed internally or by the third-party.
Scenario: Healthcare Community Cloud.

In a metropolitan area, several healthcare providers, including hospitals, clinics, and medical laboratories,
come together to form a collaborative healthcare network. They share a common goal of improving patient
care, reducing costs, and ensuring compliance with strict healthcare regulations.

Figure 4.7: Community Cloud Model.

[CSSCE 406] [Cloud Computing] Page 45


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Characteristics of Community Cloud Model:


1. Shared Infrastructure: Resources such as computing power, storage, and networking are shared
among the member organizations of the community.
2. Common Interests or Requirements: Organizations in a community cloud typically have similar
needs, such as regulatory compliance, security standards, or industry-specific workflows.
3. Collaborative Management: The community members may jointly oversee and manage the cloud
infrastructure, or they may contract a third-party provider to manage it on their behalf.

Benefits (Advantages) of Community Cloud Model


There are many benefits of deploying cloud as community cloud model. These are some of the benefits:
1. Cost Sharing and Cost Effective: Organizations in the community share the costs of infrastructure
and maintenance, making it more cost-effective than a private cloud.
 It offers same advantage as that of private cloud at low cost.
 Sharing Between Organizations
 It provides an infrastructure to share cloud resources and capabilities among several
organizations.
2. Security: Community cloud is comparatively more secure than the public cloud.
3. Customization: The community cloud can be tailored to meet the specific needs and compliance
requirements of the member organizations.
4. Enhanced Security and Compliance: Community clouds are designed to meet the specific
regulatory and compliance standards of the industry or sector the organizations belong to.
5. Shared Expertise: Member organizations can leverage the collective knowledge and expertise of
the community for managing and optimizing the cloud infrastructure.

Disadvantages of a Community Cloud:


1. Coordination and Governance: Effective governance and coordination among member
organizations are crucial for successful operation and management of the community cloud.
2. Conflict Resolution: Disputes or conflicts may arise regarding resource allocation, security
policies, or other operational aspects. Clear agreements and processes for conflict resolution are
needed.

[CSSCE 406] [Cloud Computing] Page 46


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

3. Dependency on Community: Organizations rely on the stability and reliability of the community
cloud, so any issues affecting the cloud infrastructure can impact multiple members.
4. Accessible: Since all data is housed at one location, one must be careful in storing data in
community cloud because it might be accessible by others.

4.3 Summary of the Module 4


This module provides an overview of the four (4) different types of Cloud Computing Models, their
example scenarios, characteristics, advantages and the disadvantages. These was discussed extensively
in the module subsections.

MODULE 5: Overview of Cloud Service Models


5.1 Introduction
5.2 Types of Cloud Service Models
5.2.1 Infrastructure as a service (IaaS)
5.2.2 Platform as a Service (PaaS)
5.2.3 Software as a Service (SaaS)
5.2.4 Business Process as a Service (BPaaS).
5.3 Summary of Module 5

5.1 Introduction
This module gives an overview of the four (4) different types of Cloud Service Models, their brief
definitions.

5.2.1 Infrastructure as a Service (IaaS)


Infrastructure as a Service (IaaS) can be define as a cloud computing model that provides virtualized
computing resources over the internet. In an IaaS environment, users can rent or lease virtualized
hardware resources, including virtual machines, storage, networking, and other computing resources,
from a cloud service provider. This allows users to deploy and manage their own software applications
and services on the cloud infrastructure.

[CSSCE 406] [Cloud Computing] Page 47


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

5.2.2 Platform as a Service (PaaS)


PaaS can be define as a cloud computing model that provides a platform and environment for developers
to build, deploy, and manage applications without dealing with the underlying infrastructure. It includes
tools and services to streamline the development process.

5.2.3 Software as a Service (SaaS)


SaaS can be define as a cloud computing model that delivers fully functional software applications over
the internet on a subscription basis. Users can access these applications through web browsers without
needing to install or maintain them locally.

5.2.4 Business Process as a Service (BPaaS)


This can be defined as a cloud computing service model that provides end-to-end business process
outsourcing solutions over the internet. It involves outsourcing specific business functions and processes
to a third-party service provider, who manages and executes those processes on behalf of the client
organization. BPaaS leverages cloud-based technologies to deliver scalable, on-demand services.

5.3 Summary of Module 5


This module gives brief definitions of the four (4) different types of Cloud Service Models.

MODULE 6: Infrastructure as a Service (IaaS)


6.1 Introduction
6.2 Examples
6.3 Characteristics
6.4 Benefits
6.5 Disadvantages.
6.6 Summary of Module 6

[CSSCE 406] [Cloud Computing] Page 48


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

6.1 Introduction
IaaS provides access to fundamental resources such as physical machines, virtual machines, virtual
storage, etc., Apart from these resources, the IaaS also offers:
o Virtual machine disk storage
o Virtual local area network (VLANs)
o Load balancers
o IP addresses
o Software bundles
All of the above resources are made available to end user via server virtualization. Moreover, these
resources are accessed by the customers as if they own them.

Figure 6.1: IaaS.


6.2 Examples
These are some the examples of IaaS:
1. Amazon Web Services (AWS)
2. Microsoft Azure
3. Google Cloud Platform (GCP)
4. IBM Cloud
5. Oracle Cloud Infrastructure (OCI)

[CSSCE 406] [Cloud Computing] Page 49


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

6.3 Characteristics
These are some of the characteristics of IaaS service model:
o Virtual machines with pre-installed software.
o Virtual machines with pre-installed Operating Systems such as Windows, Linux, and Solaris.
o On-demand availability of resources.
o Allows to store copies of particular data in different locations.
o The computing resources can be easily scaled up and down.
6.4 Benefits (Advantages)
A. IaaS allows the cloud provider to freely locate the infrastructure over the Internet in a cost-effective
manner. Some of the key benefits of IaaS are as follows:
o Full Control of the computing resources through Administrative Access to VMs.
o Flexible and Efficient renting of Computer Hardware.
o Portability, Interoperability with Legacy Applications.
B. Full Control over Computing Resources through Administrative Access to VMs
IaaS allows the consumer to access computing resources through administrative access to virtual
machines in the following manner:
o Consumer issues administrative command to cloud provider to run the virtual machine or to save
data on cloud's server.
o Consumer issues administrative command to virtual machines they owned to start web server or
installing new applications.
C. Flexible and Efficient Renting of Computer Hardware
IaaS resources such as virtual machines, storages, bandwidth, IP addresses, monitoring services, firewalls,
etc., all are made available to the consumers on rent. The consumer has to pay based the length of time a
consumer retains a resource. Also with administrative access to virtual machines, the consumer can also
run any software, even a custom operating system.
D. Portability, Interoperability with Legacy Applications
It is possible to maintain legacy between applications and workloads between IaaS clouds. For example,
network applications such as web server, e-mail server that normally runs on consumer-owned server
hardware can also be run from VMs in IaaS cloud.

[CSSCE 406] [Cloud Computing] Page 50


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

6.5 Disadvantages
IaaS shares issues with PaaS and SaaS, such as Network dependence and browser based risks. It also
have some specific issues associated with it as shown in Figure 6.2.

Figure 6.2: Issues of IaaS.


A. Compatibility with Legacy Security Vulnerabilities
Because IaaS offers the consumer to run legacy software in provider's infrastructure, hence it exposes
consumers to all of the security vulnerabilities of such legacy software.
B. Virtual Machine Sprawl
The VM can become out of date with respect to security updates because IaaS allows the consumer to
operate the virtual machines in running, suspended and off state. However, the provider can automatically
update such VMs, but this mechanism is hard and complex.
C. Robustness of VM-Level Isolation
IaaS offers an isolated environment to individual consumers through hypervisor. Hypervisor is a software
layer that includes hardware support for virtualization to split a physical computer into multiple virtual
machines.
D. Data Erase Practices
The consumer uses virtual machines that in turn uses the common disk resources provided by the cloud
provider. When the consumer releases the resource, the cloud provider must ensure that next consumer to
rent the resource does not observe data residue from previous consumer.
6.6 Summary of Module 6
This module gives an overview of everything to do with IaaS Cloud Model from definitions it
disadvantages.

[CSSCE 406] [Cloud Computing] Page 51


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

MODULE 7: Platform as a Service (PaaS)


7.1 Introduction
7.2 Examples of PaaS
7.3 Types of PaaS
7.4 Characteristics of PaaS
7.5 Benefits of PaaS
7.6 Disadvantages of PaaS.
7.7 Summary of Module 7

7.1 Introduction
PaaS offers a platform that allows developers to build, deploy, and manage applications without having
to worry about the underlying infrastructure. Or we say it offers the runtime environment for applications.
It also offers development & deployment tools, required to develop applications. PaaS has a feature of
point-and-click tools that enables non-developers to create web applications.
Google's App Engine, Force.com are examples of PaaS offering vendors. Developer may log on to
these websites and use the built-in API to create web-based applications.
But the disadvantage of using PaaS is that the developer lock-in with a particular vendor. For example,
an application written in Python against Google's API using Google's App Engine is likely to work only
in that environment. Therefore, the vendor lock-in is the biggest problem in PaaS.
The diagram in Figure 7.1 shows how PaaS offers an API and development tools to the developers and
how it helps the end user to access business applications.

Figure 7.1: PaaS.

[CSSCE 406] [Cloud Computing] Page 52


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

7.2 Examples of PaaS


These are some examples of popular PaaS providers:
1. Google App Engine:
2. Microsoft Azure App Service:
3. Amazon Web Services (AWS) Elastic Beanstalk:
4. Heroku
5. Salesforce App Cloud formerly known as Force.com.

7.2 Types of PaaS


Based on the functions, the PaaS can be classified into four (4) types as shown in Figure 7.2:

Figure 7.2: Types of PaaS.

1. Stand-Alone Development Environments: The Stand-alone PaaS works as an independent entity for a
specific function. It does not include licensing, technical dependencies on specific SaaS applications.
2. Application Delivery-Only Environments: The Application Delivery PaaS includes on-demand
scaling and application security.
3. Open Platform as a Service: Open PaaS offers an open source software that helps a PaaS provider to
run applications.
4. Add-On Development Facilities: The Add-on PaaS allows to customize the existing SaaS platform.

[CSSCE 406] [Cloud Computing] Page 53


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

7.4 Characteristics of PaaS


These are the characteristics of PaaS service model:
1. PaaS offers browser based development environment. It allows the developer to create database
and edit the application code either via Application Programming Interface or point-and-click
tools.
2. PaaS provides built-in security, scalability, and web service interfaces.
3. PaaS provides built-in tools for defining workflow and approval processes and defining business
rules.
4. It is easy to integrate with other applications on the same platform.
5. PaaS also provides web services interfaces that allow us to connect the applications outside the
platform.

7.5 Benefits of PaaS


The following are the benefits (advantages) of PaaS model:
1. Lower Administrative Overhead: Consumer need not to bother much about the administration
because it's the responsibility of cloud provider.
2. Lower Total Cost of Ownership: Consumer need not purchase expensive hardware, servers, power
and data storage.
3. Scalable Solutions: It is very easy to scale up or down automatically based on application resource
demands.
4. More Current System Software: It is the responsibility of the cloud provider to maintain software
versions and patch installations.
These can be demonstrated in Figure 7.3

[CSSCE 406] [Cloud Computing] Page 54


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Figure 7.3: Benefits of PaaS.


7.6 Disadvantages of PaaS
Similar to SaaS, PaaS also place important burdens on consumer's browsers to maintain reliable and
secure connections to the provider systems. Therefore, PaaS shares many of the issues of SaaS.
1. Lack of Portability between Paas Clouds: Although standard languages are used yet the
implementations of platforms services may vary. For example, file, queue, or hash table
interfaces of one platform may differ from another, making it difficult to transfer workloads
from one platform to another.
2. Event Based Processor Scheduling: The PaaS applications are event oriented which poses resource
constraints on applications, i.e., they have to answer a request in a given interval of time.
3. Security Engineering of Paas Applications: Since the PaaS applications are dependent on network,
PaaS applications must explicitly use cryptography and manage security exposures.
However, these specific problems associated with PaaS is shown in Figure 7.4.

[CSSCE 406] [Cloud Computing] Page 55


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

Figure 7.4: Disadvantages of PaaS.

7.7 Summary of Module 7


This module gives an overview of everything to do with PaaS Cloud Model from definitions it
disadvantages.

MODULE 8: Software as a Service (SaaS)


8.1 Introduction
8.2 Examples of SaaS
8.3 Characteristics of SaaS
8.4 Benefits of SaaS
8.5 Disadvantages of SaaS.
8.6 Summary of Module 8

8.1 Introduction
SaaS model allows to provide software application as a service to the end users. It refers to a software
that is deployed on a hosted service and is accessible via Internet. There are several SaaS applications,
some of them are listed below:

[CSSCE 406] [Cloud Computing] Page 56


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

1. Billing and Invoicing System


2. Customer Relationship Management (CRM) applications
3. Help Desk Applications
4. Human Resource (HR) Solutions

Some of the SaaS applications are not customizable such as an Office Suite. But SaaS provides us
Application Programming Interface (API), which allows the developer to develop a customized
application.

8.2 Examples of SaaS


These are some of the examples of SaaS:
1. Salesforce.
2. Google Workspace apps.
3. Microsoft 365.
4. HubSpot.
5. Zoom
6. Netflix.
7. Zendesk.
8. Trello.
8.3 Characteristics of SaaS
These are the characteristics of SaaS service model:
1. SaaS makes the software available over the Internet.
2. The Software are maintained by the vendor rather than where they are running.
3. The license to the software may be subscription based or usage based. And it is billed on recurring
basis.
4. SaaS applications are cost effective since they do not require any maintenance at end user side.
5. They are available on demand.
6. They can be scaled up or down on demand.
7. They are automatically upgraded and updated.
8. SaaS offers share data model. Therefore, multiple users can share single instance of infrastructure.
It is not required to hard code the functionality for individual users.
9. All users are running same version of the software.
[CSSCE 406] [Cloud Computing] Page 57
]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

8.4 Benefits of SaaS


SaaS has proved to be beneficial in terms of scalability, efficiency, performance and much more. Some
of the benefits are:
1. Modest Software Tools: The SaaS application deployment requires a little or no client side software
installation which results in the following benefits:
 No requirement for complex software packages at client side.
 Little or no risk of configuration at client side.
 Low distribution cost.
2. Efficient use of Software Licenses: The client can have single license for multiple computers
running at different locations which reduces the licensing cost. Also, there is no requirement for
license servers because the software runs in the provider's infrastructure.

3. Centralized Management & Data: The data stored by the cloud provider is centralized. However, the
cloud providers may store data in a decentralized manner for sake of redundancy and reliability.

4. Platform responsibilities managed by provider: All platform responsibilities such as backups, system
maintenance, security, hardware refresh, power management, etc., are performed by the cloud provider. The
consumer need not to bother about them.

5. Multitenant solutions: Multitenancy allows multiple users to share single instance of resources in virtual
isolation. Consumers can customize their application without affecting the core functionality.
8.5 Disadvantages of SaaS
There are a lot issues related with SaaS, some of them are:

1. Browser based risks: If the consumer visits malicious website and browser becomes infected, and the
subsequent access to SaaS application might compromise the consumer's data.
To avoid such risks, the consumer can use multiple browsers and dedicate a specific browser to access SaaS
applications or can use virtual desktop while accessing the SaaS applications.
2. Network dependence: The SaaS application can be delivered only when network is continuously available.
Also network should be reliable but the network reliability cannot be guaranteed either by cloud provider or
the consumer.
3. Lack of portability between SaaS clouds: Transferring workloads from one SaaS cloud to another is not so
easy because work flow, business logics, user interfaces, support scripts can be provider specific.

[CSSCE 406] [Cloud Computing] Page 58


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

OPEN SAAS AND SOA


Open SaaS uses SaaS applications that are developed using open source programming language. These SaaS
applications can run on any open source operating system and database. Open SaaS has several benefits, some of
these are listed below:

1. No License Required

2. Low Deployment Cost

3. Less Vendor Lock-in

4. More portable applications

5. More Robust Solution

The diagram in Figure 7.3 shows the SaaS implementation based on SOA:

Figure 8.1: Implementation of SaaS based on SOA.


8.6 Summary of Module 8
This module gives an overview of everything to do with SaaS Cloud Model from definitions it
disadvantages.

[CSSCE 406] [Cloud Computing] Page 59


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

MODULE 9: Business Process as a Service (BPaaS)


9.1 Introduction
9.2 Examples of SaaS
9.3 Characteristics of SaaS
9.4 Benefits of SaaS
9.5 Disadvantages of SaaS.
9.6 Summary of Module 9

9.1 Introduction
Business Process as a Service (BPaaS) is a cloud computing service model that provides end-to-end
business process outsourcing solutions over the internet. It involves outsourcing specific business functions
and processes to a third-party service provider, who manages and executes those processes on behalf of
the client organization. BPaaS leverages cloud-based technologies to deliver scalable, on-demand services.
It can be a powerful tool for businesses looking to streamline operations and focus on their core
competencies.

9.2 Examples of BPaaS:


1. Payroll Processing
2. Customer Relationship Management (CRM)
3. Human Resources Management (HRM)
4. Finance and Accounting
5. Supply Chain Management (SCM)

9.3 Characteristics of BPaaS:


1. Cloud-based: BPaaS services are delivered over the internet through cloud computing platforms.
This allows for scalability, flexibility, and accessibility from anywhere with an internet connection.
2. End-to-End Process Management: BPaaS providers handle entire business processes, from
beginning to end, allowing organizations to focus on their core competencies.
3. Service-Level Agreements (SLAs): Service providers and clients agree on specific performance
metrics and standards, which are outlined in SLAs. These SLAs ensure accountability and define
the level of service expected.

[CSSCE 406] [Cloud Computing] Page 60


]
FACULTY OF COMPUTING AFIT
DEPARTMENT OF COMPUTER SCIENCE

4. Pay-Per-Use Pricing Model: BPaaS is typically charged based on a subscription or pay-per-use


model, allowing organizations to only pay for the services they consume.

9.4 Advantages of BPaaS:


1. Cost Efficiency: BPaaS eliminates the need for organizations to invest in infrastructure, software
licenses, and in-house staff to manage certain business processes, leading to cost savings.
2. Scalability and Flexibility: Organizations can scale their usage of BPaaS up or down based on
demand, providing agility in response to changing business needs.
3. Access to Expertise: BPaaS providers are specialized in the processes they manage, bringing in-
depth knowledge and expertise to the table.
4. Focus on Core Competencies: By outsourcing non-core functions, organizations can concentrate
on their primary business activities, improving overall efficiency and productivity.

9.5 Disadvantages of BPaaS:


1. Dependence on Service Providers: Organizations rely on external service providers, which can
lead to potential risks if the provider experiences downtime, security breaches, or other operational
issues.
2. Data Security Concerns: Sharing sensitive business data with a third-party provider raises security
and privacy concerns. It's crucial to ensure that the BPaaS provider has robust security measures in
place.
3. Loss of Control: Organizations relinquish a degree of control over the processes being managed
by the BPaaS provider. This can be a concern for businesses with strict regulatory requirements or
unique operational needs.
4. Integration Challenges: Integrating BPaaS solutions with existing systems and processes can be
complex, potentially leading to compatibility issues.

9.6 Summary of Module 9


This module gives an overview of everything to do with BPaaS Cloud Model from definitions it
disadvantages.

[CSSCE 406] [Cloud Computing] Page 61


]

You might also like