Article Preview
Top1. Introduction
In recent years, we have witnessed the evolution of research on Utility Computing, Grid Computing, virtualization technology, SaaS (Wikipedia, n.d.), next generation Web technologies, and Services Computing that all together have yield a new research area named Cloud Computing (Wikipedia, n.d.). Cloud Computing promises to provide easy to use service oriented user experience to allow massive end users to use IT resources and IT applications as services without on-premise installing the IT infrastructures.
A technical definition of Cloud Computing is “a computing capability that provides an abstraction between the computing resource and its underlying technical architecture (e.g., servers, storage, networks), enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction.” This definition states that Clouds have five essential characteristics: on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service.
This definition by default assumes the Cloud services as Infrastructure as a Service (IaaS). IaaS could be very successful in development and testing environment, because those public Cloud offering cheap and instant infrastructure services could ease the reach to IT resources. Amazon EC2 (Amazon Web Services, n.d.) is a well-known and typical public Cloud offering. On the other side, through two years practices in the Cloud market, we have observed that customers in different geographies typically have different market requirements of using Cloud services. For example, in the emerging market there are strong needs of e-commerce, accounting and ERP applications for small and medium business (SMB), so these SMBs can save investment on IT infrastructure and spend a bigger budget on their direct business operations such as marketing and businesses development. With this intent, SaaS is often their first resort. Today, some business applications and software have been developed to a stage that most of the functions are good enough to most of the customers. The ultimate goal of SaaS is to provide software to those segmentations of customers with flexible deployment (without on-premise installation) and pricing model (usually by paying monthly or annually subscription fee). However, SaaS has different maturity levels with varying capabilities and cost structures (Chong & Carraro, 2006). In its basic levels (Level 1/2), lower layer IT infrastructure resources are shared. In Level 3/4, multi-tenancy is the core feature with single instance of application serving multiple customers (tenants) to achieve the minimum operational cost, and maximize the revenue of the SaaS operator.