Cloud Computing Lecture Material
Cloud Computing Lecture Material
Cloud Computing
CSSCE 406 Lecture Notes
[Second Semester, 2022/2023 Session]
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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).
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. 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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.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.
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.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.
4.1 Introduction
This module introduces the four (4) different types of Cloud Models, their example scenarios,
characteristics and advantages and the disadvantages.
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.
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.
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.
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.
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.
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.
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.
5.1 Introduction
This module gives an overview of the four (4) different types of Cloud Service Models, their brief
definitions.
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.
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.
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.
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.
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.
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:
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.
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.
1. No License Required
The diagram in Figure 7.3 shows the SaaS implementation based on SOA:
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.