Presentation major

13
MAJOR PROJECT Dynamic Scaling of web applications in virtualized Cloud Computing Environment Submitted by: Mallika Malhotra(10103535) Sanya Kapoor(10103630) Submitted to: Mr. Prakash Kumar

Transcript of Presentation major

MAJOR PROJECT

Dynamic Scaling of web applications in virtualized Cloud Computing Environment

Submitted by:Mallika Malhotra(10103535)Sanya Kapoor(10103630)

Submitted to: Mr. Prakash Kumar

INTRODUCTION

Cloud computing has emerged as a new powerful computing paradigm to provide the on-demand services to user as needed.

Virtualization is critical to cloud computing because it simplifies the delivery of services by providing a

platform for optimizing complex IT resources in a scalable manner, which is what makes cloud computing

so cost effective. a user demand on resources can be various in different time, maintaining sufficient

resources to meet peak resource requirements can be costly.

Therefore, dynamic scalability is a critical key point to the success of Cloud Computing environment.

Auto-scaling or Dynamic scalability is a cloud computing service feature that automatically adds or

removes compute resources depending upon actual usage.

When a virtual machine is under-provisioning or over-provisioning, dynamic resizing can utilized to

overcome this problem.

PROBLEM STATEMENT

An intrinsic problem of the overwhelming information on the Internet in Virtual machines is that

there may be some events when due to a sudden surge in load, due to a large no. Of incoming requests

to a server, the server may not be able to take in the entire load all by itself and may crash, leaving the

customer user in a fix by showing no response. Or sometimes, the given server might not have all the

hardware resources it needs to respond to the requests and in some cases, the contrary might happen, that

if the incoming requests are very low in number, then the servers allocated for this work might be sitting

in idle and consuming resources that costs the organisation/firm.

Hence, in all the above cases it becomes extremely important to have an Auto-Scaling System that is

able to scale the Virtual Machines as per the incoming load on the servers, and hence utilising the

resources efficiently and reducing costs.

HARDWARE/TECHNOLOGY

● XEN Hypervisor

● Virtual MachineManager

● JAVA

● Apache

● Python (as programming language)

● Tomcat

● Mod­jk connector

● Jmeter

OVERALL ARCHITECTURE

OVERALL ARCHITECTURE

In our architecture, Front-end load balancer is utilized to balancing the web application load.

● Apache HTTP Load-Balancer is utilized as Front-end load balancer to allow incoming HTTP request

to be routed into web servers that perform the web application. This enables the virtual cluster to scale

and thus provide better response time for incoming HTTP requests.

● The XCM (Xen cluster monitor) displays and manages all the details of the virtual machine cluster,

namely the state of the Virtual machines in the cluster, their CPU utilization, memory utilization, etc

and is the basis for all the decisions made to scale the virtual machines in a particular cluster.

● The Auto provisioning system is basically the algorithm generated by us keeping in mind various

factors and resource constraints to allow the dynamic scaling of the Virtual machines.

ALGORITHM

After sending HTTP requests for the web application, physical computing resources such as the usages

of CPU and memory, being the most important factors will determine when to and when not to scale the

virtual machines in the cluster so as to optimize performance and balance the load.

If the uses of resources of all VMs are above the given upper threshold, a new VM will be created,

provisioned, started, and then perform the same computing tasks in the virtual cluster.

If the uses of resources of some VMs are below a given lower threshold and with at least one VM that

has no computing job, the idle VM will be terminated from the virtual cluster.

ALGORITHM

Our algorithm initially calculates the no. of running and suspended virtual machines on a server and then

takes into account the following cases to decide whether to suspend or resume a VM.

Case 1: No. of Running Virtual machine = 1

If CPU util. of running VM > Maxcpu or RAM util. of running VM > Maxram

Then, Resume a suspended VM.

Case 2: No. of Running Virtual machine = 2

If CPU util. of both running VM > Maxcpu or RAM util. of both running VM > Maxram

Then, Resume a suspended VM.

If CPU util. of both running VMs < Mincpu or RAM util. of both running VM s < Minram

Then, Suspend a running VM.

ALGORITHM

Case 3: No. of Running Virtual machine = 3

If CPU util. of all three or any two running VMs < Mincpu or RAM util. of all three running VM s

< Minram

Then, Suspend a running VM.

Also, apart from ‘horizontally’ scaling the virtual machines according to the above algorithm, the system

is also capable of ‘vertically’ scaling the virtual machines by increasing the size of a particular virtual

machine to accommodate the workload that is in the form of web requests.

SCREENSHOTS

SCREENSHOTS

SCREENSHOTS

THANK YOU!