Article Preview
TopIntroduction
Computing technologies are continuously evolving, resulting changes in hardware technologies, software systems and business processes. Evolution of hardware technology passes through mainframe systems to personal computers, and mobile devices. Most recently virtualization allows hosting multiple systems within the same IT infrastructure. Changes in software technology followed a similar trajectory it started with batch oriented mainframe applications and moved through client server models to highly distributed service oriented architectures (SOA) and web services. Whereas business processes changes from highly focused centralized back office support systems to widely distributed and collaborative business operations. The pervasive computing paradigm has recently resulted from these technology evaluations and where cloud computing is the essence of that paradigm. Cloud Computing has evolved as a key computing paradigm which enables elasticity of resources that include infrastructures, middleware and applications. Where cloud architecture can be defined as architecture of the system which is responsible for the delivery of the cloud services. This allows access to large amount of computing power in a fully virtualized manner, by aggregating resources and offering a single system view.
NIST (2011) defines cloud computing as a model for enabling ubiquitous, 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. The cloud model is composed of three service models which are Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). IaaS offers infrastructure services like network, servers, storage etc. In PaaS model programming platforms and tools are offered as a service. When the applications are delivered as a service it is known as SaaS. Through SaaS model, users get their applications as on-demand basis over the internet. The most important feature of SaaS is dynamic provisioning of resources in response to changing requests. SaaS technology evaluated from completely isolated applications for each user like Application Service Provider (ASP) to the totally shared applications (Gold et al., 2004). One of the key benefits of SaaS is the ability to deliver the technology needs of a business as-a-service.
Software as a service is a service delivery model over the cloud. Besides several advantages cloud computing also offers some serious challenges which must be handled efficiently in order to establish SaaS as an effective service delivery model. The challenges that SaaS brings is not like “new technology brings new problems”, but that it offers new spins on the problems that already exists. These challenges can be categorized into Business challenges, Operational Challenges and Technical Challenges. Business challenge includes revenue model, payments, market, customer stickiness and business models on SaaS. In Operational domain service level agreement (SLA), trust and quality of services are major concerns to be resolved.