0% found this document useful (0 votes)
38 views43 pages

DC - Unit V

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)
38 views43 pages

DC - Unit V

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/ 43

DEPARTMENT OF COMPUTER SCIENCE AND

ENGINEERING

Sub Code: CS3551

Subject Name: DISTRIBUTED COMPUTING

Semester/Year: III/V

Unit V-Study Material

Prepared by Approved by

Dr.N.Indumathi HoD

1
Unit V
CLOUD COMPUTING
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 a virtualization-based technology that allows us to create, configure, and
customize applications via an internet connection. The cloud technology includes a
development platform, hard disk, software application, and database.
What is Cloud Computing
The term cloud refers to a network or the internet. It is a technology that uses remote servers on
the internet to store, manage, and access data online rather than local drives. The data can be
anything such as files, images, documents, audio, video, and more.
Characteristics of Cloud Computing
The characteristics of cloud computing are given below:
1) Agility
The cloud works in a distributed computing environment. It shares resources among users
and works very fast.
2) High availability and reliability
The availability of servers is high and more reliable because the chances of infrastructure
failure are minimum.
3) High Scalability
Cloud offers "on-demand" provisioning of resources on a large scale, without having
engineers for peak loads.
4) Multi-Sharing
With the help of cloud computing, multiple users and applications can work more
efficiently with cost reductions by sharing common infrastructure.
5) Device and Location Independence

2
Cloud computing enables the users to access systems using a web browser regardless oftheir
location or what device they use e.g. PC, mobile phone, etc. As infrastructure is off-site
(typically provided by a third-party) and accessed via the Internet, users can connect from
anywhere.
6) Maintenance
Maintenance of cloud computing applications is easier, since they do not need to be installed
on each user's computer and can be accessed from different places. So, it reduces the cost
also.
7) Low Cost
By using cloud computing, the cost will be reduced because to take the services of cloud
computing, IT Company need not to set its own infrastructure and pay-as-per usage of
resources.
8) Services in the pay-per-use mode
Application Programming Interfaces (APIs) are provided to the users so that they canaccess
services on the cloud by using these APIs and pay the charges as per the usageof services.
*Cloud Deployment Model*
Today, organizations have many exciting opportunities to reimagine, repurpose and reinvent
their businesses with the cloud. The last decade has seen even more businesses rely on it for
quicker time to market, better efficiency, and scalability. It helps them achieve lo ng-term
digital goals as part of their digital strategy.
Though the answer to which cloud model is an ideal fit for a business depends on your
organization's computing and business needs. Choosing the right one from the various types of
cloud service deployment models is essential. It would ensure your business is equipped with
the performance, scalability, privacy, security, compliance & cost- effectiveness it requires. It
is important to learn and explore what different deployment types can offer - around what
particular problems it can solve.
Read on as we cover the various cloud computing deployment and service models to help
discover the best choice for your business.

3
What Is A Cloud Deployment Model?
It works as your virtual computing environment with a choice of deployment model depending
on how much data you want to store and who has access to the Infrastructure.
Different Types Of Cloud Computing Deployment Models
Most cloud hubs have tens of thousands of servers and storage devices to enable fast loading. It
is often possible to choose a geographic area to put the data "closer" to users.Thus, deployment
models for cloud computing are categorized based on their location. To know which model
would best fit the requirements of your organization, let us first learn about the various types.

Public Cloud
The name says it all. It is accessible to the public. Public deployment models in the cloudare
perfect for organizations with growing and fluctuating demands. It also makes a greatchoice for
companies with low-security concerns. Thus, you pay a cloud service provider for networking
services, compute virtualization & storage available on the public internet. It is also a great
delivery model for the teams with development and testing. Itsconfiguration and deployment
are quick and easy, making it an ideal choice for test environments.

4
Benefits of Public Cloud
o Minimal Investment - As a pay-per-use service, there is no large upfront cost and is
ideal for businesses who need quick access to resources
o No Hardware Setup - The cloud service providers fully fund the entire
Infrastructure
o No Infrastructure Management - This does not require an in-house team to utilize the
public cloud.
Limitations of Public Cloud
o Data Security and Privacy Concerns - Since it is accessible to all, it does not fully
protect against cyber-attacks and could lead to vulnerabilities.
o Reliability Issues - Since the same server network is open to a wide range of users,it can
lead to malfunction and outages
o Service/License Limitation - While there are many resources you can exchangewith
tenants, there is a usage cap.
Private Cloud

Now that you understand what the public cloud could offer you, of course, you are keen to
know what a private cloud can do. Companies that look for cost efficiency and greatercontrol
over data & resources will find the private cloud a more suitable choice.

It means that it will be integrated with your data center and managed by your IT team.
Alternatively, you can also choose to host it externally. The private cloud offers bigger
opportunities that help meet specific organizations' requirements when it comes to
customization. It's also a wise choice for mission-critical processes that may have
frequently changing requirements.

5
Benefits of Private Cloud
o Data Privacy - It is ideal for storing corporate data where only authorized personnel
gets access
o Security - Segmentation of resources within the same Infrastructure can help withbetter
access and higher levels of security.
o Supports Legacy Systems - This model supports legacy systems that cannot access the
public cloud.
Limitations of Private Cloud
o Higher Cost - With the benefits you get, the investment will also be larger than thepublic
cloud. Here, you will pay for software, hardware, and resources for staff and training.
o Fixed Scalability - The hardware you choose will accordingly help you scale in acertain
direction
o High Maintenance - Since it is managed in-house, the maintenance costs also increase.
Community Cloud
The community cloud operates in a way that is similar to the public cloud. There's just one
difference - it allows access to only a specific set of users who share common objectives and
use cases. This type of deployment model of cloud computing is managedand hosted internally
or by a third-party vendor. However, you can also choose a combination of all three.

6
Benefits of Community Cloud

o Smaller Investment - A community cloud is much cheaper than the private & public
cloud and provides great performance
o Setup Benefits - The protocols and configuration of a community cloud must alignwith
industry standards, allowing customers to work much more efficiently.
Limitations of Community Cloud
o Shared Resources - Due to restricted bandwidth and storage capacity, community
resources often pose challenges.
o Not as Popular - Since this is a recently introduced model, it is not that popular or
available across industries
Hybrid Cloud
As the name suggests, a hybrid cloud is a combination of two or more cloud architectures. While
each model in the hybrid cloud functions differently, it is all part of the same architecture.
Further, as part of this deployment of the cloud computing model, the internal or external
providers can offer resources.
Let's understand the hybrid model better. A company with critical data will prefer storingon a
private cloud, while less sensitive data can be stored on a public cloud. The hybrid cloud is also
frequently used for 'cloud bursting'. It means, supposes an organization runsan application on-
premises, but due to heavy load, it can burst into the public cloud.

7
Benefits of Hybrid Cloud

o Cost-Effectiveness - The overall cost of a hybrid solution decreases since it


majorly uses the public cloud to store data.
o Security - Since data is properly segmented, the chances of data theft from
attackers are significantly reduced.
o Flexibility - With higher levels of flexibility, businesses can create customsolutions
that fit their exact requirements
Limitations of Hybrid Cloud

o Complexity - It is complex setting up a hybrid cloud since it needs to integrate twoor


more cloud architectures
o Specific Use Case - This model makes more sense for organizations that have
multiple use cases or need to separate critical and sensitive data.
*Cloud Service Models*
There are the following three types of cloud service models -
1. Infrastructure as a Service (IaaS)
2. Platform as a Service (PaaS)
3. Software as a Service (SaaS)
8
Infrastructure as a Service (IaaS)

IaaS is also known as Hardware as a Service (HaaS). It is a computing infrastructure


managed over the internet. The main advantage of using IaaS is that it helps users to avoid the cost
and complexity of purchasing and managing the physical servers.

Characteristics of IaaS

There are the following characteristics of IaaS -


o Resources are available as a service
o Services are highly scalable
o Dynamic and flexible
o GUI and API-based access
o Automated administrative tasks
Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google
Compute Engine (GCE), Rackspace, and Cisco Metacloud.

Platform as a Service (PaaS)

PaaS cloud computing platform is created for the programmer to develop, test, run, and
manage the applications.

9
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 downas 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.

Software as a Service (SaaS)

SaaS is also known as "on-demand software". It is a software in which the applications are
hosted by a cloud service provider. Users can access these applications with the helpof internet
connection and web browser.

Characteristics of SaaS

There are the following characteristics of SaaS -

o Managed from a central location


o Hosted on a remote server

10
IaaS Paas SaaS

It provides a virtual data It provides virtual platformsand It provides web software and
center to store information tools to create, test, and deploy apps to complete business
and create platforms for app 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,etc. tools for applications.

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.

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.
Difference between IaaS, PaaS, and SaaS
Infrastructure as a Service | IaaS
Iaas is also known as Hardware as a Service (HaaS). It is one of the layers of the cloud
computing platform. It allows customers to outsource their IT infrastructures such as servers,
networking, processing, storage, virtual machines, and other resources. Customers access these
resources on the Internet using a pay-as-per use model.
In traditional hosting services, IT infrastructure was rented out for a specific period of time,

11
with pre-determined hardware configuration. The client paid for the configuration and time,
regardless of the actual use. With the help of the IaaS cloud computing platformlayer, clients can
dynamically scale the configuration to meet changing requirements andare billed only for the
services actually used.
IaaS cloud computing platform layer eliminates the need for every organization to maintain the
IT infrastructure.
IaaS is offered in three models: public, private, and hybrid cloud. The private cloud implies that
the infrastructure resides at the customer-premise. In the case of public cloud,it is located at the
cloud computing platform vendor's data center, and the hybrid cloud isa combination of the two
in which the customer selects the best of both public cloud or private cloud.
IaaS provider provides the following services -
1. Compute: Computing as a Service includes virtual central processing units andvirtual
main memory for the Vms that is provisioned to the end- users.
2. Storage: IaaS provider provides back-end storage for storing files.
3. Network: Network as a Service (NaaS) provides networking components such as
routers, switches, and bridges for the Vms.
4. Load balancers: It provides load balancing capability at the infrastructure layer.

Advantages of IaaS cloud computing layer


There are the following advantages of IaaS computing layer -
1. Shared infrastructure
12
IaaS allows multiple users to share the same physical infrastructure.
2. Web access to the resources
Iaas allows IT users to access resources over the internet.
3. Pay-as-per-use model
IaaS providers provide services based on the pay-as-per-use basis. The users are requiredto pay
for what they have used.
4. Focus on the core business
IaaS providers focus on the organization's core business rather than on IT infrastructure.

5. On-demand scalability
On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do notworry
about to upgrade software and troubleshoot the issues related to hardware components.
Disadvantages of IaaS cloud computing layer
1. Security
Security is one of the biggest issues in IaaS. Most of the IaaS providers are not able to provide
100% security.
2. Maintenance & Upgrade
Although IaaS service providers maintain the software, but they do not upgrade the software
for some organizations.
3. Interoperability issues
It is difficult to migrate VM from one IaaS provider to the other, so the customers might face
problem related to vendor lock-in.
Platform as a Service | PaaS
Platform as a Service (PaaS) provides a runtime environment. It allows programmers toeasily
create, test, run, and deploy web applications. You can purchase these applications
from a cloud service provider on a pay-as-per use basis and access them using the Internet
connection. In PaaS, back end scalability is managed by the cloud service provider, so end-
users do not need to worry about managing the infrastructure.
PaaS includes infrastructure (servers, storage, and networking) and platform (middleware,
development tools, database management systems, business intelligence, and more) to support

13
the web application life cycle.

Example: Google App Engine, Force.com, Joyent, Azure.


PaaS providers provide the Programming languages, Application frameworks, Databases, and
Other tools:

1. Programming languages

PaaS providers provide various programming languages for the developers to develop the
applications. Some popular programming languages provided by PaaS providers are Java, PHP,
Ruby, Perl, and Go.
2. Application frameworks
PaaS providers provide application frameworks to easily understand the application
development. Some popular application frameworks provided by PaaS providers are Node.js,
Drupal, Joomla, WordPress, Spring, Play, Rack, and Zend.
3. Databases
PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, andRedis
to communicate with the applications.
4. Other tools
PaaS providers provide various other tools that are required to develop, test, and deploythe
applications.
Advantages of PaaS

14
There are the following advantages of PaaS -
1) Simplified Development
PaaS allows developers to focus on development and innovation without worrying about
infrastructure management.
2) Lower risk
No need for up-front investment in hardware and software. Developers only need a PCand an
internet connection to start building applications.
3) Prebuilt business functionality
Some PaaS vendors also provide already defined business functionality so that users canavoid
building everything from very scratch and hence can directly start the projects only.
4) Instant community
PaaS vendors frequently provide online communities where the developer can get theideas
to share experiences and seek advice from others.
5) Scalability
Applications deployed can scale from one to thousands of users without any changes to the
applications.
Disadvantages of PaaS cloud computing layer
1) Vendor lock-in
One has to write the applications according to the platform provided by the PaaS vendor,so the
migration of an application to another PaaS vendor would be a problem.
2) Data Privacy
Corporate data, whether it can be critical or not, will be private, so if it is not located within the
walls of the company, there can be a risk in terms of privacy of data.
3) Integration with the rest of the systems applications
It may happen that some applications are local, and some are in the cloud. So there will be
chances of increased complexity when we want to use data which in the cloud with the local
data.
Software as a Service | SaaS
SaaS is also known as "On-Demand Software". It is a software distribution model in which
services are hosted by a cloud service provider. These services are available to end-users over
the internet so, the end-users do not need to install any software on their devices to access these

15
services.
There are the following services provided by SaaS providers -
Business Services - SaaS Provider provides various business services to start-up the business.
The SaaS business services include ERP (Enterprise Resource Planning), CRM
(Customer Relationship Management), billing, and sales.
Document Management - SaaS document management is a software application offeredby a
third party (SaaS providers) to create, manage, and track electronic documents.
Example: Slack, Samepage, Box, and Zoho Forms.
Social Networks - As we all know, social networking sites are used by the general public, so social
networking service providers use SaaS for their convenience and handle the general public's
information.
Mail Services - To handle the unpredictable number of users and load on e-mail services, many
e-mail providers offering their services using SaaS.

Advantages of SaaS cloud computing layer


1) SaaS is easy to buy
SaaS pricing is based on a monthly fee or annual fee subscription, so it allows organizations to
access business functionality at a low cost, which is less than licensed applications.
Unlike traditional software, which is sold as a licensed based with an up-front cost (and often
an optional ongoing support fee), SaaS providers are generally pricing the applications using a
subscription fee, most commonly a monthly or annually fee.
2. One to Many

16
SaaS services are offered as a one-to-many model means a single instance of theapplication is
shared by multiple users.
3. Less hardware required for SaaS
The software is hosted remotely, so organizations do not need to invest in additional hardware.
4. Low maintenance required for SaaS
Software as a service removes the need for installation, set-up, and daily maintenance for the
organizations. The initial set-up cost for SaaS is typically less than the enterprise software.
SaaS vendors are pricing their applications based on some usage parameters, such as a number
of users using the application. So SaaS does easy to monitor and automatic updates.
5. No special software or hardware versions required
All users will have the same version of the software and typically access it through the web
browser. SaaS reduces IT support costs by outsourcing hardware and software maintenance
and support to the IaaS provider.
6. Multidevice support
SaaS services can be accessed from any device such as desktops, laptops, tablets, phones, and
thin clients.
7. API Integration
SaaS services easily integrate with other software or services through standard APIs.
8. No client-side installation
SaaS services are accessed directly from the service provider using the internet connection, so
do not need to require any software installation.
Disadvantages of SaaS cloud computing layer
1) Security
Actually, data is stored in the cloud, so security may be an issue for some users. However,cloud
computing is not more secure than in-house deployment.
2) Latency issue
Since data and applications are stored in the cloud at a variable distance from the end- user,
there is a possibility that there may be greater latency when interacting with the application
compared to local deployment. Therefore, the SaaS model is not suitable forapplications whose
demand response time is in milliseconds.
3) Total Dependency on Internet

17
Without an internet connection, most SaaS applications are not usable.
4) Switching between SaaS vendors is difficult
Switching SaaS vendors involves the difficult and slow task of transferring the very largedata
files over the internet and then converting and importing them into another SaaS also.
*Cloud Computing Challenges*
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 hugecosts 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 currentuse 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

18
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-writtenfor 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 areexchanged 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 networkbandwidth 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.
19
*Virtualization*
Virtualization is the "creation of a virtual (rather than actual) version of something, suchas a
server, a desktop, a storage device, an operating system or network resources".
In other words, Virtualization is a technique, which allows to share a single physical instance
of a resource or an application among multiple customers and organizations. It does by
assigning a logical name to a physical storage and providing a pointer to that physical resource
when demanded.
What is the concept behind the Virtualization?
Creation of a virtual machine over existing operating system and hardware is known as
Hardware Virtualization. A Virtual machine provides an environment that is logically
separated from the underlying hardware.
The machine on which the virtual machine is going to create is known as Host Machine and
that virtual machine is referred as a Guest Machine
Types of Virtualization:
1. Hardware Virtualization.
2. Operating system Virtualization.
3. Server Virtualization.
4. Storage Virtualization.
1) Hardware Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directlyinstalled on
the hardware system is known as hardware virtualization.
The main job of hypervisor is to control and monitoring the processor, memory and other
hardware resources.
After virtualization of hardware system we can install different operating system on it and run
different applications on those OS.
Usage:
Hardware virtualization is mainly done for the server platforms, because controlling virtual
machines is much easier than controlling a physical server.
2) Operating System Virtualization:
When the virtual machine software or virtual machine manager (VMM) is installed on theHost
operating system instead of directly on the hardware system is known as operating system

20
virtualization.
Usage:
Operating System Virtualization is mainly used for testing the applications on different
platforms of OS.
3) Server Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directlyinstalled on
the Server system is known as server virtualization.
Usage:
Server virtualization is done because a single physical server can be divided into multipleservers
on the demand basis and for balancing the load.
4) Storage Virtualization:
Storage virtualization is the process of grouping the physical storage from multiple network
storage devices so that it looks like a single storage device.
Storage virtualization is also implemented by using software applications.
Usage:
Storage virtualization is mainly done for back-up and recovery purposes.
How does virtualization work in cloud computing?
Virtualization plays a very important role in the cloud computing technology, normally in the
cloud computing, users share the data present in the clouds like application etc, butactually with
the help of virtualization users shares the Infrastructure.
The main usage of Virtualization Technology is to provide the applications with the standard
versions to their cloud users, suppose if the next version of that application is released, then
cloud provider has to provide the latest version to their cloud users and practically it is possible
because it is more expensive.
To overcome this problem we use basically virtualization technology, By using virtualization,
all severs and the software application which are required by other cloud providers are
maintained by the third party people, and the cloud providers has to pay themoney on monthly
or annual basis.

21
Mainly Virtualization means, running multiple operating systems on a single machine but sharing
all the hardware resources. And it helps us to provide the pool of IT resources sothat we can
share these IT resources in order get benefits in the business.

*Load Balancing*
Load balancing is the method that allows you to have a proper balance of the amount ofwork
being done on different pieces of device or hardware equipment. Typically, what happens is
that the load of the devices is balanced between different servers or between the CPU and hard
drives in a single cloud server.
Load balancing was introduced for various reasons. One of them is to improve the speedand
performance of each single device, and the other is to protect individual devices fromhitting their
limits by reducing their performance.
Cloud load balancing is defined as dividing workload and computing properties in cloud
computing. It enables enterprises to manage workload demands or application demands by
distributing resources among multiple computers, networks or servers. Cloud load balancing
involves managing the movement of workload traffic and demands over the Internet.
Traffic on the Internet is growing rapidly, accounting for almost 100% of the current traffic
annually. Therefore, the workload on the servers is increasing so rapidly, leading to
overloading of the servers, mainly for the popular web servers. There are two primarysolutions
to overcome the problem of overloading on the server
22
o 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.
o The 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 and more scalable tobuild a server
cluster system for network services.
Cloud-based servers can achieve more precise scalability and availability by using farm server
load balancing. Load balancing is beneficial with almost any type of service, such as HTTP,
SMTP, DNS, FTP, and POP/IMAP.
It also increases reliability through redundancy. A dedicated hardware device or program
provides the balancing service.
Different Types of Load Balancing Algorithms in Cloud Computing:
1. Static Algorithm
Static algorithms are built for systems with very little variation in load. The entire traffic is
divided equally between the servers in the static algorithm. This algorithm requires in- depth
knowledge of server resources for better performance of the processor, which is determined at
the beginning of the implementation.
However, the decision of load shifting does not depend on the current state of the system.One of
the major drawbacks of static load balancing algorithm is that load balancing tasks work only after
they have been created. It could not be implemented on other devices forload balancing.
2. Dynamic Algorithm
The dynamic algorithm first finds the lightest server in the entire network and gives it priority
for load balancing. This requires real-time communication with the network which can help
increase the system's traffic. Here, the current state of the system is usedto control the load.
The characteristic of dynamic algorithms is to make load transfer decisions in the currentsystem
state. In this system, processes can move from a highly used machine to an underutilized
machine in real time.
3. Round Robin Algorithm
As the name suggests, round robin load balancing algorithm uses round-robin method toassign
jobs. First, it randomly selects the first node and assigns tasks to other nodes in a round-robin
manner. This is one of the easiest methods of load balancing.
Processors assign each process circularly without defining any priority. It gives fast response in
23
case of uniform workload distribution among the processes. All processes have different
loading times. Therefore, some nodes may be heavily loaded, while othersmay remain under -
utilised.
4. Weighted Round Robin Load Balancing Algorithm
Weighted Round Robin Load Balancing Algorithms have been developed to enhance themost
challenging issues of Round Robin Algorithms. In this algorithm, there are a specified set of
weights and functions, which are distributed according to the weight values.
Processors that have a higher capacity are given a higher value. Therefore, the highest loaded
servers will get more tasks. When the full load level is reached, the servers will receive stable
traffic.
5. Opportunistic Load Balancing Algorithm
The opportunistic load balancing algorithm allows each node to be busy. It neverconsiders the
current workload of each system. Regardless of the current workload on each node, OLB
distributes all unfinished tasks to these nodes.
The processing task will be executed slowly as an OLB, and it does not count the
implementation time of the node, which causes some bottlenecks even when some nodes are
free.
6. Minimum To Minimum Load Balancing Algorithm
Under minimum to minimum load balancing algorithms, first of all, those tasks take minimum
time to complete. Among them, the minimum value is selected among all the functions.
According to that minimum time, the work on the machine is scheduled.
Other tasks are updated on the machine, and the task is removed from that list. This process
will continue till the final assignment is given. This algorithm works best where many small
tasks outweigh large tasks.
Load balancing solutions can be categorized into two types -
o Software-based load balancers: Software-based load balancers run on standard
hardware (desktop, PC) and standard operating systems.
o Hardware-based load balancers: Hardware-based load balancers are dedicated boxes
that contain application-specific integrated circuits (ASICs) optimized for a particular
use. ASICs allow network traffic to be promoted at high speeds and areoften used for
transport-level load balancing because hardware-based load balancing is faster than a
software solution.
24
Major Examples of Load Balancers -
o Direct Routing Request Despatch Technique: This method of request dispatch is
similar to that implemented in IBM's NetDispatcher. A real server and load balancer
share a virtual IP address. The load balancer takes an interface built witha virtual IP
address that accepts request packets and routes the packets directly to the selected
server.
o Dispatcher-Based Load Balancing Cluster: A dispatcher performs smart load
balancing using server availability, workload, capacity and other user-defined
parameters to regulate where TCP/IP requests are sent. The dispatcher module ofa load
balancer can split HTTP requests among different nodes in a cluster. The dispatcher
divides the load among multiple servers in a cluster, so services from different nodes
act like a virtual service on only one IP address; Consumers interconnect as if it were a
single server, without knowledge of the back-end infrastructure.
o Linux Virtual Load Balancer: This is an open-source enhanced load balancing
solution used to build highly scalable and highly available network services such as
HTTP, POP3, FTP, SMTP, media and caching, and Voice over InternetProtocol (VoIP)
is done. It is a simple and powerful product designed for load balancing and fail-over.
The load balancer itself is the primary entry point to the server cluster system. It ca n
execute Internet Protocol Virtual Server (IPVS), which implements transport-layer load
balancing in the Linux kernel, also knownas layer-4 switching.
Types of Load Balancing
You will need to understand the different types of load balancing for your network. Server load
balancing is for relational databases, global server load balancing is for troubleshooting in
different geographic locations, and DNS load balancing ensures domain name functionality.
Load balancing can also be based on cloud-based balancers.
Network Load Balancing
Cloud load balancing takes advantage of network layer information and leaves it to decide where
network traffic should be sent. This is accomplished through Layer 4 load balancing, which
handles TCP/UDP traffic. It is the fastest local balancing solution, but it cannot balance the
traffic distribution across servers.
HTTP(S) load balancing
HTTP(s) load balancing is the oldest type of load balancing, and it relies on Layer 7. Thismeans
25
that load balancing operates in the layer of operations. It is the most flexible type of load
balancing because it lets you make delivery decisions based on information retrieved from
HTTP addresses.
Internal Load Balancing
It is very similar to network load balancing, but is leveraged to balance the infrastructure
internally.
Load balancers can be further divided into hardware, software and virtual load balancers.
Hardware Load Balancer
It depends on the base and the physical hardware that distributes the network and application
traffic. The device can handle a large traffic volume, but these come with a hefty price tag and
have limited flexibility.
Software Load Balancer
It can be an open source or commercial form and must be installed before it can be used.These
are more economical than hardware solutions.
Virtual Load Balancer
It differs from a software load balancer in that it deploys the software to the hardware load-
balancing device on the virtual machine.

WHY CLOUD LOAD BALANCING IS IMPORTANT IN CLOUD COMPUTING?


Here are some of the importance of load balancing in cloud computing.
Offers better performance
The technology of load balancing is less expensive and also easy to implement. This allows
companies to work on client applications much faster and deliver better results ata lower cost.
Helps Maintain Website Traffic
Cloud load balancing can provide scalability to control website traffic. By using effective load
balancers, it is possible to manage high-end traffic, which is achieved using networkequipment
and servers. E-commerce companies that need to deal with multiple visitors every second use
cloud load balancing to manage and distribute workloads.
Can Handle Sudden Bursts in Traffic
Load balancers can handle any sudden traffic bursts they receive at once. For example, in case
of university results, the website may be closed due to too many requests. When one uses a
26
load balancer, he does not need to worry about the traffic flow. Whatever thesize of the traffic,
load balancers will divide the entire load of the website equally across different servers and
provide maximum results in minimum response time.
Greater Flexibility
The main reason for using a load balancer is to protect the website from sudden crashes.When
the workload is distributed among different network servers or units, if a single node fails, the
load is transferred to another node. It offers flexibility, scalability and the ability to handle
traffic better.
Because of these characteristics, load balancers are beneficial in cloud environments. This is to
avoid heavy workload on a single server.
Conclusion
Thousands of people have access to a website at a particular time. This makes it
challenging for the application to manage the load coming from these requests at the same time.
Sometimes this can lead to system failure.
Scalability and
Elasticity 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 canbe 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 theresource 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.

The Flexibility in cloud is a well-known highlight related with scale-out


arrangements (level scaling), which takes into consideration assets to be powerfully
added or eliminated when required. It is for the most part connected with public cloud
assets which is generally highlighted in pay-per-use or pay-more only as costs arise
administrations.

The Flexibility is the capacity to develop or contract framework assets (like


27
process,
capacity or organization) powerfully on a case by case basis to adjust to responsibility
changesin the applications in an autonomic way.

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 requestedfor 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 tofulfill 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.
Types of Scalability
1. Vertical Scalability (Scale-up)
In this type of scalability, increase the power of existing resources in the
working environment in an upward direction.

28
2. Horizontal Scalability

In this kind of scaling, the resources are added in a horizontal row.

3. Diagonal Scalability

It is a mixture of both Horizontal and Vertical scalability where the resources are
addedboth vertically and horizontally.

Difference Between Cloud Elasticity and Scalability

Cloud Elasticity Cloud Scalability

29
Elasticity is used just to meetthe sudden Scalability is used to meetthe static
1 up and down in the workload for a small increase in theworkload.
period of time.
Elasticity is used to meet dynamic Scalability is always used to
2 changes, where theresources need can address the increase in workload in
increase or decrease. an organization.
Elasticity is commonly used by small Scalability is used by giant
companies whose workload and demand companies whose customer
3 increases only for a specific period of circlepersistently grows in order
time. to do the operations efficiently.
It is a short term planning and Scalability is a long term
adopted just to deal with an planning and adopted just
4 unexpected increase in demand to deal with an expected
or seasonaldemands. increase in demand.
Replication

The simplest form of data replication in cloud computing environment is to


store a copyof a file (copy), in expanded form, the copying and pasting in any modern
operating systems. Replication is the reproduction of the original data in unchanged
form. Changing data accesses are expensive in general through replication. In the
frequently encountered master / slave replication, a distinction between the original
data (primary data) and the dependent copies. In peer copies (version control) there
must be merging of data sets (synchronization). Sometimes it is important to know
which data sets must have the replicas. Depending on the type of replication it is
located between the processing and creation of the primary data and their replication
in a certain period of time. This period is usually referred to as latency.
Array-Based Data Replication
An array-based data replication strategy uses built-in software to
automatically replicate data. With this type of data replication, the software is used in
compatible storage arrays to copy data between each. Using this method has several
advantages and disadvantages.Advantages:

30
 More robust
 Requires less coordination when deployed
 The work gets offloaded from the servers to the storage device
Disadvantages:

 Requires homogenous storage environments: the source and target array


have to besimilar
 It is costly to implement
Host-Based Data Replication

Host-based data replication uses the servers to copy data from one site to
another site. Host-based replication software usually includes options like
compression, encryption and, throttling, as well as failover. Using this method has
several advantages and disadvantages.
Advantages:
 Flexible: It can leverage existing IP networks
 Can be customized to your business’ needs: You can choose what data to replicate
 Can create a schedule for sending data: allows you to throttle bandwidth
 Can use any combination of storage devices on each end

Disadvantages:

 Difficult to manage with a large group of servers if there is no centralized


managementconsole
 Consumes host resources during replication
 Both storage devices on each end need to be active, which means you will
need topurchase dedicated hardware and OS
 Not all applications can support this type of data replication
 Can be affected by viruses or application failure
 Host-based replication offers the safest option if a business is looking for
close to zeroimpact on operations after a disaster.

31
Network-Based Data Replication

Network-based data replication uses a device or appliance that sits on the


network in the path of the data to manage replication. The data is then copied to a
second device. These devices usually have proprietary replication technology but can
be used with any host server and storage hardware.
Advantages

 Effective in large, heterogeneous storage and server environments


 Supports any host platform and works with any array
 Works separately from the servers and the storage devices
 Allows replication between multi-vendor products
Disadvantages:

 Higher initial set-up cost because it requires proprietary hardware, as well as


ongoingoperational and management costs
 Requires implementation of a storage area network (SAN)
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 speedpredicts possible vulnerability to future issues before they arise.
This technique tracks multiple analytics simultaneously, monitoring storage
resourcesand 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

32
provides data to help you focus on useful features or to fix bugs that disrupt
functionality.
Monitoring is a skill, not a full-time job. In today’s world of cloud-based
architectures that are implemented through DevOps projects, developers, site
reliability engineers (SREs), and operations staff must collectively define an effective
cloud monitoring strategy. Such a strategy should focus on identifying when service-
level objectives (SLOs) are not being met, likely negatively affecting the user
experience. So, then what are the benefits of leveraging cloud monitoring tools? With
cloud monitoring:
Benefits of cloud monitoring

 Scaling for increased activity is seamless and works in organizations of any size
 Dedicated tools (and hardware) are maintained by the host
 Tools are used across several types of devices, including desktop computers,
tablets,and phones, so your organization can monitor apps from any location
 Installation is simple because infrastructure and configurations are already in place
 Your system doesn’t suffer interruptions when local problems emerge,
because resources aren’t part of your organization’s servers and
workstations
 Subscription-based solutions can keep your costs low
Cloud monitoring is primarily part of cloud security and management processes.
It is normally implemented through automated monitoring software that provides
central access and control over cloud infrastructure.
Cloud Services and
Platforms Cloud
Reference Model
• Infrastructure & Facilities Layer
Includes the physical infrastructure such as datacenter facilities, electrical and
mechanical equipment, etc.
• Hardware Layer
Includes physical compute, network and storage hardware.

33
• Virtualization Layer
Partitions the physical hardware resources into multiple virtual resources that
enablingpooling of resources.
• Platform & Middleware Layer

Builds upon the IaaS layers below and provides standardized stacks of services
such as database service, queuing service, application frameworks and run-time
environments, messaging services, monitoring services, analytics services, etc.
• Service Management Layer

Provides APIs for requesting, managing and monitoring cloud resources.

• Applications Layer

Includes SaaS applications such as Email, cloud storage application,


productivity applications, management portals, customer self-service portals, etc.
• Infrastructure & Facilities Layer

Includes the physical infrastructure such as datacenter facilities, electrical and


mechanical equipment, etc.
• Hardware Layer

34
Includes physical compute, network and storage hardware.
Compute Service

 Compute services provide dynamically scalable compute capacity in the cloud.


 Compute resources can be provisioned on-demand in the form of virtual
machines. Virtual machines can be created from standard images provided by
the cloud service provider or custom images created by the users.Compute
services can be accessed from the web consoles of these services that provide
graphical user interfaces for provisioning, managing and monitoring these
services.
 Cloud service providers also provide APIs for various programming
languages that allow developers to access and manage these services
programmatically.
Compute Service - Amazon EC2

• Amazon Elastic Compute Cloud (EC2) is a compute service provided by Amazon.

35
• Launching EC2 Instances
To launch a new instance click on the launch instance button. This
will open awizard where you can select the Amazon machine image (AMI)
with which you want
to launch the instance. You can also create their own AMIs with custom
applications, libraries and data. Instances can be launched with a variety of
operating systems.
• Instance Sizes
When you launch an instance you specify the instance type (micro,
small, medium, large, extra-large, etc.), the number of instances to launch
based on the selected AMI and availability zones for the instances.
• Key-pairs
When launching a new instance, the user selects a key-pair from
existing keypairs or creates a new keypair for the instance. Keypairs are used
to securely connect to an instance after it launches.
• Security Groups
The security groups to be associated with the instance can be selected
from the instance launch wizard. Security groups are used to open or block a
specific network port for the launched instances.

36
Compute Services – Google Compute Engine

• Google Compute Engine is a compute service provided by Google.


• Launching Instances

To create a new instance, the user selects an instance machine type, a zone in
which the instance will be launched, a machine image for the instance and provides an
instance name,instance tags and meta-data.
• Disk Resources

Every instance is launched with a disk resource. Depending on the instance


type, the disk resource can be a scratch disk space or persistent disk space. The
scratch disk space is deleted when the instance terminates. Whereas, persistent disks
live beyond the life of an instance.
• Network Options
Network option allows you to control the traffic to and from the instances. By
default,traffic between instances in the same network, over any port and any protocol
and incoming SSH connections from anywhere are enabled.

Compute Services – Windows Azure VMs


• Windows Azure Virtual Machines is the compute service from Microsoft.

37
• Launching Instances:
o To create a new instance, you select the instance type and the machine image.
o You can either provide a user name and password or upload a certificate
file forsecurely connecting to the instance.
o Any changes made to the VM are persistently stored and new VMs
can becreated from the previously stored machine images.

Storage Services

 Cloud storage services allow storage and retrieval of any amount of data, at
anytimefrom anywhere on the web.
 Most cloud storage services organize data into buckets or containers.
 Scalability
Cloud storage services provide high capacity and scalability. Objects upto
several tera-bytes in size can be uploaded and multiple buckets/containers can be
created on cloudstorages.

 Replication
When an object is uploaded it is replicated at multiple facilities and/or on
multipledevices within each facility.

38
 Access Policies
Cloud storage services provide several security features such as Access
Control Lists (ACLs), bucket/container level policies, etc. ACLs can be used to
selectively grant access permissions on individual objects. Bucket/container level
policies can also be defined to allow or deny permissions across some or all of the
objects within a single bucket/container.
 Encryption
Cloud storage services provide Server-Side Encryption (SSE) options to
encrypt alldata stored in the cloud storage.
 Consistency
Strong data consistency is provided for all upload and delete operations.
Therefore, any object that is uploaded can be immediately downloaded after the
upload is complete.

Storage Services – Amazon S3

 Amazon Simple Storage Service(S3) is an online cloud-based data


storageinfrastructure for storing and retrieving any amount of data.
 S3 provides highly reliable, scalable, fast, fully redundant and affordable
storageinfrastructure.
 Buckets
- Data stored on S3 is organized in the form of buckets. You must create a
bucketbefore you can store data on S3.

 Uploading Files to Buckets
- S3 console provides simple wizards for creating a new bucket and uploading files.
- You can upload any kind of file to S3.
- While uploading a file, you can specify the redundancy and encryption
options andaccess permissions.

39
Storage Services – Google Cloud Storage

 GCS is the Cloud storage service from Google


 Buckets
Objects in GCS are organized into buckets.
 Access Control Lists
ACLs are used to control access to objects and buckets. ACLs can be
configuredto share objects and buckets with the entire world, a Google group,
a Google-hosted domain, or specific Google account holders.

Storage Services – Windows Azure Storage

 Windows Azure Storage is the cloud storage service from Microsoft.


 Windows Azure Storage provides various storage services such as blob storage
service,table service and queue service.

40
 Blob storage service
o The blob storage service allows storing unstructured binary data or
binary largeobjects (blobs).
o Blobs are organized into containers.
o Block blobs - can be subdivided into some number of blocks. If a
failure occurs while transferring a block blob, retransmission can
resume with the most recent block rather than sending the entire blob
again.
o Page blobs - are divided into number of pages and are designed for
random access. Applications can read and write individual pages at
random in a page blob.

Application Runtimes & Frameworks

 Cloud-based application runtimes and frameworks allow developers to


develop andhost applications in the cloud.
 Support for various programming languages
Application runtimes provide support for programming languages
(e.g., Java,Python, or Ruby).

41
 Resource Allocation
Application runtimes automatically allocate resources for
applications and handle the application scaling, without the need to run
and maintain servers.

Google App Engine

 Google App Engine is the platform-as-a-service (PaaS) from Google, which


includesboth an application runtime and web frameworks.
 Runtimes
- App Engine provides runtime environments for Java, Python, PHP
and Goprogramming language.
 Sandbox
- Applications run in a secure sandbox environment isolated from other applications.
- The sandbox environment provides a limited access to the underlying
operatingsystem.

 Web Frameworks
- App Engine provides a simple Python web application framework called

42
webapp2. App Engine also supports any framework written in pure Python
that speaks WSGI, including Django, CherryPy, Pylons, web.py, and
web2py.
 Datastore
- App Engine provides a no-SQL data storage service
 Authentication
- App Engine applications can be integrated with Google Accounts for user
authentication.
 URL Fetch service
- URL Fetch service allows applications to access resources on the Internet,
such asweb services or other data.
 Other services
- Email service
- Image Manipulation service
- Memcache
- Task Queues
- Scheduled Tasks service

Windows Azure Web Sites

• Windows Azure Web Sites is a Platform-as-a-Service (PaaS) from Microsoft.


• Azure Web Sites allows you to host web applications in the Azure cloud.
• Shared & Standard Options.
- In the shared option, Azure Web Sites run on a set of virtual machines
that maycontain multiple web sites created by multiple users.
- In the standard option, Azure Web Sites run on virtual machines (VMs)
that belongto an individual user.
• Azure Web Sites supports applications created in ASP.NET, PHP, Node.js and
Pythonprogramming languages.
• Multiple copies of an application can be run in different VMs, with Web Sites
automatically load balancing requests across them.

43

You might also like