0% found this document useful (0 votes)
49 views30 pages

Unit 5 Updates Notes

Uploaded by

21cs004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views30 pages

Unit 5 Updates Notes

Uploaded by

21cs004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Unit V

Definition of Cloud Computing – Characteristics of Cloud – Cloud Deployment


Models – Cloud Service Models – Driving Factors and Challenges of Cloud –
Virtualization – Load Balancing – Scalability and Elasticity – Replication –
Monitoring – Cloud Services and Platforms: Compute Services – Storage Services
– Application Services

Definition of cloud Computing

Cloud computing is the delivery of different services through the Internet. These
resources include tools and applications like data storage, servers, databases,
networking, and software.

Rather than keeping files on a proprietary hard drive or local storage device, cloud-
based storage makes it possible to save them to a remote database. As long as an
electronic device has access to the web, it has access to the data and the software
programs to run it.

Cloud computing is a popular option for people and businesses for a number of
reasons including cost savings, increased productivity, speed and efficiency,
performance, and security.

Cloud computing is the on-demand delivery of IT resources over the Internet with
pay-as-you-go pricing. Instead of buying, owning, and maintaining physical data
centers and servers, you can access technology services, such as computing power,
storage, and databases, on an as-needed basis from a cloud provider like Amazon
Web Services (AWS).

Characteristics of Cloud Computing

On-demand self-services: The Cloud computing services does not require any
human administrators, user themselves are able to provision, monitor and manage
computing resources as needed.

Broad network access: The Computing services are generally provided over
standard networks and heterogeneous devices.

Rapid elasticity: The Computing services should have IT resources that are able to
scale out and in quickly and on as needed basis. Whenever the user require services
it is provided to him and it is scale out as soon as its requirement gets over.
Resource pooling: The IT resource (e.g., networks, servers, storage, applications,
and services) present are shared across multiple applications and occupant in an
uncommitted manner. Multiple clients are provided service from a same physical
resource.

Measured service: The resource utilization is tracked for each application and
occupant, it will provide both the user and the resource provider with an account of
what has been used. This is done for various reasons like monitoring billing and
effective use of resource.

Multi-tenancy: Cloud computing providers can support multiple tenants (users or


organizations) on a single set of shared resources.

Virtualization: Cloud computing providers use virtualization technology to


abstract underlying hardware resources and present them as logical resources to
users.

Resilient computing: Cloud computing services are typically designed with


redundancy and fault tolerance in mind, which ensures high availability and
reliability.

Flexible pricing models: Cloud providers offer a variety of pricing models,


including pay-per-use, subscription-based, and spot pricing, allowing users to
choose the option that best suits their needs.

Security: Cloud providers invest heavily in security measures to protect their users’
data and ensure the privacy of sensitive information.

Automation: Cloud computing services are often highly automated, allowing users
to deploy and manage resources with minimal manual intervention.

Sustainability: Cloud providers are increasingly focused on sustainable practices,


such as energy-efficient data centers and the use of renewable energy sources, to
reduce their environmental impact.
Cloud Deployment Models

What is a Cloud Deployment Model?


Cloud Deployment Model functions as a virtual computing environment with a
deployment architecture that varies depending on the amount of data you want to
store and who has access to the infrastructure.
Types of Cloud Computing Deployment Models
The cloud deployment model identifies the specific type of cloud environment based
on ownership, scale, and access, as well as the cloud’s nature and purpose. The
location of the servers you’re utilizing and who controls them are defined by a cloud
deployment model. It specifies how your cloud infrastructure will look, what you
can change, and whether you will be given services or will have to create everything
yourself. Relationships between the infrastructure and your users are also defined by
cloud deployment types. Different types of cloud computing deployment models are
described below.
• Public Cloud
• Private Cloud
• Hybrid Cloud
• Community Cloud
• Multi-Cloud
Public Cloud
The public cloud makes it possible for anybody to access systems and services.
The public cloud may be less secure as it is open to everyone. The public cloud is
one in which cloud infrastructure services are provided over the internet to the
general people or major industry groups. The infrastructure in this cloud model is
owned by the entity that delivers the cloud services, not by the consumer. It is a
type of cloud hosting that allows customers and users to easily access systems and
services. This form of cloud computing is an excellent example of cloud hosting,
in which service providers supply services to a variety of customers. In this
arrangement, storage backup and retrieval services are given for free, as a
subscription, or on a per-user basis. For example, Google App Engine etc.

Public Cloud

Advantages of the Public Cloud Model


• Minimal Investment: Because it is a pay-per-use service, there is no
substantial upfront fee, making it excellent for enterprises that require
immediate access to resources.
• No setup cost: The entire infrastructure is fully subsidized by the cloud
service providers, thus there is no need to set up any hardware.
• Infrastructure Management is not required: Using the public cloud
does not necessitate infrastructure management.
• No maintenance: The maintenance work is done by the service
provider (not users).
• Dynamic Scalability: To fulfill your company’s needs, on-demand
resources are accessible.
Disadvantages of the Public Cloud Model
• Less secure: Public cloud is less secure as resources are public so there
is no guarantee of high-level security.
• Low customization: It is accessed by many public so it can’t be
customized according to personal requirements.
Private Cloud
The private cloud deployment model is the exact opposite of the public cloud
deployment model. It’s a one-on-one environment for a single user (customer).
There is no need to share your hardware with anyone else. The distinction
between private and public clouds is in how you handle all of the hardware. It is
also called the “internal cloud” & it refers to the ability to access systems and
services within a given border or organization. The cloud platform is implemented
in a cloud-based secure environment that is protected by powerful firewalls and
under the supervision of an organization’s IT department. The private cloud gives
greater flexibility of control over cloud resources.

Private Cloud

Advantages of the Private Cloud Model


• Better Control: You are the sole owner of the property. You gain
complete command over service integration, IT operations, policies, and
user behavior.
• Data Security and Privacy: It’s suitable for storing corporate
information to which only authorized staff have access. By segmenting
resources within the same infrastructure, improved access and security
can be achieved.
• Supports Legacy Systems: This approach is designed to work with
legacy systems that are unable to access the public cloud.
• Customization: Unlike a public cloud deployment, a private cloud
allows a company to tailor its solution to meet its specific needs.
Disadvantages of the Private Cloud Model
• Less scalable: Private clouds are scaled within a certain range as there
is less number of clients.
• Costly: Private clouds are more costly as they provide personalized
facilities.
Hybrid Cloud
By bridging the public and private worlds with a layer of proprietary software,
hybrid cloud computing gives the best of both worlds. With a hybrid solution, you
may host the app in a safe environment while taking advantage of the public cloud’s
cost savings. Organizations can move data and applications between different
clouds using a combination of two or more cloud deployment methods, depending
on their needs.

Hybrid Cloud

Advantages of the Hybrid Cloud Model


• Flexibility and control: Businesses with more flexibility can design
personalized solutions that meet their particular needs.
• Cost: Because public clouds provide scalability, you’ll only be
responsible for paying for the extra capacity if you require it.
• Security: Because data is properly separated, the chances of data theft
by attackers are considerably reduced.
Disadvantages of the Hybrid Cloud Model
• Difficult to manage: Hybrid clouds are difficult to manage as it is a
combination of both public and private cloud. So, it is complex.
• Slow data transmission: Data transmission in the hybrid cloud takes
place through the public cloud so latency occurs.
Community Cloud
It allows systems and services to be accessible by a group of organizations. It is a
distributed system that is created by integrating the services of different clouds to
address the specific needs of a community, industry, or business. The infrastructure
of the community could be shared between the organization which has shared
concerns or tasks. It is generally managed by a third party or by the combination
of one or more organizations in the community.

Community Cloud

Advantages of the Community Cloud Model


• Cost Effective: It is cost-effective because the cloud is shared by
multiple organizations or communities.
• Security: Community cloud provides better security.
• Shared resources: It allows you to share resources, infrastructure, etc.
with multiple organizations.
• Collaboration and data sharing: It is suitable for both collaboration
and data sharing.
Disadvantages of the Community Cloud Model
• Limited Scalability: Community cloud is relatively less scalable as
many organizations share the same resources according to their
collaborative interests.
• Rigid in customization: As the data and resources are shared among
different organizations according to their mutual interests if an
organization wants some changes according to their needs they cannot do
so because it will have an impact on other organizations.
Multi-Cloud
We’re talking about employing multiple cloud providers at the same time under
this paradigm, as the name implies. It’s similar to the hybrid cloud deployment
approach, which combines public and private cloud resources. Instead of merging
private and public clouds, multi-cloud uses many public clouds. Although public
cloud providers provide numerous tools to improve the reliability of their services,
mishaps still occur. It’s quite rare that two distinct clouds would have an incident
at the same moment. As a result, multi-cloud deployment improves the high
availability of your services even more.

Multi cloud

Advantages of the Multi-Cloud Model


• You can mix and match the best features of each cloud provider’s services
to suit the demands of your apps, workloads, and business by choosing
different cloud providers.
• Reduced Latency: To reduce latency and improve user experience, you
can choose cloud regions and zones that are close to your clients.
• High availability of service: It’s quite rare that two distinct clouds
would have an incident at the same moment. So, the multi-cloud
deployment improves the high availability of your services.
Disadvantages of the Multi-Cloud Model
• Complex: The combination of many clouds makes the system complex
and bottlenecks may occur.
• Security issue: Due to the complex structure, there may be loopholes to
which a hacker can take advantage hence, makes the data insecure

Overall Analysis of Cloud Deployment Models

Community
Factors Public Cloud Private Cloud Cloud Hybrid Cloud

Complex, Complex, Complex,


requires a requires a requires a
Initial Setup Easy
professional professional professional
team to setup team to setup team to setup

Scalability
and High High Fixed High
Flexibility

Distributed Between public


Cost-
Cost-Effective Costly cost among and private
Comparison
members cloud

Reliability Low Low High High


Community
Factors Public Cloud Private Cloud Cloud Hybrid Cloud

Data
Low High High High
Security

Data Privacy Low High High High

Models of Cloud Computing


Cloud Computing helps in rendering several services according to roles,
companies, etc. Cloud computing models are explained below.
• Infrastructure as a service (IaaS)
• Platform as a service (PaaS)
• Software as a service (SaaS)

1. Infrastructure as a service (IaaS)

Infrastructure as a Service (IaaS) helps in delivering computer infrastructure on an


external basis for supporting operations. Generally, IaaS provides services to
networking equipment, devices, databases, and web servers.
Infrastructure as a Service (IaaS) helps large organizations, and large enterprises
in managing and building their IT platforms. This infrastructure is flexible
according to the needs of the client.

Characteristics of IaaS

• Resources are available as a service


• Services are highly scalable
• Dynamic and flexible
• GUI and API-based access
• Automated administrative tasks
Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure,
Google Compute Engine (GCE), Rackspace, and Cisco Metacloud.
Advantages of IaaS
•IaaS is cost-effective as it eliminates capital expenses.
• IaaS cloud provider provides better security than any other software.
• IaaS provides remote access.
Disadvantages of IaaS
• In IaaS, users have to secure their own data and applications.
• Cloud computing is not accessible in some regions of the World.

2. Platform as a service (PaaS)

Platform as a Service (PaaS) is a type of cloud computing that helps developers to


build applications and services over the Internet by providing them with a platform.
PaaS helps in maintaining control over their business applications.

Characteristics of PaaS

There are the following characteristics of PaaS -

o Accessible to various users via the same development application.


o Integrates with web services and databases.
o Builds on virtualization technology, so resources can easily be scaled up or
down as per the organization's need.
o Support multiple languages and frameworks.
o Provides an ability to "Auto-scale".

Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google


App Engine, Apache Stratos, Magento Commerce Cloud, and OpenShift.

Advantages of PaaS
• PaaS is simple and very much convenient for the user as it can be accessed
via a web browser.
• PaaS has the capabilities to efficiently manage the lifecycle.
Disadvantages of PaaS
• PaaS has limited control over infrastructure as they have less control over
the environment and are not able to make some customizations.
• PaaS has a high dependence on the provider.

3. Software as a service (SaaS)


Software as a Service (SaaS) is a type of cloud computing model that is the work
of delivering services and applications over the Internet. The SaaS applications are
called Web-Based Software or Hosted Software.
SaaS has around 60 percent of cloud solutions and due to this, it is mostly preferred
by companies.

Characteristics of SaaS

o Managed from a central location


o Hosted on a remote server
o Accessible over the internet
o Users are not responsible for hardware and software updates. Updates are
applied automatically.
o The services are purchased on the pay-as-per-use basis

Example: BigCommerce, Google Apps, Salesforce, Dropbox, ZenDesk, Cisco


WebEx, ZenDesk, Slack, and GoToMeeting.

Advantages of SaaS
• SaaS can access app data from anywhere on the Internet.
• SaaS provides easy access to features and services.
Disadvantages of SaaS
• SaaS solutions have limited customization, which means they have some
restrictions within the platform.
• SaaS has little control over the data of the user.
• SaaS are generally cloud-based, they require a stable internet connection
for proper working.

Difference between IaaS, PaaS, and SaaS

IaaS Paas SaaS

It provides a virtual data It provides virtual platforms It provides web software and
center to store information and tools to create, test, and apps to complete business
and create platforms for app deploy apps. tasks.
development, testing, and
deployment.
It provides access to It provides runtime It provides software as a
resources such as virtual environments and deployment service to the end-users.
machines, virtual storage, tools for applications.
etc.

It is used by network It is used by developers. It is used by end users.


architects.

IaaS provides only PaaS provides SaaS provides


Infrastructure. Infrastructure+Platform. Infrastructure+Platform
+Software.

Driving Factors and Challenges of Cloud

Challenges of Cloud

1. Data Security and Privacy

Data security is a major concern when switching to cloud computing. User or


organizational data stored in the cloud is critical and private. Even if the cloud
service provider assures data integrity, it is your responsibility to carry out user
authentication and authorization, identity management, data encryption, and access
control. Security issues on the cloud include identity theft, data breaches, malware
infections, and a lot more which eventually decrease the trust amongst the users of
your applications. This can in turn lead to potential loss in revenue alongside
reputation and stature. Also, dealing with cloud computing requires sending and
receiving huge amounts of data at high speed, and therefore is susceptible to data
leaks.

2. Cost Management

Even as almost all cloud service providers have a “Pay As You Go” model, which
reduces the overall cost of the resources being used, there are times when there are
huge costs incurred to the enterprise using cloud computing. When there is under
optimization of the resources, let’s say that the servers are not being used to their
full potential, add up to the hidden costs. If there is a degraded application
performance or sudden spikes or overages in the usage, it adds up to the overall
cost. Unused resources are one of the other main reasons why the costs go up. If
you turn on the services or an instance of cloud and forget to turn it off during the
weekend or when there is no current use of it, it will increase the cost without even
using the resources.

3. Multi-Cloud Environments

Due to an increase in the options available to the companies, enterprises not only
use a single cloud but depend on multiple cloud service providers. Most of these
companies use hybrid cloud tactics and close to 84% are dependent on multiple
clouds. This often ends up being hindered and difficult to manage for the
infrastructure team. The process most of the time ends up being highly complex
for the IT team due to the differences between multiple cloud providers.

4. Performance Challenges

Performance is an important factor while considering cloud-based solutions. If the


performance of the cloud is not satisfactory, it can drive away users and decrease
profits. Even a little latency while loading an app or a web page can result in a huge
drop in the percentage of users. This latency can be a product of inefficient load
balancing, which means that the server cannot efficiently split the incoming traffic
so as to provide the best user experience. Challenges also arise in the case of fault
tolerance, which means the operations continue as required even when one or more
of the components fail.
5. Interoperability and Flexibility

When an organization uses a specific cloud service provider and wants to switch
to another cloud-based solution, it often turns up to be a tedious procedure since
applications written for one cloud with the application stack are required to be re-
written for the other cloud. There is a lack of flexibility from switching from one
cloud to another due to the complexities involved. Handling data movement,
setting up the security from scratch and network also add up to the issues
encountered when changing cloud solutions, thereby reducing flexibility.

6. High Dependence on Network

Since cloud computing deals with provisioning resources in real-time, it deals with
enormous amounts of data transfer to and from the servers. This is only made
possible due to the availability of the high-speed network. Although these data and
resources are exchanged over the network, this can prove to be highly vulnerable
in case of limited bandwidth or cases when there is a sudden outage. Even when
the enterprises can cut their hardware costs, they need to ensure that the internet
bandwidth is high as well there are zero network outages, or else it can result in a
potential business loss. It is therefore a major challenge for smaller enterprises that
have to maintain network bandwidth that comes with a high cost.

7. Lack of Knowledge and Expertise

Due to the complex nature and the high demand for research working with the
cloud often ends up being a highly tedious task. It requires immense knowledge
and wide expertise on the subject. Although there are a lot of professionals in the
field they need to constantly update themselves. Cloud computing is a highly paid
job due to the extensive gap between demand and supply. There are a lot of
vacancies but very few talented cloud engineers, developers, and professionals.
Therefore, there is a need for upskilling so these professionals can actively
understand, manage and develop cloud-based applications with minimum issues
and maximum reliability.
Virtualization
Virtualization is a technique how to separate a service from the underlying
physical delivery of that service. It is the process of creating a virtual version of
something like computer hardware. It was initially developed during the mainframe
era. It involves using specialized software to create a virtual or software-created
version of a computing resource rather than the actual version of the same resource.
With the help of Virtualization, multiple operating systems and applications can
run on the same machine and its same hardware at the same time, increasing the
utilization and flexibility of hardware.
In other words, one of the main cost-effective, hardware-reducing, and energy-
saving techniques used by cloud providers is Virtualization. Virtualization allows
sharing of a single physical instance of a resource or an application among multiple
customers and organizations at one time. It does this by assigning a logical name
to physical storage and providing a pointer to that physical resource on demand.
The term virtualization is often synonymous with hardware virtualization, which
plays a fundamental role in efficiently delivering Infrastructure-as-a-Service (IaaS)
solutions for cloud computing. Moreover, virtualization technologies provide a
virtual environment for not only executing applications but also for storage,
memory, and networking.

• Host Machine: The machine on which the virtual machine is going to be


built is known as Host Machine.
• Guest Machine: The virtual machine is referred to as a Guest Machine.
Work of Virtualization in Cloud Computing
Virtualization has a prominent impact on Cloud Computing. In the case of cloud
computing, users store data in the cloud, but with the help of Virtualization, users
have the extra benefit of sharing the infrastructure. Cloud Vendors take care of the
required physical resources, but these cloud providers charge a huge amount for
these services which impacts every user or organization. Virtualization helps Users
or Organisations in maintaining those services which are required by a company
through external (third-party) people, which helps in reducing costs to the
company. This is the way through which Virtualization works in Cloud
Computing.
Benefits of Virtualization
• More flexible and efficient allocation of resources.
• Enhance development productivity.
• It lowers the cost of IT infrastructure.
• Remote access and rapid scalability.
• High availability and disaster recovery.
• Pay peruse of the IT infrastructure on demand.
• Enables running multiple operating systems.
Drawback of Virtualization
• High Initial Investment: Clouds have a very high initial investment,
but it is also true that it will help in reducing the cost of companies.
• Learning New Infrastructure: As the companies shifted from Servers
to Cloud, it requires highly skilled staff who have skills to work with the
cloud easily, and for this, you have to hire new staff or provide training
to current staff.
• Risk of Data: Hosting data on third-party resources can lead to putting
the data at risk, it has the chance of getting attacked by any hacker or
cracker very easily.
Characteristics of Virtualization
• Increased Security: The ability to control the execution of a guest
program in a completely transparent manner opens new possibilities for
delivering a secure, controlled execution environment. All the operations
of the guest programs are generally performed against the virtual
machine, which then translates and applies them to the host programs.
• Managed Execution: In particular, sharing, aggregation, emulation,
and isolation are the most relevant features.
• Sharing: Virtualization allows the creation of a separate computing
environment within the same host.
• Aggregation: It is possible to share physical resources among several
guests, but virtualization also allows aggregation, which is the opposite
process.
Types of Virtualization
1. Application Virtualization
2. Network Virtualization
3. Desktop Virtualization
4. Storage Virtualization
5. Server Virtualization
6. Data virtualization

Types of Virtualization

1. Application Virtualization: Application virtualization helps a user to have


remote access to an application from a server. The server stores all personal
information and other characteristics of the application but can still run on a local
workstation through the internet. An example of this would be a user who needs to
run two different versions of the same software. Technologies that use application
virtualization are hosted applications and packaged applications.
2. Network Virtualization: The ability to run multiple virtual networks with each
having a separate control and data plan. It co-exists together on top of one physical
network. It can be managed by individual parties that are potentially confidential
to each other. Network virtualization provides a facility to create and provision
virtual networks, logical switches, routers, firewalls, load balancers, Virtual
Private Networks (VPN), and workload security within days or even weeks.
Network Virtualization

3. Desktop Virtualization: Desktop virtualization allows the users’ OS to be


remotely stored on a server in the data center. It allows the user to access their
desktop virtually, from any location by a different machine. Users who want
specific operating systems other than Windows Server will need to have a virtual
desktop. The main benefits of desktop virtualization are user mobility, portability,
and easy management of software installation, updates, and patches.
4. Storage Virtualization: Storage virtualization is an array of servers that are
managed by a virtual storage system. The servers aren’t aware of exactly where
their data is stored and instead function more like worker bees in a hive. It makes
managing storage from multiple sources be managed and utilized as a single
repository. storage virtualization software maintains smooth operations, consistent
performance, and a continuous suite of advanced functions despite changes, breaks
down, and differences in the underlying equipment.
5. Server Virtualization: This is a kind of virtualization in which the masking of
server resources takes place. Here, the central server (physical server) is divided
into multiple different virtual servers by changing the identity number, and
processors. So, each system can operate its operating systems in an isolated
manner. Where each sub-server knows the identity of the central server. It causes
an increase in performance and reduces the operating cost by the deployment of
main server resources into a sub-server resource. It’s beneficial in virtual
migration, reducing energy consumption, reducing infrastructural costs, etc.
Server Virtualization

6. Data Virtualization: This is the kind of virtualization in which the data is


collected from various sources and managed at a single place without knowing
more about the technical information like how data is collected, stored & formatted
then arranged that data logically so that its virtual view can be accessed by its
interested people and stakeholders, and users through the various cloud services
remotely. Many big giant companies are providing their services like Oracle, IBM,
At scale, Cdata, etc.
Uses of Virtualization
• Data-integration
• Business-integration
• Service-oriented architecture data-services
• Searching organizational data

Levels of virtualization
1) Instruction Set Architecture Level (ISA)

ISA virtualization can work through ISA emulation. This is used to run many legacy
codes written for a different hardware configuration. These codes run on any virtual
machine using the ISA. With this, a binary code that originally needed some
additional layers to run is now capable of running on the x86 machines. It can also
be tweaked to run on the x64 machine. With ISA, it is possible to make the virtual
machine hardware agnostic.
For the basic emulation, an interpreter is needed, which interprets the source code
and then converts it into a hardware format that can be read. This then allows
processing. This is one of the five implementation levels of virtualization in Cloud
Computing..

2) Hardware Abstraction Level (HAL)

True to its name HAL lets the virtualization perform at the level of the hardware.
This makes use of a hypervisor which is used for functioning. The virtual machine
is formed at this level, which manages the hardware using the virtualization process.
It allows the virtualization of each of the hardware components, which could be the
input-output device, the memory, the processor, etc.

Multiple users will not be able to use the same hardware and also use multiple
virtualization instances at the very same time. This is mostly used in the cloud-based
infrastructure.

3) Operating System Level

At the level of the operating system, the virtualization model is capable of creating
a layer that is abstract between the operating system and the application. This is an
isolated container on the operating system and the physical server, which uses the
software and hardware. Each of these then functions in the form of a server.

When there are several users and no one wants to share the hardware, then this is
where the virtualization level is used. Every user will get his virtual environment
using a dedicated virtual hardware resource. In this way, there is no question of any
conflict.

4) Library Level

The operating system is cumbersome, and this is when the applications use the API
from the libraries at a user level. These APIs are documented well, and this is why
the library virtualization level is preferred in these scenarios. API hooks make it
possible as it controls the link of communication from the application to the system.

5) Application Level

The application-level virtualization is used when there is a desire to virtualize only


one application and is the last of the implementation levels of virtualization in Cloud
Computing. One does not need to virtualize the entire environment of the platform.
This is generally used when you run virtual machines that use high-level languages.
The application will sit above the virtualization layer, which in turn sits on the
application program.

It lets the high-level language programs compiled to be used at the application level
of the virtual machine run seamlessly.

Load balancing

Load balancing is an essential technique used in cloud computing to optimize


resource utilization and ensure that no single resource is overburdened with traffic.
It is a process of distributing workloads across multiple computing resources, such
as servers, virtual machines, or containers, to achieve better performance,
availability, and scalability.
1. In cloud computing, load balancing can be implemented at various levels,
including the network layer, application layer, and database layer. The
most common load balancing techniques used in cloud computing are:
2. Network Load Balancing: This technique is used to balance the network
traffic across multiple servers or instances. It is implemented at the
network layer and ensures that the incoming traffic is distributed evenly
across the available servers.
3. Application Load Balancing: This technique is used to balance the
workload across multiple instances of an application. It is implemented
at the application layer and ensures that each instance receives an equal
share of the incoming requests.
4. Database Load Balancing: This technique is used to balance the workload
across multiple database servers. It is implemented at the database layer
and ensures that the incoming queries are distributed evenly across the
available database servers.
Load balancing helps to improve the overall performance and reliability of cloud-
based applications by ensuring that resources are used efficiently and that there is
no single point of failure. It also helps to scale applications on demand and provides
high availability and fault tolerance to handle spikes in traffic or server failures.
Sure, here are some advantages and disadvantages of load balancing in cloud
computing:
Advantages:
1. Improved Performance: Load balancing helps to distribute the workload
across multiple resources, which reduces the load on each resource and
improves the overall performance of the system.
2. High Availability: Load balancing ensures that there is no single point of
failure in the system, which provides high availability and fault tolerance
to handle server failures.
3. Scalability: Load balancing makes it easier to scale resources up or down
as needed, which helps to handle spikes in traffic or changes in demand.
4. Efficient Resource Utilization: Load balancing ensures that resources are
used efficiently, which reduces wastage and helps to optimize costs.

Disadvantages:

1. Complexity: Implementing load balancing in cloud computing can be


complex, especially when dealing with large-scale systems. It requires
careful planning and configuration to ensure that it works effectively.
2. Cost: Implementing load balancing can add to the overall cost of cloud
computing, especially when using specialized hardware or software.
3. Single Point of Failure: While load balancing helps to reduce the risk of
a single point of failure, it can also become a single point of failure if not
implemented correctly.
4. Security: Load balancing can introduce security risks if not implemented
correctly, such as allowing unauthorized access or exposing sensitive data

Cloud Elasticity: Elasticity refers to the ability of a cloud to automatically expand


or compress the infrastructural resources on a sudden up and down in the
requirement so that the workload can be managed efficiently. This elasticity helps
to minimize infrastructural costs. This is not applicable for all kinds of
environments, it is helpful to address only those scenarios where the resource
requirements fluctuate up and down suddenly for a specific time interval. It is not
quite practical to use where persistent resource infrastructure is required to handle
the heavy workload.

Example: Consider an online shopping site whose transaction workload increases


during festive season like Christmas. So for this specific period of time, the
resources need a spike up. In order to handle this kind of situation, we can go for a
Cloud-Elasticity service rather than Cloud Scalability. As soon as the season goes
out, the deployed resources can then be requested for withdrawal.
Cloud Scalability: Cloud scalability is used to handle the growing workload where
good performance is also needed to work efficiently with software or applications.
Scalability is commonly used where the persistent deployment of resources is
required to handle the workload statically.

Example: Consider you are the owner of a company whose database size was small
in earlier days but as time passed your business does grow and the size of your
database also increases, so in this case you just need to request your cloud service
vendor to scale up your database capacity to handle a heavy workload.

It is totally different from what you have read above in Cloud Elasticity. Scalability
is used to fulfill the static needs while elasticity is used to fulfill the dynamic need
of the organization. Scalability is a similar kind of service provided by the cloud
where the customers have to pay-per-use. So, in conclusion, we can say that
Scalability is useful where the workload remains high and increases statically.
Difference Between Cloud Elasticity and Scalability:

Cloud Elasticity Cloud Scalability

Elasticity is used just to meet the


Scalability is used to meet the static
sudden up and down in the workload
increase in the workload.
1 for a small period of time.

Elasticity is used to meet dynamic Scalability is always used to address


changes, where the resources need the increase in workload in an
2 can increase or decrease. organization.

Elasticity is commonly used by small Scalability is used by giant companies


companies whose workload and whose customer circle persistently
demand increases only for a specific grows in order to do the operations
3 period of time. efficiently.

It is a short term planning and adopted


Scalability is a long term planning and
just to deal with an unexpected
adopted just to deal with an expected
increase in demand or seasonal
increase in demand.
4 demands.
Cloud Replication

Cloud Replication refers to the process of replicating data from on-premises storage
to the cloud, or from one cloud instance to another. Traditional data replication
involves replicating data across different physical servers on the company’s local
network

Cloud Data Replication Traditional Data Replication


Data is replicated from one physical storage
Data is replicated from physical storage to the
to another within the company’s local
cloud, or from one cloud instance to another.
network.
It uses fully-managed remote servers located It uses in-house hardware and software that
across the town or the county. is owned and managed by the organization.
Cloud-based software and resources follow a
On-premise hardware and software, require
subscription-based pricing model, allowing
users to purchase them at once, thereby
users to rent them on a monthly/annum basis.
making them a capital expense.
These form the operating costs.
It is cost-effective as it only requires you to set It requires you to invest in hardware and
up an account with the cloud service provider software licenses, and hence it has a high
to start the replication process. up-front cost.
You may not need an active internet
It only requires you to have an active internet
connection to perform traditional data
connection to start the replication process.
replication.

Advantages of Cloud Replication


• High Availability
• Cheap
• Scalable:
• Secure

Cloud monitoring
Cloud monitoring is a method of reviewing, observing, and managing the
operational workflow in a cloud-based IT infrastructure. Manual or automated
management techniques confirm the availability and performance of websites,
servers, applications, and other cloud infrastructure. This continuous evaluation of
resource levels, server response times, and speed predicts possible vulnerability to
future issues before they arise.
Types of cloud monitoring

The cloud has numerous moving components, and for top performance, it’s critical
to safeguard that everything comes together seamlessly. This need has led to a
variety of monitoring techniques to fit the type of outcome that a user wants. The
main types of cloud monitoring are:
Database monitoring
• Because most cloud applications rely on databases, this technique reviews
processes, queries, availability, and consumption of cloud database resources.
This technique can also track queries and data integrity, monitoring
connections to show real-time usage data. For security purposes, access
requests can be tracked as well. For example, an uptime detector can alert if
there’s database instability and can help improve resolution response time
from the precise moment that a database goes down.
Website monitoring
• A website is a set of files that is stored locally, which, in turn, sends those files
to other computers over a network. This monitoring technique tracks
processes, traffic, availability, and resource utilization of cloud-hosted sites.
Virtual network monitoring
• This monitoring type creates software versions of network technology such as
firewalls, routers, and load balancers. Because they’re designed with software,
these integrated tools can give you a wealth of data about their operation. If
one virtual router is endlessly overcome with traffic, for example, the network
adjusts to compensate. Therefore, instead of swapping hardware,
virtualization infrastructure quickly adjusts to optimize the flow of data.
Cloud storage monitoring
• This technique tracks multiple analytics simultaneously, monitoring storage
resources and processes that are provisioned to virtual machines, services,
databases, and applications. This technique is often used to host
infrastructure-as-a-service (IaaS) and software-as-a-service (SaaS) solutions.
For these applications, you can configure monitoring to track performance
metrics, processes, users, databases, and available storage. It provides data to
help you focus on useful features or to fix bugs that disrupt functionality.
Virtual machine monitoring
• This technique is a simulation of a computer within a computer; that is,
virtualization infrastructure and virtual machines. It’s usually scaled out in
IaaS as a virtual server that hosts several virtual desktops. A monitoring
application can track the users, traffic, and status of each machine. You get
the benefits of traditional IT infrastructure monitoring with the added benefit
of cloud monitoring solutions.
Compute Service
Compute as a Service (CaaS) is a consumption-based (pay-per-use) infrastructure
model that provides on-demand processing resources for general and specific
workloads. CaaS lets enterprises simplify and scale compute operations to eliminate
overprovisioning and add flexibility for new or unexpected demands.

How does Compute as a Service work?

CaaS is a cloud-based solution that relies on virtual and physical processing power.
Physical processing takes place in private, on-premises servers, while virtual
processing occurs in the cloud. Compute resources can include general, high-speed
graphics processing (GPU) for machine learning and artificial intelligence or high-
performance computing (HPC) for raw processing power. The exact infrastructure
configuration will vary from enterprise to enterprise, depending on their precise
needs, and this infrastructure can scale up or down over time. Providers may offer
this service as a flat-rate subscription or on a fluid consumption-based model so
customers are charged only for the compute they use.

Storage as a Service (STaaS) is the practice of using public cloud storage resources
to store your data. Using STaaS is more cost efficient than building private storage
infrastructure, especially when you can match data types to cloud storage offerings.

What Is Storage as a Service?


Storage as a Service or STaaS is cloud storage that you rent from a Cloud Service
Provider (CSP) and that provides basic ways to access that storage. Enterprises,
small and medium businesses, home offices, and individuals can use the cloud for
multimedia storage, data repositories, data backup and recovery, and disaster
recovery. There are also higher-tier managed services that build on top of STaaS,
such as Database as a Service, in which you can write data into tables that are hosted
through CSP resources.

How Does Storage as a Service Work?


Some STaaS offerings can be rented based on quantity, others are rented based on a
service level agreement (SLA). SLAs help establish and reinforce conditions for
using data storage, such as uptime and read/write access speed. The storage you
choose will typically depend on how often you intend to access the data. Cold data
storage is data that you leave alone or access infrequently, whereas warm or hot data
is accessed regularly and repeatedly. Pricing by quantity tends to be more cost
efficient but isn’t intended to support fast and frequent access for day-to-day
business productivity. For hot or warm data, an SLA will be crucial to leveraging
data storage in support of current projects or ongoing processes.
There are three main types of cloud storage: block storage, file storage, and object-
based storage.

• Block storage breaks data into segmented pieces and distributes them to the
storage environment wherever it is most efficient for the platform to do so.
This simulates the same functionality as writing data to a standard hard disk
drive or solid-state drive. Data remains available for quick access, but it is
also costly to maintain and works best for warm or hot data storage.
• File storage lists data in a navigable hierarchy, usually a file directory. This
is most like the file storage system that you would find on a PC or in cloud
storage apps like Microsoft OneDrive. Because it is designed for humans to
navigate, file storage is ideal anytime you need to collaborate on a project with
other people or businesses. Whether the data is hot or cold doesn’t matter as
much. However, file storage does not scale well. The more files you add, the
more complex the system becomes and the more difficult it is to navigate.
• Object-based storage organizes data by adding meta information to it,
making it easy to recognize and retrieve at any time. This type of cloud storage
scales up in the most cost-efficient manner, because you can keep adding to
it. It is typically the least expensive type of STaaS and best suited for massive
amounts of cold media or data files.

Application Services

Application Services (often used instead of application management services or


application services management) are a pool of services such as load balancing,
application performance monitoring, application acceleration, autoscaling,
micro-segmentation, service proxy and service discovery needed to optimally
deploy, run and improve applications.

What is Application Services Management?

• The process of configuring, monitoring, optimizing and orchestrating


different app services is known as application services management.
• Today, organizations with their own data centers or which use the public
cloud, handle applications services management. In the early days of online
adoption, application service providers (or ASPs) were companies which
would deliver applications to end users for a fixed cost. This single tenant,
hosted model was largely replaced by the advent of the Software-as-a-Service
(SaaS) delivery model which was multi-tenant and on-demand.

What is Cloud Application Services?

• Cloud App Services are a wide range of specific application services for
applications deployed in cloud-based resources. Services such as load
balancing, application firewalling and service discovery can be achieved for
applications running in private, public, hybrid or multi-cloud environments.

You might also like