A Scaffold For Performance Enhancement in Multitenant'S Applications For Geographical Data Centres in Private Cloud
A Scaffold For Performance Enhancement in Multitenant'S Applications For Geographical Data Centres in Private Cloud
A Scaffold For Performance Enhancement in Multitenant'S Applications For Geographical Data Centres in Private Cloud
Web Site: www.ijaiem.org Email: [email protected], [email protected] Volume 2, Issue 12, December 2013 ISSN 2319 - 4847
A SCAFFOLD for PERFORMANCE ENHANCEMENT in MULTITENANTS APPLICATIONS for GEOGRAPHICAL DATA CENTRES in PRIVATE CLOUD
D.S. Chauhan1 Manjeet Gupta2
1
Abstract
The aptitude to balance a web application or website is coupled directly to understanding where the resource constraints lie and what force the addition of various possessions has on the application. Unfortunately, architects more often than not assume that simply adding another server into the mix can fix any performance problem and security issues for Multi Tenant's Applications for Data Centres in a Private Cloud. When you start adding new hardware/update existing hardware in a web cloud, the complexity starts increasing which affects performance and hence security also for Multi Tenant's Applications. While priced cloud computing services save pains to maintain the computational environment, there are several drawbacks such as visual projection of virtual machines, possibility to share one physical machine with several virtual machines, and indeterminacy of topological allocation of their own virtual machines. Multi-tenancy is one of key characteristics of the service oriented computing especially for Software as a Service (SaaS) to power economy of scale to drive down total cost of ownership for both service consumer and provider. This paper aims to study the technologies to build a cost-effective, secure and scalable multi-tenant infrastructure and how to improve the security and enhance its performance for Multi Tenant's Applications for Data Centres in a Private Cloud. This paper also identifies the potential performance bottlenecks, summarizes corresponding optimization approaches and best implementation practices for different multi-tenant business usage models for Data Centres in a Private Cloud.
Keywords Cloud Computing, Cloud Platform, Cloud Security, Performance Evaluation, Multi-tenant
I. INTRODUCTION
Recent progress of engineering has cut down costs of computers and network, and this change gave a huge impact on high performance computing environment. Grid computing and cloud computing, which are computer environments consisted of commodity computers and commodity network devices, are grabbing peoples attention rapidly. Grid computing and cloud computing are now recognized as a convenient source that allows users to bring out computational power as much as they need, whenever they want. Cloud computing service such as Amazon EC2 seems to bring a gigantic supercomputer by our side, however, is it really reasonable to utilize the paid service as research environment for everyday activities. In case the priced cloud computing service replaces supercomputers, what could be obstacles for transition? First question would be which is more cost-effective to purchase a supercomputer and use it for a couple of years, or to rent computational nodes as you go. Second question would be how fast and secure their applications run on the commercial computational cloud. Virtualization technology has been developed, and it is quite common to build a cloud computing environment as a flock of virtual machines. This methodology has pros and cons[2]. One of pros for users is that computational environment looks homogeneous; therefore, users will never be bothered with heterogeneous hardware or software environment i.e. Multi Tenant's Applications. Cons for users are, for example, overhead of virtual machines, possibility to share one physical machine with several virtual machines, and indeterminacy of topological allocation of their own virtual machines. Companies of various sizes have outsourced their business applications to third party service providers through Software as a Service (SaaS) [4][8] deals supported by service oriented computing architecture. Such outsourcing deals span a fairly wide range of applications to support business operations. The typical ones include payroll, call centre, procurement, finance and accounting, human resource management etc. SaaS providers usually develop or acquire SaaS applications and host them as services to serve specific needs of their clients by leveraging service oriented computing technologies [2][3]. One of the key characteristics of the SaaS application is Multi-tenancy. By leveraging Multitenancy, SaaS providers can significantly ease operations and reduce delivery cost for a big number of tenants. As illustrated in Figure 1, in a multi-tenant enabled service environment, user requests from different organizations and companies (tenants) are served concurrently by one or more hosted application instances and databases based on a scalable, shared hardware and software infrastructure.
Page 93
Fig. 1 A Multi Tenant Enabled Service environment Multi-tenant infrastructure should take care the following key aspects: 1. Resource Isolation: Separate the resources allocation and usage among tenants; 2. Security: Prevent invalid resources access and potential malicious attack; 3. Customization: Support tenant-specific features or Service Level Agreement(SLA) through configurations; 4. Scalability: Scale the SaaS applications delivery infrastructure to support growing number of tenants with well managed cost increase, performance and availability guarantee; To make the service offerings more profitable and more attractive to those clients with very limited IT investment budget, e.g. Small and Medium Business (SMB), the average cost of the service for each tenant should be kept as low as possible. There are mainly three kinds of service cost: 1. Infrastructure cost: It includes the hardware, software and utilization costs. Generally, for a given system, the total throughput can be used to measure the maximal tenant number the system can support with an acceptable SLA. 2. Management cost: The tenant related operational management processes and activities, e.g. lifecycle management, monitoring, data backup and restore etc. 3. Application development cost: To satisfy each customer, additional development might be involved to address its unique requirements. There is always a tradeoff between customer satisfaction improvement and development cost management. Although a typical SaaS application is composed of application instance (e.g. user interface, business logic, process etc.) and database, this paper mainly focuses on data tier multi-tenancy study. As illustrated in Figure 2, we first explore all kinds of potential implementation patterns of data tier multi-tenancy from the aspects of isolation, security, customization and scalability etc. Generally, the cost of these patterns should be studied from the infrastructure, management and development aspects by using different kinds of measurement metrics. This paper only focuses on the performance evaluation via a set of simulations, and identifies potential performance bottlenecks, corresponding optimization approaches and best implementation practices for different multitenant business usage models.
Page 94
Fig. 3 Isolate vs. Share data Environment To be noted, in the 3rd pattern, records of all tenants are stored in a single shared table sets mixed in any order, in which a tenant ID column is inserted in each table to associate the data records with the corresponding tenants. B. Security Patterns This section focuses on the data security isolation among tenants, which is also described as preventing a user from getting the privileges to access data belonging to other tenants. It aims to safeguard the security of each tenant at comparable security levels as those of the traditional single-tenant system. In general, there are two patterns to realize the data security mechanisms as illustrated in Figure 4. a) Filter-based pattern in application level: Through adding the application level filter into each user request of tenant, a tenants data can be ensured to be accessed only by the tenant its self. For dedicate database or dedicate table/schema
Page 95
Fig. 4 Filter vs. Permission based Security Data Access b) Permission-based pattern in DBMS level: Each tenant is assigned a dedicated DB access account and connection which only has privileges to access its own resources (e.g. the dedicated database or tables/schema in 1st & 2nd isolation patterns). While for 3rd isolation pattern, we can leverage the row level access control mechanism provided by DBMS, e.g. the label based access control (LBAC) feature. In this way, we can completely prevent potential SQL injection attack. c) Customization Patterns: In data customization aspect, there are also various flexibility degrees for a multi-tenant application that ranges from complex schema customization to simple field extension. Obviously, for the dedicated database or table/schema isolation patterns for Multi Tenant's Applications , this is not an issue since the tenants have their separated schemas. The changes of the data model of one tenant can be made directly to its specific database/tables without impact to other tenants and its performance also. However, for the share table/schema isolation pattern, because of the sharing of schema, it can only support data field extension, which flexibility degree is usually measured by the maximal number of extension fields. The main implementation patterns along this spectrum are illustrated in Figure 5:
Page 96
Page 97
V. SERVICE MODELS
Cloud Software as a Service (SaaS). The capability provided to the consumer is to use the providers for Multi Tenant applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings. Cloud Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations. Cloud Infrastructure as a Service (IaaS). The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run random software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
Page 98
X. FUTURE WORK
In this paper, we explored many kinds of typical multi-tenant data tier implementation patterns on aspects of isolation, security, customization and scalability. We also evaluate performance of these patterns through a series of experiments, and summarize a set of valuable conclusion and best practices on how to design an effective multi-tenant data model. This work can help the service provider and multi-tenancy application developer. We have already applied parts of the study results into the design and implementation of a real multitenant application. The hands-on experiences will help us to touch more research topics on performance optimization and scalability aspects in data tier, such as tenant behavior awareness load balancing in distributed database cluster environment. Another goal of our research is to explore technologies to transform traditional DBMS to be more suitable for multi-tenant environments [7]. We will start from the open source database server (like mySQL [8], Derby [9] etc), and refine its engine, query optimizer, data model organization structure etc. We believe that a new kind of DBMS with native multi-tenancy design will emerge to support both SaaS applications developers and service providers. For those deploying software out in the Cloud, scalability is a major issue. 1. The need to marshal resources in such a way that a program continues running smoothly even as the number of users grows. 2. It is not just that servers must respond to hundreds or thousands of requests per second. 3. The system must also coordinate information coming from multiple sources fast, not all of which are under the control, of the same organization. With these equations there is a possibility that the security can be breached, but the performance will be increased according to our scenario when the number of users are increased. In future we want to design a protocol which will be more secure and the performance of the cloud will increase.
REFERENCES
[1] Chun-Feng Liao,Kung Chen and Jiu-Jye Chen ,Toward a Tenant-aware Query Rewriting Engine for Universal Table Schema-Mapping in Proc. IEEE 4th International Conference on Cloud Computing Technology and Science,2012. [2] inung Suakanto, Suhono H Supangkat, Suhardi, Roberd Saragih ,Performance Measurement of Cloud Computing Services Published in International Journal on Cloud Computing Services and Architecture 2012. [3] Zheng Li, O'Brien, He Zhang, Cai, A factor framework for experimental design for performance evaluation of commercial cloud services in Proc IEEE International Conference on Cloud Computing Technology and Science(CloudCom) 2012. [4] Alexandru Iosup, Simon Ostermann, Nezih Yigitbasi, Radu Prodan, Thomas Fahringer, Performance Analysis of Cloud Computing Services for Many-Tasks Scientific Computing in Proc IEEE Transactions on Parallel and Distributed Systems 2011. [5] Trieu C. Chieu, Ajay Mohindra, and Alexei A. Karve ,Scalability and Performance of Web Applications in a Compute Cloud in Proc. IEEE International Conference on e-Business Engineering 2011.
Page 99
Page 100