Performance Modeling for Quality of Service Prediction in Service-Oriented Systems

Performance Modeling for Quality of Service Prediction in Service-Oriented Systems

Christoph Rathfelder (FZI Research Center for Information Technology Karlsruhe, Germany), Benjamin Klatt (FZI Research Center for Information Technology Karlsruhe, Germany), Franz Brosch (FZI Research Center for Information Technology Karlsruhe, Germany) and Samuel Kounev (Karlsruhe Institute of Technology, Germany)
DOI: 10.4018/978-1-61350-432-1.ch011


With the introduction of services, systems become more flexible as new services can easily be composed out of existing services. Services are increasingly used in mission-critical systems and applications, and therefore, considering Quality of Service (QoS) properties is an essential part of the service selection. Quality prediction techniques support the service provider in determining possible QoS levels that can be guaranteed to a customer or in deriving the operation costs induced by a certain QoS level. In this chapter, we present an overview on our work on modeling service-oriented systems for performance prediction using the Palladio Component Model. The prediction builds upon a model of a service-based system, and evaluates this model in order to determine the expected service quality. The presented techniques allow for early quality prediction, without the need for the system being already deployed and operating. We present the integration of our prediction approach into an SLA management framework. The emerging trend to combine event-based communication and Service-Oriented Architecture (SOA) into Event-based SOA (ESOA) induces new challenges to our approach, which are topic of a special subsection.
Chapter Preview


With the introduction of service-oriented computing and virtualized cloud infrastructures, the dynamics of software systems at runtime and their flexibility increases. Services can be composed at runtime and infrastructure can be provisioned on demand. The new freedom to orchestrate services potentially from multiple providers gives software architects the chance to support business requirements with less in-house development and infrastructure. The challenge in Service-Oriented Architectures (SOA) to find functional interoperable services is a research topic since the rise of SOA. Solutions like the Universal Description, Discovery and Integration (UDDI) have already been available for a number of years.

Meanwhile, new challenges have cropped up. With the success of services and computing clouds, software architects who make use of those technologies, have to consider their restricted influence and control on those external services. But as services directly support business applications, their quality becomes important for the success of the whole enterprise. At this point, Service Level Agreements (SLAs) come into play. They are already well-established for computer centers, help desks and even non-computer-related industries. In the field of SOA, SLAs serve as a contract between the service consumer and connected service providers. Beyond the functional interoperability, the service provider guarantees a certain quality level for his services specified in the SLA. The service consumer again can act as service provider and offer a new orchestrated service.

The guarantee of a certain Quality of Service (QoS) level for a service specified in an SLA is an important aspect in service-oriented systems. Such guarantees may concern, for example, the response time and throughput of a service. SLAs determine the quality properties that can be expected from a provided service. SLAs are negotiated before a service is deployed and used by the customer. The service consumer is only able to monitor the compliance of a QoS level on the granularity of service invocations. The operation and controlling of service internals and the detection and forecast of performance problems can only be done by the provider and is not accessible for the customer. Service providers create general offers for services as well as react on individual requests of potential customers. General and individual offers have to be based on sound data to ensure that services do not violate the guaranteed service levels. Additionally, service providers have to know in advance which infrastructure resources and external software services are required in order to fulfill a customer’s request and estimate the resource demand induced by new applications on the hardware infrastructure. This knowledge allows them to estimate costs and to acquire necessary resources as well as optimize the overall resource utilization. This information helps, for example, to identify the optimal trade-off between costs and offered quality.

The prediction of performance attributes is a very complex task as the performance of a service depends on several factors. The number of concurrent service consumers and invocations as well as the used infrastructure resources the service is deployed on are two obvious influence factors. In case of a service composition, the performance of the composed service highly depends on the performance of the services it is composed of. Thus, a performance prediction technique for services has to consider all these aspects. Many different performance prediction techniques and models have been developed in the last years as surveyed in (Balsamo, Di Marco, Inverardi, & Simeoni, 2004; Koziolek, 2009). Often these approaches require expert knowledge to build and configure the prediction models or they do not consider all the necessary influence factors.

Key Terms in this Chapter

Service Level Agreement (SLA): Specification on a certain level of quality from both size, such as the usage profile and the expected quality properties.

Performance Prediction: Prediction of quality attributes such as throughput, resource utilization, or timing effects. Model-based performance prediction is a type of prediction that uses a model as input for the prediction.

Model Transformation: The conversion of a model to either another type of model or a textual artifact. In general, this is done automatically with specific transformation engines and transformation languages.

Event-Based SOA (ESOA): An extension of the Service Oriented Architecture (SOA). In addition to the synchronous communication between services following the call and return behavior, services can also use event-driven communication.

Event Driven Communication: The communication between software components with asynchronously delivered data objects. A component emits the object, which is then delivered to all subscribed components.

Complete Chapter List

Search this Book: