Virtual Machine Provisioning On Cloud

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Prerana Jarande, Rajeshree Shelke, Monika Kharade, Goresh Musalay

Vishwakarma Institute of Information Technology (India-Pune)

Abstract �

Cloud computing systems are becoming an important platform for various applications. People can use cloud platform for running their applications and building their own applications. Cloud platform can also be used as Software as a Service (SAAS). Infrastructure as a Service (IAAS) clouds provide the capability for provision of virtual machines depending on user requirements and configuration of hardware resources, but they do not provide functionality for managing those resources once provisioned. In order for such clouds to be used effectively for parallel and distributed scientific applications, tools need to be developed that can help users to deploy their applications in the cloud.

This paper aims to perform to set up of private cloud and use cloud APIs to manage infrastructure of virtual machines. This system will help users for provisioning and configuring virtual machines. A portal would be implemented from where users can request for a Virtual Machine (VM) and use it. Portal will contain two parts � one for clients, requesting the computer resources and another for administrator. Administrator will approve the requests and upon approval, provisioning will take place.

General Terms: Management, Design.

Keywords: Cloud computing, virtual clusters.

I. INTRODUCTION

Infrastructure as a Service (IaaS) clouds are becoming an important platform for scientific computation. IaaS clouds allow users to provision computational resources in the form of virtual machines (VMs) from commercial and academic resource providers. Unlike other distributed resource sharing solutions, such as grids, users of infrastructure clouds are given full control of the entire software environment in which their applications run. This

enables the environment to be customized to suit the specific needs of the application, but it comes at the cost of increased complexity and some additional efforts required to setup and deploy the application.

In today�s environment virtual machine has became the necessity for working efficiently. For provision of virtual machine, image of VM is created and then it is used. In our project we are going to provide virtual machine image on private cloud. It will help User to minimize cost required to buy actual hardware components and memory space required. By using our system user can connect with virtual machines on trial basis as well as according to his/her need.

Database of user as well as available resources is maintained. Each user will be provided with authentication using IP address and credentials. User will be provided with free trial version of VM for a specific time limit and after trial period is over user will be charged according to the use. Current infrastructure clouds provide interfaces for allocating individual VMs with a desired configuration of CPU, memory, disk space, etc. However, these interfaces typically do not provide any features to help users configure the execution environment for their application. Distributed scientific applications typically run in cluster environments that have a distributed storage system for sharing data between several nodes, and a resource manager for mapping tasks to nodes. The challenge faced by application developers is how to deploy virtual clusters [1] in the cloud given the dynamic nature of cloud environments. Tools are needed that can automatically provision and configure virtual clusters. Creating a virtual cluster is not a trivial task. It is usually not sufficient to simply develop a virtual machine (VM) image that runs the appropriate services when the virtual machine starts up, and then just deploy that image on several VMs in the cloud. Often the configuration of cluster services requires information about all the nodes in the cluster (such as IP addresses, host names, etc.) as well as parameters specified by the user. This information cannot be hard-coded into an image when it is created because it is not known at that time. Instead, the information must be provided after the resources are provisioned. A user could manually provide this information, but doing so is time consuming and error prone, especially for large virtual clusters. Instead, we advocate an approach where the information is provided by a service to which the user delegates responsibility for provisioning and configuring their virtual cluster.

II. CLOUD COMPUTING

Cloud Computing is a technology which you can access and use for your work. You can run all the applications that you want to use without installing software, updating files with using internet. It also uses central remote servers to maintain data and applications. This technology allows customer and business to run their applications efficiently. A cloud has two types Private and Public. A Public cloud is used to give services to the all users which uses internet. A Private cloud is used to give the services to limited number of people. The main purpose of cloud is to give easy access of technology, resources and services.

These are the types of Public Cloud : ? Infrastructure as a Service ? Platform as a Service ? Software as a Service ? Storage as a Service ? Security as a Service

? Data as a Service ? Test environment as a Service ? Desktop as a Service ? API as a Service III. PRIVATE CLOUD

Private cloud is cloud infrastructure operated solely for a single organization, whether managed internally or by a third-party and hosted internally or externally. Undertaking a private cloud project requires a significant level and degree of engagement to virtualize the business environment, and it will require the organization to reevaluate decisions about existing resources. When it is done right, it can have a positive impact on a business, but every one of the steps in the project raises security issues that must be addressed in order to avoid serious vulnerabilities.

IV. DESIGN AND DEVELOPMENT

We have developed a system that automatically provisions and configures virtual clusters in the cloud. The system allows users to send a simple XML description of the desired virtual cluster to a web service, which manages the provisioning of virtual machines and the deployment of software and services. Unlike similar solutions [3] it is capable of interfacing with many different cloud resource providers. Currently the system supports Amazon EC2 (aws.amazon.com), Eucalyptus (eucalyptus.com), and OpenNebula (opennebula.org). We plan on adding additional interfaces in the future.

Virtual clusters are specified using a custom XML format. The XML format describes virtual clusters as a collection of several nodes, which correspond to virtual machines. Each node has a provider that specifies the cloud resource provider to provision the node from, and defines the characteristics of the virtual machine to be provisioned, such as the VM image to use and the hardware resource type (CPU, memory, disk, etc.). Each node can have multiple roles, which describe the functions that will be performed by the node. Each role is associated with a script, called the role script, which will be executed on the node to configure it for that role. Roles can be customized using parameters, which are passed to the role script when it is executed on the node. Role scripts can be any executable file, but are typically shell, Python or Perl scripts. Users can write their own scripts to implement a custom role.

The architecture is shown in Fig 1. The components of the system include:

A. Client

The client is a command-line program and API that sends requests to the coordinator to create new clusters, list active clusters, terminate clusters, and retrieve detailed cluster status. Any role scripts required by a new cluster are sent by the client to the coordinator, where they can be distributed to the nodes in the cluster. This makes it easy for users to define new roles without creating a new VM image.

B. Coordinator

The coordinator is a service that manages the provisioning of virtual machines from cloud resource providers, assigns roles to virtual machines, and acts as an information broker for all virtual clusters. The coordinator collects information about each VM from the agent, and uses that information to direct the configuration of the virtual cluster.

Fig 1: System Architecture

C. Agent

An agent runs on each of the provisioned virtual machines to manage their configuration and monitor their health. Agents have provider-specific adapters that they use to collect information about the VM, such as the IP address, host name, and other dynamic data, which is sent to the coordinator. Upon receiving information from the coordinator about the VM�s roles, the agent retrieves the appropriate role scripts and invokes them to configure the VM.

V. EVALUATION

In this section, we present the experiments aimed at evaluating the proposed virtual machine provisioning on cloud. KVM (Kernel based Virtual Machine) was used to model the Cloud environment. This model is composed of one server machine with maximum of resources required by the private organization. This model also contains one portal generating multiple requests representing several users. The new VMs are created and provided on the portal from where users can access those VMs with their own credentials and can deploy it on his/her own machine.

In this model we are trying to handle multiple client requests depending upon the requirement of resources and availability of resources. Also the virtual clusters will be provided depending upon the time duration.

These experiments show that the overhead of system is not significant. System adds only a small overhead to the provisioning time of the underlying cloud platform. This overhead is primarily a result of the fact that Wrangler waits for all N nodes to start before configuring the cluster, and the fact that the provisioning time of the nodes varies by some

amount. In this case, the overhead is primarily due to the amount of time required to export and mount the NFS file system.

VI. CONCLUSION

In this paper we presented the design of a system that automatically provisions and configures virtual clusters in the cloud. We have shown how this system can be used to deploy virtual clusters for running various applications in the cloud, and presented a simple performance evaluation that shows that the system adds only a small overhead to the provisioning time.

In the future we plan to investigate solutions for automatically detecting and responding to virtual machine failures, for managing dependencies between nodes in complex virtual cluster configurations, and for dynamically changing the size of a virtual cluster in response to changes in the resource requirements of an application.

VII. REFERENCES

[1] J.S. Chase, et. al., �Dynamic virtual clusters in a grid site manager,� Proceedings of the 12th IEEE International Symposium on High Performance Distributed Computing (HPDC03), 2003, pp. 90-100

[2] E. Deelman, et. al., �Pegasus: A framework for mapping complex scientific workflows onto distributed systems,� Scientific Programming, vol. 13, 2005, pp. 219-237.

[3] K. Keahey and T. Freeman, �Contextualization: Providing One-Click Virtual Clusters,� 4th International Conference on eScience (eScience '08), 2008

[4] G.Juve and Ewa D., "Wrangler:Virtual Cluster Provisioning for Cloud",USC Information Sciences Institute Marina del Rey, CA 90292 USA.

[5] Dr.G.R.Karpagam1, J.Parkavi2, "Setting up of an Open Source based Private Cloud", IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, No. 1, May 2011 ISSN (Online): 1694-0814.

[6] Rodrigo N. Calheiros_, Rajiv Ranjany, and Rajkumar Buyya, �Virtual Machine Provisioning Based on Analytical Performance and QoS in Cloud Computing Environment� Cloud Computing and Distributed Systems (CLOUDS) Laboratory, The University of Melbourne,Australia.

[7] http://help.ubuntu.com/community/KVM/Installation



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now