[Critical Evaluation on Multitenant Architectures in Enterprise Level SaaS Applications]
By
Abstract
Recently, considerable attention has been recieved by cloud computing because it is a novel infrastructure of computing ofr enabling swift delivery of computing resources as a utility in a scalable, dynamic, and visualized manner. Software as a Service (SaaS) provide a now paradigm in cloud computing, which goal is to provide an effective and intelligent way to support end users' on-demand requirements to computing resources, including maturity levels of customizable, multi-tenancy and scalability. To meet requirements of on-demand, my thesis discusses several critical research problems and proposed solutions using real application scenarios:
Service providers receive multiple requests from customers, how to prioritize those service requests to maximize the business values is one of the most important issues in cloud. An innovative prioritization model is proposed, which uses different types of information, including customer, service, environment and work flow information to optimize the performance of the system. To provide “on-demand” services, an accurate demand prediction and provision become critical for the successful of the cloud computing. An effective demand prediction model is proposed, and applied to a real mortgage application.
As a summary, this thesis discusses the most important research problems in cloud computing, towards effective and intelligent SaaS. The research in this thesis is critical to the development of cloud computing and provides fundamental solutions to those problems.
Table of Contents
ABSTRACTII
CHAPTER 2: LITERATURE REVIEW (CONT.)1
Background of Cloud Computing1
CHAPTER 5: SYSTEM DESIGN9
Theory Research about Multi-Tenant Application System10
Related Work17
Proposed Architecture18
Databases19
Preallocated Field23
Web Service Interface24
Application logic flow25
Application Pooling26
Proposed Solution Architecture27
From A Single Business Model To Dynamic Subscription Model30
From Web applications to SaaS applications32
CHAPTER 6: SYSTEM PROTOTYPE IMPLEMENTATION35
Multi-Level Customization Strategy38
Logical View of Multi-Level Customization39
Data Storage Architecture40
Data Storage General Architecture41
Common Mapping Schemas42
Extension Tables43
Sparse Columns43
Performance Optimization45
Gap and Requirements Analysis Of Multi-Tenant Database47
Low Cost47
Isolation of Security48
Flexibility49
Availability and Scalability51
Framework Architecture of Multi-tenant Database51
Components of Multi-tenant Database Framework52
Multi-Tenant Database Enablement Technology53
Large Scale Scalability55
Performance Optimization56
Chapter 2: Literature Review (Cont.)
Background of Cloud Computing
The term cloud principally refers to the storage of the data of a user to a storage system (offsite), which a third party maintains. This implies that rather that storing information on the computer hard disk of the user or different devices for storage, clients would store it in a remote database for which the internet offers the link amid the remote database and that user's computer. Within the cloud the computers are placed together for working simultaneously and the numerous applications utilize the mutual computing power as if they are operating on a cloud utilizing the virtualization concept. Customers, within this model, plug into the cloud for accessing resources of information technology that are offered and priced on-demand. Fundamentally, resources of information technology are shared and rented amongst numerous tenants such as storage spaces, office space and apartments are utilized by tenants. Conveyed over a connection of the internet, the server or data center of the company is eliminated by the cloud. Services of cloud computing like Google App Engine and Amazon EC2 are crafted for taking benefit from their respective company's ...