DC - Unit V
DC - Unit V
ENGINEERING
Semester/Year: III/V
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
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
Characteristics of IaaS
PaaS cloud computing platform is created for the programmer to develop, test, run, and
manage the applications.
9
Characteristics of PaaS
Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine,
Apache Stratos, Magento Commerce Cloud, and OpenShift.
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
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.
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.
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.
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.
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.
28
2. Horizontal Scalability
3. Diagonal Scalability
It is a mixture of both Horizontal and Vertical scalability where the resources are
addedboth vertically and horizontally.
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
30
More robust
Requires less coordination when deployed
The work gets offloaded from the servers to the storage device
Disadvantages:
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:
31
Network-Based Data Replication
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
• Applications Layer
34
Includes physical compute, network and storage hardware.
Compute Service
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
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
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.
39
Storage Services – Google Cloud Storage
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.
41
Resource Allocation
Application runtimes automatically allocate resources for
applications and handle the application scaling, without the need to run
and maintain servers.
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
43