[Show abstract][Hide abstract] ABSTRACT: In order to manage a service to meet the agreed upon SLA, it is important to design a service of the required capacity and to monitor the service thereafter for violations at runtime. This objective can be achieved by translating SLOs specified in the SLA into lower-level policies that can then be used for design and enforcement purposes. Such design and operational policies are often constraints on thresholds of lower level metrics. In this paper, we propose a systematic and practical approach that combines fine-grained performance modeling with regression analysis to translate service level objectives into design and operational policies for multi-tier applications. We demonstrate that our approach can handle both request-based and session-based workloads and deal with workload changes in terms of both request volume and transaction mix. We validate our approach using both the RUBiS e-commerce benchmark and a trace-driven simulation of a business-critical enterprise application. These results show the effectiveness of our approach.
[Show abstract][Hide abstract] ABSTRACT: Service providers and their customers agree on certain quality of service guarantees through Service Level Agreements (SLA). An SLA contains one or more Service Level Objectives (SLO)s that describe the agreed-upon qual- ity requirements at the service level. Translating these SLOs into lower-level policies that can then be used for design and monitoring purposes is a difficult problem. Usually domain experts are involved in this translation that often necessitates application of domain knowledge to this problem. In this ar- ticle, we propose an approach that combines performance modeling with regression analysis to solve this problem. We demonstrate that our approach is practical and that it can be applied to different n-tier services. Our experiments show that for a typical 3-tier e-commerce application in a virtu- alized environment, the SLA can be met while improving CPU utilization by up to 3 times.
[Show abstract][Hide abstract] ABSTRACT: Large complex systems (such as Enterprise systems) are often composed of several interacting, independent components. In many such systems, although the behavior of the constituent components is well characterized, the behavior that results from interaction between such components is more or less intractable; making it hard for the administrators to efficiently manage the system in conformance with the service level agreements or the SLAs. This paper presents an approach for deriving component-level objectives from system-level objectives or agreements, which if conformed to, imply conformance to the higher-level SLA. Our approach partitions the systempsilas state-space into homogeneous sub-spaces, creates micro-models for such subspaces, and then uses such micro-models to translate the higher-level objectives to component-level objectives. We have implemented a system, termed Pranaali, for evaluating our approach in realistic settings.
[Show abstract][Hide abstract] ABSTRACT: In today's complex and highly dynamic computing environments, systems/services have to be constantly adjusted to meet service level agreements (SLAs) and to improve resource utilization, thus reducing operating cost. Traditional design of such systems usually involves domain experts who implicitly translate service level objectives (SLOs) specified in SLAs to system-level thresholds in an ad-hoc manner. In this paper, we present an approach that combines performance modeling with performance profiling to create models that translate SLOs to lower-level resource requirements for each system involved in providing the service. Using these models, the process of creating an efficient design of a system/service can be automated, eliminating the involvement of domain experts. We demonstrate that our approach is practical and that it can be applied to different applications and software architectures. Our experiments show that for a typical 3-tier e-commerce application in a virtualized environment the SLAs can be met while improving CPU utilization up to 3 times.
[Show abstract][Hide abstract] ABSTRACT: Shared services, hosted in utility computing environments are becoming quite common in enterprises. These services could be clusters of application servers hosting various applications or even clusters of databases catering to multiple organizations within an enterprise. Automating the provisioning of these shared services is a difficult problem. We propose a model-based automation mechanism to provision such shared services. We demonstrate our model-based provisioning system in the case of a shared desktop service. The shared desktop service termed the "virtual desktop system" (VDS) hosts desktops on top of virtual machines. These desktop virtual machines are provisioned on consolidated data centers while users use thin clients to connect to their "virtual" desktops. We demonstrate how we use our model-based automation technique to simplify the provisioning of such desktops.
[Show abstract][Hide abstract] ABSTRACT: Modern computing environments, such as enterprise data centers, Grids, and PlanetLab, introduce distributed services to address scalability, locality, and reliability. Web services (WS), in particular, improve decoupling, decentralization, and autonomicity within distributed systems. Unfortunately, scale and decentralization introduce additional problems in distributed services management, such as deployment, monitoring, and lifecycle maintenance. In this paper, we propose a new approach to management of large scale distributed services, based on three artifacts: scalable publish-subscribe eventing, scalable WS-based deployment, and model-based management. We demonstrate that these techniques improve the manageability of services. In this way we enable service developers to focus on the development of service functionality rather than on management features