In Brief: Software development has seen a shift away from traditional, standalone applications towards more component-based solutions. These solutions are focused on increased agility and reuse through the composition of discrete, pre-existing, functional software components into new, novel implementations. As reuse of pre-existing components grows, so too do the odds that the services that make up the aggregate solution will be developed and supported by third-party organizations. When multiple components that make up the solution are not under the direct control of a single business or organizational entity, the ability to commit to end users on adherence to pre-established service level agreements (SLAs) across all the component parts becomes orders of magnitudes more complex. This complexity arises as a direct result of both the dynamic/adaptive nature of solutions, as well as the high probability that expectations between the distributed stakeholders for support, infrastructure, and release processes will become more divergent from one another as the solution continues to evolve.
Figure 1Modern service delivery model with multiple communication providers (ISPs)
The purpose of this literature review is to select materials that describe methods and criteria necessary to measure levels of service quality in today's distributed, composite software systems (see Figure 1), generally referred to by the generic term "Quality of Service" (QoS). The question is not only how to measure in order to evaluate SLA but also what to measure. Many established organizations participating in composite solutions may themselves perpetuate the application of more traditional models of SLA definition, which are generally based on relatively static/simplistic levels of service availability.
Evolving past this model will be difficult. However, the driving assumption for this inquiry is that with improved methods for quantifying specific key aspects of distributed, composite software solutions, the ability to more accurately set contractual conformance commitments with stakeholders responsible for utilizing the output of the solution will be greatly improved.
Third party audit organizations provide parties with a service transaction arrangement by inserting an analysis and collection system at critical points in the public network. Such organizations can bring capabilities to bear on the problem of both QoS indicator definition and contractual definition before deployment of services, as well as the instrumentation of the services ecosystem for access to key performance indicators, runtime monitoring and alerting to relevant parties on non-conformance incidents, and the important task of assigning ownership for non-conformance events. Service owners who do not wish to make a significant direct investment of capital into runtime monitoring infrastructure and support resources would be well served to consider the engagement with such an organization.
The ability to set contractual conformance commitments among stakeholders will be improved with methods for quantifying specific key aspects.
Also of interest to stakeholders involved in the pre-deployment modeling or validation of services is the introduction of techniques for modeling services, such as statistical analysis and SLA scenario generation through the use of artificial intelligence systems. Another example of such prescriptive analysis includes the application of Genetic Algorithms in the analysis of SOA solution environments, which can generate test data along multiple potential evolutionary paths in a sequence of composite calls, and shows promise for highlighting SLA non-conformance scenarios before release to the general public. The use of such methodologies allows identification of "QoS-risky paths" as early as possible, which can be difficult to divine in the early stages of service software development.
A third suggestion for SOA solution owners is to carefully consider the human factor in applying SLA models, as it is highly likely that various stakeholders in the service delivery lifecycle have legacy expectations on the means and methods to develop and support solutions. The more precision that can be applied to describing the expected behavior for the service between parties, the greater the potential to reduce variations of interpretation of the obligations.
Finally, it is also deemed critical that service developers and owners have a complete understanding of the full scope of operations and interdependencies between all of the components services within a software solution. One facet is the medium and method for communication between services. The communication network used for delivery of services, most specifically over the Internet, can present one of the least controlled mediums for SLA conformance, because communication can involve many potential partners in the delivery, some of them unknown until the point of service delivery. Another facet is the potential paths and models for activities in a functional transaction, or the compositional patterns for component software solutions, because understanding the dependencies and potential points of resource contention can assist in early avoidance of service bottlenecks.
Research Paper Author: Cameron J. Ough, Intel Corporation2008 AIM Graduate
Abstract: Software development has evolved towards increased reuse of pre-existing components and delivery of functional capabilities through service-oriented architectures (SOA). The situation drives service owners to rely on multiple autonomous partners in the service delivery, requiring design of contractual agreements termed service level agreements (SLAs), which are established to provide business obligation guarantees. This study reviews challenges for stakeholders of SOA applications related to specification, implementation, validation, and audit of SLAs in today's distributed, composite software systems.