Performability Evaluation of Web-Based Services

Performability Evaluation of Web-Based Services

Magnos Martinello, Mohamed Kaâniche, Karama Kanoun
DOI: 10.4018/978-1-60960-794-4.ch011
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

The joint evaluation of performance and dependability in a unique approach leads to the notion of performability which usually combines different analytical modeling formalisms (Markov chains, queueing models, etc.) for assessing systems behaviors in the presence of faults. This chapter presents a systematic modeling approach allowing designers of web-based services to evaluate the performability of the service provided to the users. We have developed a multi-level modeling framework for analyzing the user perceived performability. Multiple sources of service unavailability are taken into account, particularly i) hardware and software failures affecting the servers, and ii) performance degradation due to e.g. overload of servers and probability of loss. The main concepts and the feasibility of the proposed framework are illustrated using a web-based travel agency. Various analytical models and sensitivity studies are presented considering different assumptions with respect to users profiles, architecture, faults, recovery strategies, and traffic characteristics.
Chapter Preview
Top

Introduction

Business and individuals are increasingly relying on web-based services for a growing number of applications, facilitated among other things by the cloud computing paradigm. Service-oriented programming is based on composing applications by invoking network-available services to accomplish some tasks. Web services are currently the most promising based technology for service-oriented computing. They use the Internet as the communication medium and open Internet-based standards, including the Simple Object Access Protocol for transmitting data, the Web Services Description Language for defining services, and the Business Process Execution Language for Web Services for orchestrating services. However, the quality of service of these offerings, that is usually quantified in terms of performance and dependability measures, can differ significantly (Rosenberg, Platzer, & Dustdar, 2006).

Even though some commercial service providers advertise four-9's or five-9's for server availability (i.e., an availability of 99.99 or 99.999, respectively), highly available servers are not sufficient for providing highly available services due to the huge varieties of failures that may prevent users to access services. In practice, these numbers reflect performance under optimal operating conditions, rather than in real-world environment. (Paxson 1997) has shown that significant routing pathologies may prevent certain pairs of hosts from communicating about 1.5% to 3.3% of the time. Moreover, (Kalyanakrishnan, Iyer, & Patel, 1999) has suggested that average availability of a typical web service is about two-9's (15 minutes of service unavailability per day, from end users perspective), which is far from the announced five-9's (5 minutes of unavailability per year).

This chapter concentrates on building analytic models to evaluate service oriented computing quality of service, including several sources of service unavailability such as hardware and software failures, as well as performance degradation related failures. Such models can be used by the designers of applications based on web services to analyze the quality of service delivered to the users and to support the selection of the best composition of web services that maximizes user satisfaction. As analyses from a pure dependability viewpoint tend to be conservative, because they do not include performance degradation, while analyses from pure performance viewpoint tend to be optimistic because they do not integrate the failure and repair events, we address the joint evaluation of dependability and performance of web-based services. Integrating performance and dependability in a unique approach leads to the notion of performability that is necessary to capture the various degraded operational states, measuring not only whether the service is up or down but also operational degraded services.

Due to the complexity of the target system and to the difficulty to combine various types of information, we have developed a multi-level modeling framework for analyzing the user perceived performability. The analysis concerns the identification of the functions and services provided to the users, and the resources contributing to their accomplishment. Also, it characterizes the various interactions of the users with the applications. Modeling is carried out considering four levels, namely: user, functions, service and resource. The first level describes how the users invoke the application (the operational profile) and the three remaining levels detail how user requests are handled by the application at distinct abstraction levels.

The multi-level modeling framework is then applied to the case of a web-based travel agency as an example. The objectives of the case study are twofold: i) show how to go through the four levels of the modeling framework, and ii) present examples of performability analysis and evaluation results obtained from modeling, to help the service providers in making objective design decisions.

Various techniques can be used to model each level: fault trees, reliability block diagrams, Markov chains, stochastic Petri nets, stochastic activities networks, etc. The selection of the right technique mainly depends on the kind of dependencies between the elements of the considered level, the distributions of the events involved, and the quantitative measures to be evaluated. In this chapter, for the case study considered, we will make use of block diagrams and Markov chains.

Complete Chapter List

Search this Book:
Reset