MCC1841 VIRTUALIZATION AND CLOUD COMPUTING
Module II
UNDERSTANDING SERVICES AND VIRTUALIZATION
Infrastructure as a Services - Platform as a Service - Software as a Service -
Identity as a Service – Compliance as a Service –Virtualization Technologies –
Load Balancing and Virtualization
Cloud Computing Infrastructure as a Service (IaaS)
Infrastructure-as-a-Service provides access to fundamental resources such as
physical machines, virtual machines, virtual storage, etc. Apart from these
resources, the IaaS also offers:
● Virtual machine disk storage
● Virtual local area network (VLANs)
● Load balancers
● IP addresses
● 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.
Benefits
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 listed
below:
Full control of the computing resources through administrative access to VMs.
Flexible and efficient renting of computer hardware.
Portability, interoperability with legacy applications.
Full control over computing resources through administrative access to
VMs
IaaS allows the customer to access computing resources through administrative
access to virtual machines in the following manner:
Customer issues administrative command to cloud provider to run the virtual
machine or to save data on cloud server.
Customer issues administrative command to virtual machines they owned to
start web server or to install new applications.
Flexible and efficient renting of computer hardware
IaaS resources such as virtual machines, storage devices, bandwidth, IP
addresses, monitoring services, firewalls, etc. are made available to the
customers on rent. The payment is based upon the amount of time the customer
retains a resource. Also with administrative access to virtual machines, the
customer can run any software, even a custom operating system.
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 or e-mail
server that normally runs on customer-owned server hardware can also run from
VMs in IaaS cloud.
Issues
IaaS shares issues with PaaS and SaaS, such as Network dependence and
browser based risks. It also has some specific issues, which are mentioned in the
following diagram:
Compatibility with legacy security vulnerabilities
Because IaaS offers the customer to run legacy software in provider's
infrastructure, it exposes customers to all of the security vulnerabilities of such
legacy software.
Virtual Machine sprawl
The VM can become out-of-date with respect to security updates because IaaS
allows the customer to operate the virtual machines in running, suspended and
off state. However, the provider can automatically update such VMs, but this
mechanism is hard and complex.
Robustness of VM-level isolation
IaaS offers an isolated environment to individual customers through hypervisor.
Hypervisor is a software layer that includes hardware support for virtualization
to split a physical computer into multiple virtual machines.
Data erase practices
The customer uses virtual machines that in turn use the common disk resources
provided by the cloud provider. When the customer releases the resource, the
cloud provider must ensure that next customer to rent the resource does not
observe data residue from previous customer.
Characteristics
Here are the characteristics of IaaS service model:
Virtual machines with pre-installed software.
Virtual machines with pre-installed operating systems such as Windows, Linux,
and Solaris.
On-demand availability of resources.
Allows to store copies of particular data at different locations.
The computing resources can be easily scaled up and down.
Cloud Computing Platform as a Service (PaaS)
Platform-as-a-Service offers the runtime environment for applications. It also
offers development and deployment tools required to develop applications. PaaS
has a feature of point-and-click tools that enables non-developers to create web
applications.
App Engine of Google and [Link] 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 locks-in with a
particular vendor. For example, an application written in Python against API of
Google, and using App Engine of Google is likely to work only in that
environment.
The following diagram shows how PaaS offers an API and development tools to
the developers and how it helps the end user to access business applications.
Benefits
Following are the benefits of PaaS model:
Lower administrative overhead
Customer need not bother about the administration because it is the
responsibility of cloud provider.
Lower total cost of ownership
Customer need not purchase expensive hardware, servers, power, and data
storage.
Scalable solutions
It is very easy to scale the resources up or down automatically, based on their
demand.
More current system software
It is the responsibility of the cloud provider to maintain software versions and
patch installations.
Issues
Like SaaS, PaaS also places significant burdens on customer's browsers to
maintain reliable and secure connections to the provider’s systems. Therefore,
PaaS shares many of the issues of SaaS. However, there are some specific issues
associated with PaaS as shown in the following diagram:
Lack of portability between PaaS clouds
Although standard languages are used, yet the implementations of platform
services may vary. For example, file, queue, or hash table interfaces of one
platform may differ from another, making it difficult to transfer the workloads
from one platform to another.
Event based processor scheduling
The PaaS applications are event-oriented which poses resource constraints on
applications, i.e., they have to answer a request in a given interval of time.
Security engineering of PaaS applications
Since PaaS applications are dependent on network, they must explicitly use
cryptography and manage security exposures.
Characteristics
Here are the characteristics of PaaS service model:
PaaS offers browser based development environment. It allows the developer
to create database and edit the application code either via Application
Programming Interface or point-and-click tools.
PaaS provides built-in security, scalability, and web service interfaces.
PaaS provides built-in tools for defining workflow, approval processes, and
business rules.
It is easy to integrate PaaS with other applications on the same platform.
PaaS also provides web services interfaces that allow us to connect the
applications outside the platform.
PaaS Types
Based on the functions, PaaS can be classified into four types as shown in the
following diagram:
Stand-alone development environments
The stand-alone PaaS works as an independent entity for a specific function. It
does not include licensing or technical dependencies on specific SaaS
applications.
Application delivery-only environments
The application delivery PaaS includes on-demand scaling and application
security.
Open platform as a service
Open PaaS offers an open source software that helps a PaaS provider to run
applications.
Add-on development facilities
The add-on PaaS allows to customize the existing SaaS platform.
Cloud Computing Software as a Service (SaaS)
NextSoftware-as–a-Service (SaaS) model allows to provide software
application as a service to the end users. It refers to a software that is deployed
on a host service and is accessible via Internet. There are several SaaS
applications listed below:
● Billing and invoicing system
● Customer Relationship Management (CRM) applications
● Help desk applications
● Human Resource (HR) solutions
Some of the SaaS applications are not customizable such as Microsoft Office
Suite. But SaaS provides us Application Programming Interface
(API), which allows the developer to develop a customized application.
Characteristics
Here are the characteristics of SaaS service model:
SaaS makes the software available over the Internet.
The software applications are maintained by the vendor.
The license to the software may be subscription based or usage based.
And it is billed on recurring basis.
SaaS applications are cost-effective since they do not require any
maintenance at end user side.
They are available on demand.
They can be scaled up or down on demand.
They are automatically upgraded and updated.
SaaS offers shared data model. Therefore, multiple users can share single
instance of infrastructure. It is not required to hard code the functionality
for individual users.
All users run the same version of the software.
Benefits
Using SaaS has proved to be beneficial in terms of scalability, efficiency and
performance. Some of the benefits are listed below:
● Modest software tools
● Efficient use of software licenses
● Centralized management and data
● Platform responsibilities managed by provider
● Multitenant solutions
Modest software tools
The SaaS application deployment requires a little or no client side software
installation, which results in the following benefits:
● No requirement for complex software packages at client side
● Little or no risk of configuration at client side
● Low distribution cost
Efficient use of software licenses
The customer can have single license for multiple computers running at
different locations which reduces the licensing cost. Also, there is no
requirement for license servers because the software runs in the provider's
infrastructure.
Centralized management and data
The cloud provider stores data centrally. However, the cloud providers may
store data in a decentralized manner for the sake of redundancy and reliability.
Platform responsibilities managed by providers
All platform responsibilities such as backups, system maintenance, security,
hardware refresh, power management, etc. are performed by the cloud provider.
The customer does not need to bother about them.
Multitenant solutions
Multitenant solutions allow multiple users to share single instance of different
resources in virtual isolation. Customers can customize their application without
affecting the core functionality.
Issues
There are several issues associated with SaaS, some of them are listed below:
● Browser based risks
● Network dependence
● Lack of portability between SaaS clouds
Browser based risks
If the customer visits malicious website and browser becomes infected, the
subsequent access to SaaS application might compromise the customer's data.
To avoid such risks, the customer can use multiple browsers and dedicate a
specific browser to access SaaS applications or can use virtual desktop while
accessing the SaaS applications.
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 by the customer.
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.
Open SaaS and SOA
Open SaaS uses those SaaS applications, which are developed using open
source programming language. These SaaS applications can run on any open
source operating system and database. Open SaaS has several benefits listed
below:
● No License Required
● Low Deployment Cost
● Less Vendor Lock-in
● More portable applications
● More Robust Solution
The following diagram shows the SaaS implementation based on SOA:
Cloud Computing Identity as a Service (IDaaS)
Employees in a company require to login to system to perform various tasks.
These systems may be based on local server or cloud based. Following are the
problems that an employee might face:
Remembering different username and password combinations for accessing
multiple servers.
If an employee leaves the company, it is required to ensure that each account of
that user is disabled. This increases workload on IT staff.
To solve above problems, a new technique emerged which is known
as Identity-as–a-Service (IDaaS).
IDaaS offers management of identity information as a digital entity. This
identity can be used during electronic transactions.
Identity
Identity refers to set of attributes associated with something to make it
recognizable. All objects may have same attributes, but their identities cannot be
the same. A unique identity is assigned through unique identification attribute.
There are several identity services that are deployed to validate services such as
validating web sites, transactions, transaction participants, client, etc.
Identity-as-a-Service may include the following:
● Directory services
● Federated services
● Registration
● Authentication services
● Risk and event monitoring
● Single sign-on services
● Identity and profile management
Single Sign-On (SSO)
To solve the problem of using different username and password combinations
for different servers, companies now employ Single Sign-On software, which
allows the user to login only one time and manage the access to other systems.
SSO has single authentication server, managing multiple accesses to other
systems, as shown in the following diagram:
SSO Working
There are several implementations of SSO. Here, we discuss the common ones:
Following steps explain the working of Single Sign-On software:
User logs into the authentication server using a username and password.
The authentication server returns the user's ticket.
User sends the ticket to intranet server.
Intranet server sends the ticket to the authentication server.
Authentication server sends the user's security credentials for that server
back to the intranet server.
Federated Identity Management (FIDM)
FIDM describes the technologies and protocols that enable a user to package
security credentials across security domains. It uses Security Markup
Language (SAML) to package a user's security credentials as shown in the
following diagram:
OpenID
It offers users to login into multiple websites with single account. Google,
Yahoo!, Flickr, MySpace, [Link] are some of the companies that
support OpenID.
Benefits
● Increased site conversation rates
● Access to greater user profile content
● Fewer problems with lost passwords
● Ease of content integration into social networking sites
Cloud Computing Network as a Service (NaaS)
Network-as-a-Service allows us to access to network infrastructure directly and
securely. NaaS makes it possible to deploy custom routing protocols.
NaaS uses virtualized network infrastructure to provide network services to
the customer. It is the responsibility of NaaS provider to maintain and manage
the network resources. Having a provider working for a customer decreases the
workload of the customer. Moreover, NaaS offers network as a utility. NaaS is
also based on pay-per-use model.
How NaaS is delivered?
To use NaaS model, the customer is required to logon to the web portal, where
he can get online API. Here, the customer can customize the route.
In turn, customer has to pay for the capacity used. It is also possible to turn off
the capacity at any time.
Mobile NaaS
Mobile NaaS offers more efficient and flexible control over mobile devices. It
uses virtualization to simplify the architecture thereby creating more efficient
processes.
Following diagram shows the Mobile NaaS service elements:
NaaS Benefits
NaaS offers a number of benefits as discussed below:
Independence
Each customer is independent and can segregate the network.
Bursting
The customer pays for high-capacity network only on requirement.
Resilience
The reliability treatments are available, which can be applied for critical
applications.
Analytics
The data protection solutions are available, which can be applied for highly
sensitive applications.
Ease of Adding New Service Elements
It is very easy to integrate new service elements to the network.
Support Models
A number of support models are available to reduce operation cost.
Isolation of Customer Traffic
The customer traffic is logically isolated.
Compliance as a Service (CaaS) in Cloud Computing
Cloud compliance issues occur as any cloud consumer make use of
cloud storage and backup services. Cloud computing by its very nature extents
various jurisdictions.
Compliance is beyond than a basically provided an unidentified service token to
an identity so that access to a resource can be obtain. Compliance is a difficult
issue which needs considerable expertise.
While Compliance as a Service (CaaS) seems in discussion, some examples
which falls under service of this category exist as a general product for a cloud
computing architecture. A Compliance as a Service (CaaS) application would
need to oblige as a third party. CaaS may require to be architecture as its own
layer of a Service Oriented Architecture (SOA) in order to be reliable.
A CaaS may be needed to be able to manage cloud relationships, comprehend
security rules and procedures, know how to operate data and administer privacy,
deliver an incidence feedback, archive, and enable the system to be queried.
This is a huge order, but CaaS has the capability to be a good value-added
service.
CaaS system built inside a private cloud in which the data is under control of a
single entity, thus confirming that the data is under that entity’s secure control
and that transaction is audited. Indeed, major cloud computing compliance
systems have been created with the help of private cloud. A well-implemented
CaaS service may measure the risk of servicing compliance and ensure or
indemnify tenancy against that risk.
CaaS can be brought to bear as mechanism to guarantee that an e-mail
conformed to particular standards, anything which may be new electronic
service of a network of national postal system and something which may help in
ending the scourge of spam. The major services that should provided
additionally in a Compliance as a Service (CaaS) offering:
1. Database access control
2. Separation of duties
3. Annual risk assessment
4. Application management
5. Change control
6. Data discovery
7. Data masking
8. Incident response
9. Policy creation and enforcement
10.Real-time data protection
11.Repair of vulnerabilities
12.Personnel training
13.Service configuration
Advantages of Compliance as a Service (CaaS) –
1. In cloud, Encryption is quite arduous to track which is simplified by the
Compliance as a Service. To fulfill the needs of end user and organizations
around governance including compliance, they use a cloud provider’s service.
These services deliver pre-built behaviors with specific regulations, such as
needed encryption levels.
2. Compliance as a Services are configurable i.e. no development is required.
This is cost effective for the organizations and it reduce the maintenance
along with changing regulations, as well as internal and external policies of
the corporations.
3. Expertise and Knowledge: CaaS providers have expertise and knowledge of
regulatory compliance requirements and can help organizations navigate
complex regulatory landscapes.
4. Improved Compliance: CaaS helps organizations improve compliance by
providing tools and services that automate compliance management and
monitoring, reduce human errors, and improve audit readiness.
5. Scalability: CaaS is scalable, which means that it can be tailored to meet the
needs of organizations of all sizes, from small businesses to large enterprises.
6. Reduced Risk: By using CaaS, organizations can reduce the risk of
non-compliance and associated penalties, fines, and reputational damage.
7. Flexibility: CaaS offers flexibility, as organizations can choose which
compliance services to use based on their specific needs and requirements.
8. Faster Time-to-Market: CaaS enables organizations to launch new products
and services faster by reducing the time and resources required for
compliance management.
9. Improved Transparency: CaaS provides improved transparency into
compliance management activities, which can help organizations build trust
with customers, partners, and stakeholders.
10.Easy Integration: CaaS can be easily integrated with other cloud services
and applications, making it easier for organizations to manage compliance
across multiple platforms.
Disadvantages of Compliance as a Service (CaaS) –
1. Cloud service consumers will be held responsible for any issues with the
compliance services. Its mandatory that customer validate the compliance
services to ensure that there are no issues.
2. It is impossible to Compliance as a Service providers to support all the
regulations among all the countries. Also, as all the services are cloud based
then there is always a risk that providers will stop to providing the services at
any time because of low uses of their services. So, end-user and organization
become dependent on service providers. Overall these are some critical
aspects which falls under drawbacks of CaaS.
3. Dependence on Service Providers: Organizations become dependent on
CaaS providers for compliance management, which can be a disadvantage as
it reduces control and flexibility.
4. Limited Customization: CaaS providers offer pre-built compliance
behaviors and services, which may not always meet the specific needs and
requirements of organizations. This can lead to limited customization options.
5. Integration Issues: Integrating CaaS with other systems and applications can
be challenging, particularly when it comes to ensuring compatibility with
existing infrastructure.
6. Data Security Risks: CaaS providers may store sensitive data in their cloud
environment, which can be vulnerable to security risks such as data breaches
or cyber attacks. This can put the organization’s compliance posture and
reputation at risk.
7. Limited Visibility: CaaS can provide limited visibility into compliance
activities, which can make it difficult for organizations to assess their
compliance posture and make informed decisions.
8. Cost: While CaaS can be cost-effective for some organizations, it can also be
expensive, particularly for organizations with complex compliance
requirements that require extensive customization.
Virtualization Technologies
Virtualization is a technique, which allows to share single physical instance of
an application or resource among multiple organizations or tenants (customers).
It does so by assigning a logical name to a physical resource and providing
a pointer to that physical resource on demand.
Virtualization Concept
Creating a virtual machine over existing operating system and hardware is
referred as Hardware Virtualization. Virtual Machines provide an environment
that is logically separated from the underlying hardware.
The machine on which the virtual machine is created is known as host
machine and virtual machine is referred as a guest machine. This virtual
machine is managed by a software or firmware, which is known as hypervisor.
Hypervisor
The hypervisor is a firmware or low-level program that acts as a Virtual
Machine Manager. There are two types of hypervisor:
Type 1 hypervisor executes on bare system. LynxSecure, RTS Hypervisor,
Oracle VM, Sun xVM Server, VirtualLogic VLX are examples of Type 1
hypervisor. The following diagram shows the Type 1 hypervisor.
The type1 hypervisor does not have any host operating system because they
are installed on a bare system.
Type 2 hypervisor is a software interface that emulates the devices with which
a system normally interacts. Containers, KVM, Microsoft Hyper V, VMWare
Fusion, Virtual Server 2005 R2, Windows Virtual PC and VMWare
workstation 6.0 are examples of Type 2 hypervisor. The following diagram
shows the Type 2 hypervisor.
Types of Hardware Virtualization
Here are the three types of hardware virtualization:
● Full Virtualization
● Emulation Virtualization
● Paravirtualization
Full Virtualization
In full virtualization, the underlying hardware is completely simulated. Guest
software does not require any modification to run.
Emulation Virtualization
In Emulation, the virtual machine simulates the hardware and hence becomes
independent of it. In this, the guest operating system does not require
modification.
Paravirtualization
In Paravirtualization, the hardware is not simulated. The guest software run
their own isolated domains.
VMware vSphere is highly developed infrastructure that offers a management
infrastructure framework for virtualization. It virtualizes the system, storage and
networking hardware.
Virtualization in Cloud Computing and Types
Virtualization is used to create a virtual version of an underlying service 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. It was initially developed during the
mainframe era.
It is one of the main cost-effective, hardware-reducing, and energy-saving
techniques used by cloud providers. 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.
Virtualization
● 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.
For more benefits and drawbacks, you can refer to the Pros and Cons of
Virtualization.
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.
For more characteristics, you can refer to Characteristics of Virtualization.
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
Load balancing in Cloud Computing
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.
Overall, the benefits of load balancing in cloud computing outweigh the
disadvantages, as it helps to improve performance, availability, scalability, and
resource utilization. However, it is important to carefully plan and implement
load balancing to ensure that it works effectively and does not introduce
additional risks.
Cloud load balancing is defined as the method of splitting workloads and
computing properties in a cloud computing. It enables enterprise to manage
workload demands or application demands by distributing resources among
numerous computers, networks or servers. Cloud load balancing includes
holding the circulation of workload traffic and demands that exist over the
Internet. As the traffic on the internet growing rapidly, which is about 100%
annually of the present traffic. Hence, the workload on the server growing so
fast which leads to the overloading of servers mainly for popular web server.
There are two elementary solutions to overcome the problem of overloading on
the servers-
● First is a single-server solution in which the server is upgraded to a higher
performance server. However, the new server may also be overloaded soon,
demanding another upgrade. Moreover, the upgrading process is arduous and
expensive.
● Second is a multiple-server solution in which a scalable service system on a
cluster of servers is built. That’s why it is more cost effective as well as more
scalable to build a server cluster system for network services.
Load balancing is beneficial with almost any type of service, like HTTP, SMTP,
DNS, FTP, and POP/IMAP. It also rises reliability through redundancy. The
balancing service is provided by a dedicated hardware device or program.
Cloud-based servers farms can attain more precise scalability and availability
using server load balancing.
Load balancing solutions can be categorized into two types –
Software-based load balancers: Software-based load balancers run on standard
hardware (desktop, PCs) and standard operating systems.
Hardware-based load balancer: Hardware-based load balancers are dedicated
boxes which include Application Specific Integrated Circuits (ASICs) adapted
for a particular use. ASICs allows high speed promoting of network traffic and
are frequently used for transport-level load balancing because hardware-based
load balancing is faster in comparison to software solution.