0% found this document useful (0 votes)
9 views

CH-3-1

Uploaded by

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

CH-3-1

Uploaded by

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

CH-3

Cloud Computing Technologies


and Virtualization
Cloud Computing Technologies

• To make cloud computing flexible,


reliable, and usable following
technologies are listed :
• Virtualization
• Service-Oriented Architecture (SOA)
• Grid Computing
• Utility Computing
Virtualization
• Virtualization is a technique, which allows to
share single physical instance of an application
or resource among multiple organizations or
tenants .
• It does this by assigning a logical name to a
physical resource and providing a pointer to
that physical resource when demanded.
Service-Oriented Architecture
(SOA)
• Service Oriented Architecture (SOA) is a
specification and a methodology for providing
platform and language-independent services for use
in distributed applications.
• Service-Oriented Architecture helps to use
applications as a service for other applications
regardless the type of vendor, product or technology.
• It is possible to exchange the data between
applications of different vendors without additional
programming or making changes to services.
Grid Computing
• Grid Computing refers to distributed
computing, in which a group of computers
from multiple locations are connected with
each other to achieve a common objective.
These computer resources are heterogeneous
and geographically dispersed.
• Grid Computing breaks complex task into
smaller pieces, which are distributed to CPUs
that reside within the grid.
Utility Computing
• Utility computing is based on Pay-per-
Use model.
• It offers computational resources on demand
as a metered service. Cloud computing, grid
computing, and managed IT services are based
on the concept of utility computing.
Load Balancing and
Virtualization
• The technology used to distribute service requests
to resources is referred to as load balancing.
• Load balancing can be implemented in hardware
or in software
• Load balancing is an optimization technique which
is used to:
* increase utilization and throughput
* lower latency
* reduce response time
* avoid system overload
• The following network resources can be
load balanced:
Network interfaces and services such as
DNS, FTP, and HTTP
 Connections through intelligent switches
 Processing through computer system
assignment
Storage resources
Access to application instances
Load balancing mechanism
• Client/
Sent request service
requester

Listens • Load
request balancer

• Scheduler
Assigns round
request robin/ w
round robin
Conti..
• A session ticket is created by the load balancer so that
traffic from the client can be properly routed to requested
resource.
• Without this session record or persistence, a load balancer
would not be able to correctly failover a request from one
resource to another.
• Persistence can be enforced using session data stored in a
database and replicated across multiple load balancers.
• a session cookie stored on the client has the least amount
of overhead for a load balancer because it allows the load
balancer an independent selection of resources.
Advanced load balancing
Features:
• the response time, the work queue length, connection
latency and capacity,
• the ability to bring standby servers online (priority
activation)
• workload weighting based on a resource’s capacity
(asymmetric loading),
• HTTP traffic compression, TCP offload and buffering,
• security and authentication,
• Packet shaping using content filtering and priority
queuing.
Application Delivery Controller

• An Application Delivery Controller (ADC) is a combination


load balancer and application server
• It is a server placed between a firewall or router and a server
farm providing Web services.
• Application Delivery Controller is assigned a virtual IP
address (VIP) that it maps to a pool of servers based on
application specific criteria.
• An ADC is a combination network and application layer
device.
• ADCs referred to as a content switch, multilayer switch, or
Web switch
Features
• ADC include data compression, content
caching.
• server health monitoring, security, SSL offload
and advanced routing based on current
conditions.
• network optimization, and an application or
framework optimization.
Hypervisors
● Given a computer system with a certain set of resources, you
can set aside portions of those resources to create a virtual
machine.
● From the standpoint of applications or users, a virtual machine
has all the attributes and characteristics of a physical
system but is strictly software that emulates a physical
machine.
● A system virtual machine (or a hardware virtual machine)
has its own address space in memory, its own processor
resource allocation, and its own device I/O using its own
virtual device drivers.
● Some virtual machines are designed to run only a single
application or process and are referred to as process
virtual machines.
Hypervisor
• A low-level program is required to provide
system resource access to virtual machines,
and this program is referred to as the
hypervisor or Virtual Machine Monitor
(VMM).
● Type 1
● Type2
● A hypervisor running on bare metal is a Type 1 VM or native VM.

● Examples of Type 1 Virtual Machine Monitors are LynxSecure, RTS

Hypervisor, Oracle VM, Sun xVM Server,VirtualLogix


VLX,VMware ESX and ESXi, and Wind River VxWorks, among
others.
● The operating system loaded into a virtual machine is referred to

as the guest operating system, and there is no constraint on running


the same guest on multiple VMs on a physical system.
● Type 1 VMs have no host operating system because they are

installed on a bare system.


●Some hypervisors are installed over an operating

system and are referred to as Type 2 or hosted VM.


● Examples of Type 2 Virtual Machine Monitors are
Containers, KVM, Microsoft Hyper V, Parallels
Desktop for Mac,Wind River Simics,VMWare
Fusion,Virtual Server 2005 R2, Xen,Windows
Virtual PC, and VMware Workstation 6.0
Types of VMM
● Emulation :In emulation, the virtual machine simulates

hardware, so it can be independent of the underlying system


hardware. A guest operating system using emulation does not
need to be modified in any way.
● Paravirtualization : Paravirtualization requires that the host

operating system provide a virtual machine interface for the


guest operating system and that the guest access hardware
through that host VM.
● An operating system running as a guest on a paravirtualization

system must be ported to work with the host interface.


Conti..

● Full virtualization: In full virtualization scheme, the VM is

installed as a Type 1 Hypervisor directly onto the hardware.


All operating systems in full virtualization communicate
directly with the VM hypervisor, so guest operating
systems do not require any modification.
● Guest operating systems in full virtualization systems
are generally faster than other virtualization schemes.
Porting Applications
●Cloud computing applications have the ability to run

on virtual systems and for these systems to be


moved as needed.
●Developers who write software to run in the cloud

will undoubtedly want the ability to port their


applications from one cloud vendor to another,
but that is a much more difficult proposition.
● Portability means that you can move an application from one

host environment to another, including cloud to cloud such as


from Amazon Web Services to Microsoft Azure.
● The work needed to complete the porting of an application

from one platform to another depends upon the specific


circumstances.
● Containers are one technology meant to make such porting

easier, by encapsulating the application and operating systems


into a bundle that can be run on a platform that supports that
container standard like Docker or Kubernetes.
●The cloud computing portability and
interoperability categories as :
●Data Portability

●Application Portability

●Platform Portability
Data Portability
● Data portability enables re-use of data components across

different applications.
● Suppose that an enterprise uses a SaaS product for Customer

Relations Management (CRM), for example, and the commercial


terms for use of that product become unattractive compared with
other SaaS products or with use of an in-house CRM solution.The
customer data held by the SaaS product may be crucial to the
enterprise's operation. How easy will it be to move that data to
another CRM solution?
Application Portability
● Application portability enables the re-use of application

components across cloud PaaS services and traditional


computing platforms.
● Suppose that an enterprise has an application built on a particular

cloud PaaS service and, for cost, performance, or other reasons,


wishes to move it to another PaaS service or to in-house systems.
How easy will this be?
● If the application uses features that are specific to the platform, or

if the platform interface is non-standard, then it will not be easy.


● Application portability requires a standard interface exposed by

the supporting platform.


● A particular application portability issue that arises with cloud

computing is portability between development and operational


environments.
● Cloud PaaS is particularly attractive for development environments from

a financial perspective, because it avoids the need for investment in expensive


systems that will be unused once the development is complete.
● But, where a different environment is to be used at run time – either on in-house

systems or on different cloud services – it is essential that the applications can be


moved unchanged between the two environments.
● Cloud computing is bringing development and operations closer together,
and indeed increasingly leading to the two being integrated as devops.
● This can only work if the same environment is used for development and
operation, or if there is application portability between development and
Platform Portability
 There are two kinds of platform portability:

1. Re-use of platform components across cloud IaaS services and non

cloud infrastructure – platform source portability.

2. Re-use of bundles containing applications and data with their

supporting platforms – machine image portability.

 The UNIX operating system provides an example of platform source

portability.

 It is mostly written in the C programming language, and can be

implemented on different hardware by re-compiling it and rewriting a few

small hardware-dependent sections that are not coded in C.


 Some other operating systems can be ported in a similar way. This is the

traditional approach to platform portability.

 It enables applications portability because applications that use the

standard operating system interface can similarly be re-compiled and run

on systems that have different hardware.

 Machine image portability gives enterprises and application vendors a

new way of achieving applications portability, by bundling the

application with its platform and porting the resulting bundle.

 It requires a standard program representation that can be deployed in

different IaaS use environments.


Capacity Planning
 Capacity planning for a cloud computing system offers you

many enhanced capabilities and some new challenges over


a purely physical system.
 A capacity planner seeks to meet the future demands on a

system by providing the additional capacity to fulfill those


demands.
 Capacity planning measures the maximum amount of work

that can be done using the current technology and then adds
resources to do more work as needed.
• Capacity planning is an iterative process with the following steps:

1. Determine the characteristics of the present system.

2. Measure the workload for the different resources in the system: CPU, RAM,

disk, network, and so forth.

3. Load the system until it is overloaded, determine when it breaks, and specify

what is required to maintain acceptable performance. Knowing when systems

fail under load and what factor(s) is responsible for the failure is the critical

step in capacity planning.

4. Predict the future based on historical trends and other factors.

5. Deploy or tear down resources to meet your predictions.

6. Iterate Steps 1 through 5 repeatedly.


Defining Baseline and Metrics
• The first item of business is to determine the current system capacity or workload as a

measurable quantity over time.

• Because many developers create cloud-based applications and Web sites based on a

LAMP solution stack.

• LAMP stands for:

 Linux, the operating system

 Apache HTTP Server, the Web server based on the work of the Apache

Software Foundation

 MySQL, the database server developed by the Swedish company MySQL AB,

owned by Oracle Corporation through its acquisition of Sun Microsystems

 PHP, the Hypertext Preprocessor scripting language developed by The PHP Group
Baseline measurements
• Let’s assume that a capacity planner is working with a system that
has a Web site based on APACHE, and let’s assume the site is
processing database transactions using MySQL.

• There are two important overall workload metrics in this LAMP


system:

– Page views or hits on the Web site, as measured in hits per


second.

– Transactions completed on the database server, as measured by


transactions per second or perhaps by queries per second
• historical record for the Web server page views
over a hypothetical day, week, and year are
graphed
● WT, the total workload for the system per unit time.To obtain

WT, you need to integrate the area under the curve for the time
period of interest.

● WAVG, the average workload over multiple units of time To


obtain WAVG, you need to sum various WT ‘s and divide
by the number of unit times involved.

● WMAX, the highest amount of work recorded by the system This

is the highest recorded system utilization.

● WTOT, the total amount of work done by the system, which is


 A similar set of graphs would be collected to characterize the database

servers, with the workload for those servers measured in transactions per

second.

 As part of the capacity planning exercise, the workload for the Web

servers would be correlated with the workload of the database servers to

determine patterns of usage.

 The goal of a capacity planning exercise is to accommodate spikes in

demand as well as the overall growth of demand over time.

 These two factors, the growth in demand over time is the most important

consideration because it represents the ability of a business to grow.


System metrics
• Capacity planning must measure system-level statistics,
determining what each system is capable of, and how
resources of a system affect system-level performance.
• A machine instance (physical or virtual) is primarily
defined by four essential resources: CPU, Memory
(RAM), Disk, Network connectivity.
• Each of these resources can be measured by tools that
are operating-system-specific.
Load testing
• Examining your server under load for system metrics isn’t going to give

you enough information to do meaningful capacity planning.

• You need to know what happens to a system when the load increases.

• Load testing seeks to answer the following questions:


› What is the maximum load that my current system can support?

› Which resource(s) represents the bottleneck in the current system that limits the

system’s performance? This parameter is referred to as the resource ceiling. Depending

upon a server’s configuration, any resource can have a bottleneck removed, and the

resource ceiling then passes onto another resource.

› Can I alter the configuration of my server in order to increase capacity?

› How does this server’s performance relate to your other servers that might have

different characteristics?

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy