Line: Evaluating Software Applications in Unreliable Environments (2017)
Cloud computing has paved the way to the flexible deployment of software applications. This flexibility offers service providers a number of options to tailor their deployments to the observed and foreseen customer workloads, without incurring in large capital costs. However, cloud deployments pose novel challenges regarding application reliability and performance. Examples include managing the reliability of deployments that make use of spot instances, or coping with the performance variability caused by multiple tenants in a virtualized environment. In this paper, we introduce Line, a tool for performance and reliability analysis of software applications. Line solves layered queueing network (LQN) models, a popular class of stochastic models in software performance engineering, by setting up and solving an associated system of ordinary differential equations. A key differentiator of Line compared to existing solvers for LQNs is that Line incorporates a model of the environment the application operates in. This enables the modeling of reliability and performance issues such as resource failures, server breakdowns and repairs, slow start-up times, resource interference due to multitenancy, among others. This paper describes the Line tool, its support for performance and reliability modeling, and illustrates its potential by comparing Line predictions against data obtained from a cloud deployment. We also illustrate the applicability of Line with a case study on reliability-aware resource provisioning. © 1963-2012 IEEE.