Automated Scaling of Cluster Using Deployment Diagrams in Platform-As-A- Service



Similar documents
How To Compare Cloud Computing To Cloud Platforms And Cloud Computing

Cloud Computing. Course: Designing and Implementing Service Oriented Business Processes

CHAPTER 8 CLOUD COMPUTING

Full Length Research Article

Analysis of Service Broker Policies in Cloud Analyst Framework

Cloud Computing Architecture: A Survey

Reallocation and Allocation of Virtual Machines in Cloud Computing Manan D. Shah a, *, Harshad B. Prajapati b

Infrastructure as a Service (IaaS)

Introduction to Cloud Computing

A Study on Analysis and Implementation of a Cloud Computing Framework for Multimedia Convergence Services


Cloud Computing: The Next Computing Paradigm

Cloud computing: the state of the art and challenges. Jānis Kampars Riga Technical University

Cloud Computing Services and its Application

Tamanna Roy Rayat & Bahra Institute of Engineering & Technology, Punjab, India talk2tamanna@gmail.com

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS

Method of Fault Detection in Cloud Computing Systems

IBM EXAM QUESTIONS & ANSWERS

Fundamental Concepts and Models

Evaluation Methodology of Converged Cloud Environments

Keywords Distributed Computing, On Demand Resources, Cloud Computing, Virtualization, Server Consolidation, Load Balancing

A Load Balancing Model Based on Cloud Partitioning for the Public Cloud

Cloud Computing. Adam Barker

Cutting Through the Hype: Straight Talk About the Mainframe and Cloud Computing. Straight talk on cloud computing

An Introduction to Private Cloud

CLOUD COMPUTING IN HIGHER EDUCATION

Why Private Cloud? Nenad BUNCIC VPSI 29-JUNE-2015 EPFL, SI-EXHEB

Introduction to grid technologies, parallel and cloud computing. Alaa Osama Allam Saida Saad Mohamed Mohamed Ibrahim Gaber

Cloud computing - Architecting in the cloud

A Study on Service Oriented Network Virtualization convergence of Cloud Computing

White Paper on CLOUD COMPUTING

Cloud Computing Utility and Applications

Oracle Applications and Cloud Computing - Future Direction

Architectural Implications of Cloud Computing

Performance Management for Cloudbased STC 2012

Li Sheng. Nowadays, with the booming development of network-based computing, more and more

An Architecture Model of Sensor Information System Based on Cloud Computing

EVALUATING PAAS SCALABILITY AND IMPROVING PERFORMANCE USING SCALABILITY IMPROVEMENT SYSTEMS

Permanent Link:

International Journal of Engineering Research & Management Technology

A Study on the Cloud Computing Architecture, Service Models, Applications and Challenging Issues

Marco Mantegazza WebSphere Client Technical Professional Team IBM Software Group. Virtualization and Cloud

Keywords Cloud Environment, Cloud Testing, Software Testing

Auto-Scaling Model for Cloud Computing System

CLOUD COMPUTING. When It's smarter to rent than to buy

A STUDY ON CLOUD STORAGE

Cloud Models and Platforms

Key Research Challenges in Cloud Computing

Essential Characteristics of Cloud Computing: On-Demand Self-Service Rapid Elasticity Location Independence Resource Pooling Measured Service

The NIST Definition of Cloud Computing (Draft)

Planning, Provisioning and Deploying Enterprise Clouds with Oracle Enterprise Manager 12c Kevin Patterson, Principal Sales Consultant, Enterprise

Cloud Computing Submitted By : Fahim Ilyas ( ) Submitted To : Martin Johnson Submitted On: 31 st May, 2009

A Survey Paper: Cloud Computing and Virtual Machine Migration

AN IMPLEMENTATION OF E- LEARNING SYSTEM IN PRIVATE CLOUD

Contents. What is Cloud Computing? Why Cloud computing? Cloud Anatomy Cloud computing technology Cloud computing products and market

Why Use OPTIMIS? Build and Run Services in the Most Suitable Cloud Venues. May 2013

Sistemi Operativi e Reti. Cloud Computing

Session 3. the Cloud Stack, SaaS, PaaS, IaaS

Cloud Computing Technology

A Survey on Cloud Computing

The NIST Definition of Cloud Computing

Grid Computing Vs. Cloud Computing

Configuring and Managing a Private Cloud with Enterprise Manager 12c

Service Oriented Cloud Computing Architectures. Asher Vitek 12/3/2011 UMM CSci Senior Seminar Conference Morris, MN.

CLOUD COMPUTING. Keywords: Cloud Computing, Data Centers, Utility Computing, Virtualization, IAAS, PAAS, SAAS.

Security Model for VM in Cloud

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

INTRODUCTION TO CLOUD MANAGEMENT

Cloud Computing and Attacks

Topic : Cloud Computing Architecture. Presented by 侯 柏 丞. 朱 信 昱

Group Based Load Balancing Algorithm in Cloud Computing Virtualization

How To Understand Cloud Computing

Cloud Computing Service Models, Types of Clouds and their Architectures, Challenges.

Introduction to Cloud Computing

21/09/11. Introduction to Cloud Computing. First: do not be scared! Request for contributors. ToDO list. Revision history

Cloud Computing. Karan Saxena * & Kritika Agarwal**

A Study of Infrastructure Clouds

CLOUD COMPUTING. A Primer

Cloud Infrastructure Pattern

Security Considerations for Public Mobile Cloud Computing

Chapter 2: Transparent Computing and Cloud Computing. Contents of the lecture

A Gentle Introduction to Cloud Computing

<Insert Picture Here> Enterprise Cloud Computing: What, Why and How

International Journal of Computer & Organization Trends Volume21 Number1 June 2015 A Study on Load Balancing in Cloud Computing

Multilevel Communication Aware Approach for Load Balancing

LOAD BALANCING IN CLOUD COMPUTING USING PARTITIONING METHOD

Running Oracle Applications on AWS

IS PRIVATE CLOUD A UNICORN?

Fig. 1 A model of cloud computing

This presentation provides an overview of the architecture of the IBM Workload Deployer product.

FEDERATED CLOUD: A DEVELOPMENT IN CLOUD COMPUTING AND A SOLUTION TO EDUCATIONAL NEEDS

Deploying a Geospatial Cloud

Tutorial on Client-Server Architecture

Cloud Computing and Standards

Transcription:

Automated Scaling of Cluster Using Deployment Diagrams in Platform-As-A- Service Sudhir S. Kanade*, Pushkaraj B. Thorat HOD, Department of ENTC, COE, Osmanabad, India ME, Department of Computer, COE, Osmanabad, India ABSTRACT: Cloud computing is delivery of computational power in the form of service. In here software, computational resources and data are shared to computers and other devices as a metered service over the network. Platform-as-a-Service is a one of the cloud based approach that provides managed middleware, isolating user from managing resources and platform. In this paper we propose a system which uses Deployment Diagrams to manage applications and its whole cluster including middleware. Here we emphasis on its capablity to add/remove resources to the cluster, i.e. when demand is increased new nodes are created and plugged into the cluster depending on the deployment diagram grammar, and when the demand is lessen the resources are claimed and returned to the free pool. KEYWORDS: cloud; IaaS; PaaS; SaaS; High availability cluster; Scalability I. INTRODUCTION Cloud computing is delivery of computational power in the form of service. Upon request the resources are allocated to the requesting entity from the shared pool and when the work is done they are relinquished and the system further adds it back to resource pool. Here resources such as network, storage, server in form of compute, applications complying SOA, and services that can be frequently provisioned and released with less management effort or less interaction of service provider [1]. The level at which the computational services are delivered further classifies it into: 1. Software as a Service (SaaS). The capability provided to the consumer is to use the provider applications running on a cloud infrastructure. Various client devices can access the application from various client devices through either a thin client interface from a web browser or through a program interface. 2. Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure created or acquired applications created using programming language, services, libraries and tools supported by the provider. 3. Infrastructure as a Service (IaaS). Infrastructure as a Service (IaaS), provides bare hardware as a service. It contains abstracts hardware entities like CPUs (power & cores), memory, network, storage exported via block and file, network bandwidth and connectivity. This form of service is rudimentary and primitive, this acts as foundation for PaaS and SaaS layers, which provides a flexible, usable and standard form of computing resource. Because of flexibility of handling resources in cloud computing environment, application deployed on it has lot of advantages, important for us in this paper is - High Availability and Scalability[2]. The capability of cloud enabled application could be increased quickly to address the bullish user base, and same could be returned to the resource pool when the need is relinquished. In this discussion we are highlighting scale-in/out type of scalability under discussion. But the same concept could be applied to scale-up/down behaviour of sclability too. High-availability and scalability has to honour the rules of cluster on which the application is deployed. To capture the grammar of cluster we use Deployment Diagrams. Our proposed implementation uses PaaS service model and deployment diagrams to capture the HA cluster grammar and aims to address all the five essential characteristics of Copyright to IJIRCCE www.ijircce.com 7342

cloud namely - On demand self services, Broad network access, Resource pooling, Rapid elasticity, Measured service, Multi Tenacity[2]. In this paper could be implemented for all types of cloud deployment includes but not limited to Private, Public, Community and Hybrid Cloud. II. RELATED WORK Scalability is one of the key benefits of using cloud computing. Scalability is the ability of the system to cope up with the increase loads by adding resources and/or nodes while the cluster is active and running, without disrupting the active and ongoing active transactions. Depending on business demands cluster can be easily up scaled or downscaled. For example, Movie ticket booking applications are heavily used on weekends and holidays and not used working days, in such less usage time the servers can be returned back to resource pool and given to organizations in other time zones, or having heavy usage and in same time zone can use them. When business needs are changed then cloud service providers can increase existing resources without any need of expensive changes existing IT systems[3][4]. There are two types of scaling: Horizontal scaling and Vertical scaling. Horizontal scaling is used when it is not possible to change one resource type to other. If IaaS layer is unable to scale up a virtual machine at runtime due to host machine resource limitations or not supported by hyper-visor, PaaS has to choose Horizontal scaling viz scale out and scale in such cases. In which nodes(i.e. servers) are added(scale out) or removed(scale in) to the system as per requirement with less processor and RAM. In vertical scaling we add/remove(scale up/down) resources(processor and memory) in the system. It is easy to implement but more costly than vertical scaling. Modern day applications requires support from middleware like database, web servers etc. To deploy and scale up/down, application at runtime we need to manage runtime deployment of middleware, initializing it and adding the server to the application cluster. Lack of such framework makes the legacy applications to fail to get deployed over cloud environment. Similar work for Service Oriented Architecture (SOA) for deploying SOA based solutions on PaaS and presented by Bao Rong [3]. But here we are collaborating the Deployment model and scaling out / in of platform for generic cluster applications. One more approach is proposed which provide high availability and high scalability for the enterprise resource planning. The WebSphere cloudburst is solution provided by the IBM for resource monitoring, designed to speed creation and deployment of application to cloud and virtual environment. This solution does not take the load on the individual server into account to scaling out/scaling in the cluster. Solution proposed here has the capability so that virtual nodes in the cluster can report back the health and load the system is going through, hence can be used for automated cluster deployment. III. PROPOSED SYSTEM OF AUTOMATED SCALABILITY OF CLUSTER USING DEPLOYMENT DIAGRAMS (ASCDD) In our proposed system provide framework for automated and on-demand scaling with event driven mechanism. Virtual node on the cluster report back regarding its health and load to the monitoring server. When load at the virtual node increases then the agent present at each node report back to the monitoring server about it, which then scale out the component of particular role. Similarly, if load at virtual node decreases then the agent present at each node report back to the monitoring server about it, so that it then scale in the component of particular role. Deployment diagram and scripts are fed to management server for configuration. Copyright to IJIRCCE www.ijircce.com 7343

The system will contain following parts: 1. Deployment engine (DE) 2. Web UI 3. Monitoring/Managing framework(mmf) Fig. 1 Architecture of ASCCD (a) Monitoring agents Deployment Engine (DE) is responsible for installing virtual machines images, getting them into network, installing monitoring agents, installing middle ware followed by configuring them. DE is not a self driven entity but it will be managed by MMF. Monitoring and Managing Framework (MMF) reads topology file of deployment diagrams and create a base platform definition, this definition can be modified later through WEB UI. This platform definition will consist following information. 1. Architecture of a Platform including multiplicity of middleware and VM specifications. 2. Rules Architecture of a Platform, defines, architecture required by application to run and Rules, to when to deploy an application and when to destroy it. MMF will take help of plug-in related to different middleware for deploying / managing / destroying them. Web UI will provide overall management of fabric, consisting: i. Creating/Updating topology file. ii. Testing topology file. iii. Deploying a middleware platform. iv. Getting status/health of platform. Below proposed algorithm could be used for adding a node in a cluster: addnode(role, isfreshdeploymentrole=false): IPAddress = getnextfreeipaddress() host = getpreferredhost(role) scriptpath = composeroledeployfile(role, host, IPAddress) copy script file to host machine execute script from host machine Copyright to IJIRCCE www.ijircce.com 7344

until (vm is started) sleep(1); copy and execute role configure script to vm. if isfreshdeploymentrole: for roledep depending on role for avirtualmachine of roledep Notify avirtualmachine that new node is added else: for all roles depending on role 'role' for avirtualmachine of roledep Notify avirtualmachine that new node is added Below algorithm was used for removing the node from cluster: removemachine(clustervm): for roledep dependent in clustervm.rolename: for avirtualmachine of role roledep.rolename: Notify avirtualmachine that clustervm is being removed unconfigure avirtualmachine stop middleware on avirtualmachine In the test environment we experimented on the above system and found that the architecture is linear capable of monitoring and delivering nodes in the cluster as per the load varies. IV. EXPERIMENTAL RESULTS In our lab we experimented on the above system and found that the architecture is capable of monitoring and delivering nodes in the cluster as per the load varies. We could inject a node of a role in a cluster with around 1 node/min.the results are very astounding thought there is plenty of room for improvement. Below are the operations which were experimented: 1. Increasing load on cluster 2. Decreasing load on cluster Increasing load on cluster When the load on system is increased with rate of 1000 requests/min, when per node capability of serving 100 requests we could scale up in O(n) linear scalability. Decreasing load on cluster When the load on system is decreased with rate of 1000 requests/min, when per node capability of serving 100 requests we could scale down in O(1) constant time. V. CONCLUSIONS This paper introduces the platform that provides an effective way to share resources on cloud and automated and ondemand scalability with event driven management. The resulting system could be more durable to load and stress over the resources, without need of manual intervention. The algorithms could be improved further to analyze the patterns when the system is under load and take corrective action before hand. Copyright to IJIRCCE www.ijircce.com 7345

REFERENCES [1] Hailong Sun, Xu Wang, Minzhi Yan, Yu Tang, Xudong Liu Towards a Scalable PaaS for Service Oriented Software, 2013 IEEE International Conference on Parallel and Distributed Systems [2] P. Mell and T. Grance, The NIST Definition of Cloud Computing, National Institute of Standards and Technology, U. S. Department of Commerce, 2011. [3] Bao Rong Chang, Hsiu-Fen Tsai, Ju-Chun Cheng, Yun-Che Tsai High Availability and High Scalability to in-cloud Enterprise Resource Planning System, Intelligent Data analysis and its Applications, Volume II Advances in Intelligent Systems and Computing Volume 298, 2014. [4] Bin Claudio A. Ardagna, Ernesto Damiani, Fulvio Frati, Davide Rebeccani, Scalability Patterns for Platform-as-a-Service, 2012 IEEE Fifth International Conference on Cloud Computing. [5] X. Suo, Y. Zhu, and G. S. Owen, CLOUD RESOURCE PROVISIONING AND BURSTING APPROACHES, 2013 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing. [6] ZENG Shu-Qing The Improvement of PaaS Platform 2010 First International Conference on Networking and Distributed Computing [7] Srijith K. Nair, Sakshi Porwal, Theo Dimitrakos, Ana Juan Ferrer, Johan Tordsson, Tabassum [8] Sharif, Craig Sheridan, Muttukrishnan Rajarajan and Afnan Ullah Khan., Towards Secure Cloud Bursting, Brokerage and Aggregation, 2010 Eighth IEEE European Conference on Web Services [9] Nishant Agnihotri1,Aman Kumar Sharma EVALUATING PAAS SCALABILITY AND IMPROVING PERFORMANCE USING SCALABILITY IMPROVEMENT SYSTEMS, IJRET: International Journal of Research in Engineering and Technology eissn: 2319-1163 I. Llorente, OpenNebula Project. http://www.opennebula.org/ [10] Amazon Elastic Compute Cloud (EC2), http://www.amazon.com/ec2/ Google App Engine, http://appengine.google.com [11] Sun network.com (Sun Grid), http://www.network.com [12] The NIST Definition of Cloud Computing http://csrc.nist.gov/publications/nistpubs/800-145/sp800.pdf [13] Where are we at with Cloud Computing?: A Descriptive Literature Review Yang, Tate http://www.infotech.monash.edu.au/about/news/conferences/acis09/proceedings/pdf/079.pdf [14] Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities http://arxiv.org/ftp/arxiv/papers/0808/0808.3558.pdf Copyright to IJIRCCE www.ijircce.com 7346