Cloud Computing Fundamentals
Let us review the scenario of computing prior to the announcement and
availability of cloud computing:
• Traditional computing requires users to invest heavily in hardware, software,
networking, and storage, along with maintaining and operating the
infrastructure, which becomes a significant financial burden.
• Enterprises that need large-scale computing power face even greater
expenses compared to individuals or academic users due to their higher
resource demands.
• Cloud computing offers an economical alternative by allowing users to
access computing resources on demand from a provider and pay only for the
usage, thus reducing overall expenditure.
• This model shifts costs from capital expenditure (buying and maintaining
infrastructure) to operational expenditure (paying only for the time and
resources used), making it more flexible and budget-friendly.
• Similar to how electricity is used and paid for based on consumption, cloud
computing ensures users have access to computing power without owning
the infrastructure, while also keeping their data safe even if local machines
are lost or damaged.
• Figure 2.1 shows several cloud computing applications. The cloud
represents the Internet-based computing resources, and the accessibility
is through somesecure support of connectivity.
• It is a computing solution growing in popularity, especially among
individuals and small- and medium-sized companies (SMEs). In the
cloud computing model, an organization’s core computer power resides
offsite and is essentially subscribed to rather than owned.
The Need for Cloud Computing
• Cloud computing offers greater convenience by allowing users to
access their files from any device with an internet connection,
eliminating the need to carry physical storage devices like USBs,
CDs, or external drives.
• Services like Dropbox enable easy saving and retrieval of files
from the cloud, simplifying work from multiple locations.
• Cloud platforms also enhance collaboration by allowing users to
easily share files and work together in real-time over the web.
• The risk of losing data is significantly reduced since files are
stored remotely and not dependent on a single physical device.
• Despite its benefits, cloud usage requires attention to security
measures such as using strong passwords and managing privacy
settings to prevent unauthorized access.
Defining Cloud Computing
• Cloud computing refers to accessing and storing data or programs
over the Internet from a remote system rather than relying on the
local computer’s hard drive, enabling access anytime, anywhere,
and from any device.
• Unlike basic remote storage, cloud systems offer advanced features
like scalability and elasticity, making them more dynamic and
efficient for handling various computing needs over the Internet.
NIST Definition of Cloud Computing
• According to the NIST definition, cloud computing enables on-demand,
network-based access to a shared pool of configurable resources (like
servers, storage, and applications) that can be quickly allocated and
released with minimal provider interaction.
• These resources are hosted at the cloud provider’s location and can be
accessed remotely over the Internet by users using local devices, based on
a pay-as-you-use model, making it cost-efficient and scalable.
• The cloud supports elastic provisioning, meaning computing resources can
scale up or down based on user needs, while users are only responsible for
maintaining their own access devices, not the cloud infrastructure.
• The NIST model outlines five essential characteristics, three service
models, and four deployment models, forming the foundational 5-4-3
structure, and is supported by standards organizations like ISO and IEEE.
Cloud Computing Is a Service
• Cloud computing allows us to store and retrieve information like
photos, music, and videos—just like a regular computer but over
the Internet.
• Using Flickr as an example, users can access their images from any
device and location, offering greater flexibility than local storage.
• Flickr also enables easy sharing of images without physical
devices like CDs or USBs—just by sharing a link.
• Storing images on Flickr offers better data security and backup, as
online storage is often more reliable than keeping files only on
local devices.
Cloud Computing Is a Platform
• The World Wide Web acts like an operating system for Internet-based
applications, but users still need a local operating system to access those
web applications.
• A platform is any environment that supports running applications—like
Windows or Java—even if it is not a traditional operating system.
• With cloud computing, the web itself is evolving into a platform,
enabling users to run applications directly from the Internet.
• Many desktop applications, such as word processors and office suites,
are now available as cloud-based services (e.g., Google Docs), making
cloud computing a powerful platform for users.
Principles of Cloud Computing
• The 5-4-3 principles put forth by NIST describe (a) the five essential
characteristic features that promote cloud computing, (b) the four
deployment models that are used to narrate the cloud computing
opportunities for customers while looking at architectural models, and (c)
the three important and basic service offering models of cloud
computing.
Five Essential Characteristics
1. On-demand self-service: Cloud computing allows users to
automatically access and allocate resources like server time and
storage on demand, without needing direct interaction with the
service provider.
2. Broad network access: Cloud services are accessible over the
network using standard methods, allowing diverse devices like
mobile phones, laptops, and PDAs to use them regardless of their
platform type.
3. Elastic resource pooling: Cloud providers use a multitenant
model to dynamically allocate pooled resources like storage,
processing, and bandwidth to multiple users based on demand,
offering flexibility and location independence.
4. Rapid elasticity:Cloud computing offers rapid and automatic
scalability, allowing resources to expand or shrink instantly based on
demand, giving users the impression of having unlimited resources
available at any time.
5. Measured service:Cloud systems use metering to monitor and
optimize resource usage like storage, processing, and bandwidth,
ensuring transparency and control for both providers and consumers.
Four Cloud Deployment Models:
Deployment models define how cloud services are made available to
users based on organizational needs and where the resources are
hosted. The four main deployment models are:
Public Cloud: Services are offered over the Internet to the general
public by third-party providers, with resources shared among multiple
users.
Private Cloud: Services are used exclusively by a single organization
and can be hosted on-premises or by a third party, offering more
control and security.
Community Cloud: Resources are shared by several organizations
with common interests or requirements, such as security or compliance
policies.
• Hybrid Cloud: A combination of two or more cloud models (public,
private, or community), allowing data and applications to move
between them for greater flexibility and optimization .
Three Service Offering Models:
• Cloud computing offers three primary service models, collectively
known as the SPI model—Software as a Service (SaaS), Platform
as a Service (PaaS), and Infrastructure as a Service (IaaS)—
which provide different levels of cloud-based computing resources
to users:
• SaaS delivers complete software applications over the Internet.
Users can access these applications (like email or document editors)
without installing anything locally, as the software is hosted and
managed by a cloud provider.
• PaaS provides a platform for developers that includes operating
systems, development tools, and frameworks over the Internet. It
allows users to build, test, and deploy applications without worrying
about the underlying hardware or software infrastructure.
• IaaS offers fundamental computing resources such as virtual
machines, storage, and networking. Organizations can rent and
manage this infrastructure remotely, eliminating the need to buy and
maintain physical hardware.
Cloud Architecture
• The cloud also has an architecture that describes its working mechanism.
It includes the dependencies on which it works and the components that
work over it. The cloud is a recent technology that is completely
dependent on the Internet for its functioning. Figure 3.1 depicts the
architecture. The cloud architecture can be divided into four layers based
on the access of the cloud by the user. They are as follows.
Layer 1 (User/Client Layer)
• This layer, known as the client layer, is the lowest layer in cloud architecture
and includes all the end-user devices that connect to cloud services. These
devices initiate the communication with the cloud and can include:
– Thin clients – Devices with minimal processing power that rely heavily on
cloud resources for their functionality.
– Thick clients – Regular computers with enough processing power to work
independently and interact with cloud services effectively.
– Mobile or handheld devices – Smartphones, tablets, etc., capable of
accessing cloud-based applications via the Internet.
• While cloud applications are accessed similarly to traditional web applications,
they differ significantly in how they manage resources and scale. This layer is
crucial because it represents the user’s point of entry into the cloud system, and
all interaction with cloud services begins here.
Layer 2 (Network Layer)
• This layer enables users to connect to the cloud, typically through
the Internet for public clouds or through a LAN for private clouds,
making it essential for accessing cloud services.
• The physical location of public cloud infrastructure is hidden from
users, and it can be accessed globally as long as network
connectivity is available.
• Cloud providers may specify minimum bandwidth requirements for
smooth access, but the actual network used is not managed by the
provider.
• Service Level Agreements (SLAs) exclude the user's Internet
connection, meaning the quality of service (QoS) related to that
connection is not guaranteed by the cloud provider.
Layer 3 (Cloud Management Layer)
• This layer includes software tools like cloud operating systems
and management platforms that handle resource allocation,
scheduling, and optimization within the cloud infrastructure.
• It acts as an interface between users and the underlying data center
resources, enabling efficient cloud resource governance and
performance tuning.
• Operations in this layer directly impact Service Level Agreements
(SLAs), and any delays or service issues can lead to SLA
violations and penalties for the provider.
• Both public and private clouds rely on this layer, with AWS and
Microsoft Azure as major public cloud providers, and OpenStack
and Eucalyptus supporting private cloud management.
Layer 4 (Hardware Resource Layer)
• Layer 4 deals with the actual physical hardware resources,
typically housed in data centers, which form the backbone of both
public and private clouds.
• These data centers consist of interconnected high-performance
systems and are designed for speed, reliability, and efficient
resource provisioning.
• This layer is crucial for meeting Service Level Agreements
(SLAs), as it directly affects availability, response time, and
overall cloud performance.
• Any failure or delay in this layer can result in SLA violations,
leading to penalties for the service provider.
• While the cloud architecture follows a strict layering model, some
flexibility may exist between layer 3 (management software) and
layer 4 (hardware resources) depending on deployment methods.
Anatomy of the Cloud
• Cloud anatomy refers to the basic structure or layout of the cloud,
focusing on its components without detailing the underlying
technologies or dependencies.
• It differs from cloud architecture, which provides a hierarchical
and technical view, including how different technologies interact
and depend on one another.
• While anatomy gives a general overview of the cloud's structure,
architecture explains the functional and technological relationships
within the cloud system.
• Anatomy can be seen as a subset of architecture, offering a
foundational view that can be expanded with more technical depth
if needed.
• The level of detail in describing cloud anatomy is flexible and
subjective, and various references may present different
perspectives or interpretations of it.
There are basically five components of the cloud:
1. Application: The upper layer is the application layer. In this
layer, any applications are executed.
2. Platform: This component consists of platforms that are
responsible for the execution of the application. This platform is
between the infrastructure and the application.
3. Infrastructure: The infrastructure consists of resources over
which the other components work. This provides computational
capability to the user.
4. Virtualization: Virtualization is the process of making logical
components of resources over the existing physical resources.
The logical components are isolated and independent, which
form the infrastructure.
5. Physical hardware: The physical hardware is provided by
server and storage units.
Network Connectivity in Cloud Computing
• Cloud deployment models differ in how network connectivity
impacts accessibility and performance. In public cloud
environments, services are accessed over the public Internet,
which ensures broad accessibility but may introduce latency,
bandwidth constraints, or security concerns depending on the
quality and reliability of the Internet connection. In contrast,
private clouds typically use dedicated or internal networks,
offering more secure and consistent connectivity, though access
may be limited to specific users or locations.
• Hybrid and multi-cloud deployments involve a mix of
environments and often require seamless, secure, and high-speed
communication between different cloud platforms. The efficiency
of such setups relies heavily on optimized routing, low-latency
connections, and reliable data transfer protocols to maintain
performance and prevent delays or data bottlenecks across
networks.
Public Cloud Access Networking
• In public cloud setups, users usually connect to services over
the Internet. While this makes access easy, it also brings
security risks, since data travels through public networks.
• To protect the data, cloud providers can use secure methods
like VPNs or encrypted tunnels. These methods make the
connection safer but also add extra steps, which can slow
things down.
• If we want to keep things secure without slowing
performance, we need smarter ways to send data. One way is
to choose routes that have fewer stops or hops, which can
reduce delays.
• Since the Internet is made up of many networks run by
different companies (ISPs), picking the best path for data to
travel is important. Better path selection can improve both
speed and reliability.
Private Cloud Access Networking
• In a private cloud, the cloud setup is part of the
company’s own internal network, so everything stays
within the organization’s control.
• The connection methods used can include Internet-based
VPNs or private VPN services provided by network
companies, which keep data secure.
• If the application was already being used properly within
the company’s network before switching to the cloud,
then moving to a private cloud usually won’t affect
performance or access speed.
• This is because the network structure stays mostly the
same, and the users continue to access the application in
a similar way as before, just now through a cloud-based
setup.
Intracloud Networking for Public Cloud Services
• In public cloud services, the cloud provider's resources
(like servers and storage) may be located in different parts
of the world, but they are connected through the Internet to
work together—this is called intracloud networking.
• Even though users don’t see how these internal networks
work, it's important that the connections are secure and
that users can safely and smoothly access the cloud
services.
• The quality of service (QoS), like speed, reliability, and
availability, depends on how well these worldwide
connections perform. These performance standards are
often defined in Service Level Agreements (SLAs)
between the provider and the customer.
Private Intracloud Networking
• Private intracloud networking is complex because it
depends on how applications are built and how much
they rely on internal connections between different parts
of the cloud within the company.
• These internal connections often link different data
centers owned by the organization, and they are always
used to connect users with the resources running their
applications.
• If the application is built using service-oriented
architecture (SOA), different parts (or components) of the
app may need to communicate with each other frequently,
which increases network traffic and makes performance
more sensitive to network speed and reliability.
• As global Internet use grows and business needs
change, organizations must adopt more flexible and
advanced network designs to keep up. This is why
understanding and improving network connectivity in
cloud computing has become more important than
ever.
New Facets in Private Networks
• Traditional private networks were designed to run applications
within the company’s own buildings (on-premise), focusing
mostly on keeping Internet access secure.
• Common business software like e-mail, file sharing, and ERP
systems used to run directly from servers located inside
company data centers
• .Now, many software companies offer these tools as Software
as a Service (SaaS), meaning they are hosted in the cloud. This
shift creates new challenges in how employees connect to and
use these applications over the Internet.
• Since many important (mission-critical) applications are
moving to the cloud, the network has become just as important
as electricity—if the network goes down, the business can’t
function, because employees can’t access key tools like e-mail
or ERP.
Path for Internet Traffic
• Traditional networks often use only a few central Internet
gateways to handle all traffic, which can cause slow access
and delays for users trying to reach cloud applications.
• Performance can be improved by using more Internet
gateways in different locations, so users can connect to cloud
apps through the nearest and fastest path, reducing delay.
• As more people use cloud apps, the old network setup gets
overloaded, especially at regional gateways where all traffic
passes through.
• Different applications use different amounts of bandwidth—
for example, video conferencing uses a lot, while ERP uses
less—so it's important to plan the network routes wisely to
make sure all applications run smoothly and efficiently.
Applications on the Cloud
• The power of a computer is realized through the applications. There
are several types of applications.
• The first type of applications that was developed and used was a
stand-alone application.
• A stand-alone application is developed to be run on a single system
that does not use network for its functioning.
• These stand-alone systems use only the machine in which they are
installed.
• The functioning of these kinds of systems is totally dependent on the
resources or features available within the system.
• These systems do not need the data or processing power of other
systems; they are self-sustaining.
• But as the time passed, the requirements of the users changed and
certain applications were required, which could be accessed by other
users away from the systems.
• This led to the inception of web application.
• The web applications were different from the stand-alone
applications in many aspects.
• The main difference was the client server architecture that was
followed by the web application.
• Unlike stand-alone applications, these systems were totally
dependent on the network for its working.
• Here, there are basically two components, called as the client and
the server.
• The server is a high-end machine that consists of the web
application installed.
• This web application is accessed from other client systems. The
client can reside anywhere in the network.
• It can access the web application through the Internet.
• This type of application was very useful, and this is extensively
used from its inception and now has become an important part of
day-to-day life.
• Though this application is much used, there are shortcomings as
discussed in the following:
• The web application is not elastic and cannot handle very heavy
loads, that is, it cannot serve highly varying loads.
• The web application is not multitenant.
• The web application does not provide a quantitative
measurement of the services that are given to the users, though
they can monitor the user.
• The web applications are usually in one particular platform.
• The web applications are not provided on a pay-as-you-go basis;
thus, a particular service is given to the user for permanent or
trial use and usually the timings of user access cannot be
monitored.
• Due to its non-elastic nature, peak load transactions cannot be
handled
• Primarily to solve the previously mentioned problem, the cloud
applications were developed.
• Figure 3.3 depicts the improvements in the applications.
• The cloud as mentioned can be classified into three broad access or
service models, Software as a Service (SaaS), Platform as a Service
(PaaS), and Infrastructure as a Service (IaaS).
• Cloud application in general refers to a SaaS application.
• A cloud application is different from other applications; they have
unique features.
• A cloud application usually can be accessed as a web application
but its properties differ.
• According to NIST, the features that make cloud applications
unique are described in the following (Figure 3.4 depicts the
features of a cloud application):
Multitenancy:
• Multitenancy is one of the important properties of cloud that
make it different from other types of application in which the
software can be shared by different users with full
independence.
• Here, independence refers to logical independence.
• Each user will have a separate application instance and the
changes in one application would not affect the other.
• Physically, the software is shared and is not independent.
• The degree of physical isolation is very less.
• The logical independence is what is guaranteed.
• There are no restrictions in the number of applications being
shared.
• The difficulty in providing logical isolation depends on the
physical isolation to a certain extent.
• If an application is physically too close, then it becomes
difficult to provide multitenancy.
• Web application and cloud application are similar as the
users use the same way to access both.
• Figure 3.5 depicts a multitenant application where several
users share the same application
Elasticity:
• Elasticity is also a unique property that enables the cloud to
serve better.
• According to Herbst et al. , elasticity can be defined as the
degree to which a system is able to adapt to workload changes
by provisioning and deprovisioning resources in an autonomic
manner such that at each point in time, the available resources
match the current demand as closely as possible.
• Elasticity allows the cloud providers to efficiently handle the
number of users, from one to several hundreds of users at a
time.
• In addition to this, it supports the rapid fluctuation of loads,
that is, the increase or decrease in the number of users and
their usage can rapidly change.
Heterogeneous cloud platform:
– The cloud platform supports heterogeneity, wherein any type
of application can be deployed in the cloud.
– Because of this property, the cloud is flexible for the
developers, which facilitates deployment.
– The applications that are usually deployed can be accessed by
the users using a web browser.
Quantitative measurement:
The services provided can be quantitatively measured.
The user is usually offered services based on certain
charges.
Here, the application or resources are given as a utility on
a pay-per-use basis.
Thus, the use can be monitored and measured.
Not only the services are measureable, but also the link
usage and several other parameters that support cloud
applications can be measured.
This property of measuring the usage is usually not
available in a web application and is a unique feature for
cloud-based applications.
5. On-demand service:
The cloud applications offer service to the user, on demand,
that is, whenever the user requires it.
The cloud service would allow the users to access web
applications usually without any restrictions on time,
duration, and type of device used.
The previously mentioned properties are some of the
features that make cloud a unique application platform.
These properties mentioned are specific to the cloud hence
making it as one of the few technologies that allows
application developers to suffice the user’s needs
seamlessly without any disruption.
Managing the Cloud
• Cloud management is aimed at efficiently managing the cloud
so as to maintain the QoS.
• It is one of the prime jobs to be considered.
• The whole cloud is dependent on the way it is managed.
• Cloud management can be divided into two parts:
1. Managing the infrastructure of the cloud
2. Managing the cloud application
Managing the Cloud Infrastructure
• Cloud infrastructure is the backbone of the cloud and is
responsible for ensuring Quality of Service (QoS).
• If it is not managed properly, the entire cloud system can fail. The
most important part of cloud operations is resource management,
which includes tasks like scheduling, provisioning, and load
balancing.
• These are usually handled by the cloud’s operating system, which
controls services internally.
• Poor management of resources can lead to reduced performance,
loss of functionality, and increased costs.
• Performance is essential because cloud services must meet Service
Level Agreements (SLAs), which is only possible if performance
remains high.
• The basic functions of the cloud must always be reliable because
even small failures can make the service useless for users.
• Cost efficiency is also important; lower management costs allow
service providers to offer cheaper services, attracting more users
and increasing profits, while high costs may push users away.
• Reducing power usage and operating costs is also a priority, often
achieved through methods like server consolidation, which reduces
the number of servers while using them more efficiently.
• Different service delivery models such as IaaS, PaaS, and SaaS
require different management approaches.
• Workloads in the cloud are affected by load fluctuations, which can
be predictable or unpredictable; predictable changes are easier to
manage, while unpredictable ones are harder but are part of the
cloud’s appeal.
• Cloud governance is different from cloud management, focusing
on strategic goals and overall control at an organizational level.
SLAs are a key part of governance, setting the rules for service
quality and applying penalties if those rules are not met.
Managing the Cloud Application
• Many businesses are now moving or building their
applications on cloud platforms to handle fast-changing global
market needs.
• However, moving to the cloud can make things more
complicated because applications often use a mix of cloud
provider services (like storage and databases) and third-party
services (like email and messaging).
• Since these applications are made up of many parts,
companies need clear visibility into all the services to check
their overall uptime and availability.
• Cloud application management is about solving these problems.
• It helps companies monitor their applications in the cloud, follow
company rules (like governance and auditing), and manage the
cloud environment while the app is running.
• Cloud monitoring tools collect lots of data, analyze it, and
highlight important issues that might need action, such as
increasing capacity or adding new services.
• Application management also needs tools and processes to handle
other systems that run alongside the cloud, making operations
more efficient.
Migrating Application to Cloud
• Cloud migration encompasses moving one or more
enterprise applications and their IT environments from the
traditional hosting type to the cloud environment, either
public, private, or hybrid.
• Cloud migration presents an opportunity to significantly
reduce costs incurred on applications.
• This activity comprises, of different phases like
evaluation, migration strategy, prototyping, provisioning,
and testing
Phases of Cloud Migration
1. Evaluation:
– Evaluation is carried out for all the components like current
infrastructure and application architecture, environment in terms of
compute, storage, monitoring, and management, SLAs, operational
processes, financial considerations, risk, security, compliance, and
licensing needs are identified to build a business case for moving to
the cloud.
2. Migration strategy:
– Based on the evaluation, a migration strategy is drawn—a hotplug
strategy is used where the applications and their data and interface
dependencies are isolated and these applications can be
operationalized all at once.
– A fusion strategy is used where the applications can be partially
migrated; but for a portion of it, there are dependencies based on
existing licenses, specialized server requirements like mainframes, or
extensive interconnections with other applications.
3. Prototyping:
– Migration activity is preceded by a prototyping activity to validate and
ensure that a small portion of the applications are tested on the cloud
environment with test data setup.
4. Provisioning:
– Premigration optimizations identified are implemented. Cloud servers
are provisioned for all the identified environments, necessary platform
softwares and applications are deployed, configurations are tuned to
match the new environment sizing, and databases and files are
replicated.
– All internal and external integration points are properly configured.
Web services, batch jobs, and operation and management software are
set up in the new environments.
5. Testing:
– Postmigration tests are conducted to ensure that migration has been
successful.
– Performance and load testing, failure and recovery testing, and scale-
out testing are conducted against the expected traffic load and resource
utilization levels.
Approaches for Cloud Migration
• The following are the four broad approaches for cloud migration that have
been adopted effectively by vendors:
1. Migrate existing applications:
• The companies choose to rebuild or redesign some or all of their
applications so they can use modern virtualization technologies, which
can speed up development and improve performance.
• However, this requires very skilled engineers to create new features. The
changes can be done gradually, spread over several software updates, and
the pace of these updates depends on what customers want or need.
2. Start from scratch:
• Instead of making small changes to an old application—risking lower
sales, confusing customers with too many options, and keeping engineers
busy fixing the old system—it might be better to build a completely new
application from scratch.
• Today, research and development choices may be different, and with
modern, advanced development tools, even a small, focused team can
achieve a lot.
Separate company:
• The text means that sometimes it’s better to set up an entirely new
company with its own brand, team, research, and sales operations. The
funding and intellectual property can still come from the original company,
but creating a separate “born in the cloud” company avoids many internal
conflicts.
• This new company could still be owned by the original one, but the key is
that it should work and think like a fresh, cloud-focused startup.
• Buy an existing cloud vendor:
• When a big, well-established company buys a cloud-based
competitor, it gains two benefits: it removes a rival from the market
and quickly gets a presence in the cloud industry.
• However, the risk is that the smaller company’s creativity,
motivation, and unique way of working might disappear once it
becomes part of the larger company.