3 research outputs found

    Employing open source software for RBEE Regression Benchmarking Execution Environment

    Get PDF
    We introduce our Regression Benchmarking Execution Environment (RBEE) approach. Based on self-contained systems (SCS), RBEE is separated into several independent systems which can both, be scaled and replaced independently. RBEE requires only a running container infrastructure (Docker) including a cluster manager (Docker Swarm) for operating the corresponding SCSs. Prebuilt container images are provided for each SCS. For collecting monitoring data, we are employing the Kieker Monitoring Framework. Therefor we extended Kieker to store its monitoring data directly in RBEE’s write-optimized storage (Apache Cassandra). Within RBEE itself we are using readoptimized storage (Elasticsearch). Using polyglot persistence as well as polyglot programming, each SCS of the RBEE approach uses data storage and programming languages which best fit to its requirements. In addition, there are transformation processes between read- and write-optimized storage. Communication among the different SCS takes place via a separate communication backend (RabbitMQ, REST) and well-defined communication APIs. Data stored within the SCS is not persistent. Hence, benchmark results are stored within a separate benchmark result repository in a traditional virtual machine detached from the container infrastructure. Each SCS contains an own user interface for system management, but for overall system monitoring and visualization RBEE provides a central control center. RBEE will be published as open source software (rbee.io)

    Conformance Checking and Simulation-based Evolutionary Optimization for Deployment and Reconfiguration of Software in the Cloud

    Get PDF
    Many SaaS providers nowadays want to leverage the cloud's capabilities also for their existing applications, for example, to enable sound scalability and cost-effectiveness. This thesis provides the approach CloudMIG that supports SaaS providers to migrate those applications to IaaS and PaaS-based cloud environments. CloudMIG consists of a step-by-step process and focuses on two core components. (1) Restrictions imposed by specific cloud environments (so-called cloud environment constraints (CECs)), such as a limited file system access or forbidden method calls, can be validated by an automatic conformance checking approach. (2) A cloud deployment option (CDO) determines which cloud environment, cloud resource types, deployment architecture, and runtime reconfiguration rules for exploiting a cloud's elasticity should be used. The implied performance and costs can differ in orders of magnitude. CDOs can be automatically optimized with the help of our simulation-based genetic algorithm CDOXplorer. Extensive lab experiments and an experiment in an industrial context show CloudMIG's applicability and the excellent performance of its two core components

    Bayesian Prognostic Framework for High-Availability Clusters

    Get PDF
    Critical services from domains as diverse as finance, manufacturing and healthcare are often delivered by complex enterprise applications (EAs). High-availability clusters (HACs) are software-managed IT infrastructures that enable these EAs to operate with minimum downtime. To that end, HACs monitor the health of EA layers (e.g., application servers and databases) and resources (i.e., components), and attempt to reinitialise or restart failed resources swiftly. When this is unsuccessful, HACs try to failover (i.e., relocate) the resource group to which the failed resource belongs to another server. If the resource group failover is also unsuccessful, or when a system-wide critical failure occurs, HACs initiate a complete system failover. Despite the availability of multiple commercial and open-source HAC solutions, these HACs (i) disregard important sources of historical and runtime information, and (ii) have limited reasoning capabilities. Therefore, they may conservatively perform unnecessary resource group or system failovers or delay justified failovers for longer than necessary. This thesis introduces the first HAC taxonomy, uses it to carry out an extensive survey of current HAC solutions, and develops a novel Bayesian prognostic (BP) framework that addresses the significant HAC limitations that are mentioned above and are identified by the survey. The BP framework comprises four \emph{modules}. The first module is a technique for modelling high availability using a combination of established and new HAC characteristics. The second is a suite of methods for obtaining and maintaining the information required by the other modules. The third is a HAC-independent Bayesian decision network (BDN) that predicts whether resource failures can be managed locally (i.e., without failovers). The fourth is a method for constructing a HAC-specific Bayesian network for the fast prediction of resource group and system failures. Used together, these modules reduce the downtime of HAC-protected EAs significantly. The experiments presented in this thesis show that the BP framework can deliver downtimes between 5.5 and 7.9 times smaller than those obtained with an established open-source HAC
    corecore