Abstract

Trans-cloud applications consist of multiple interacting components deployed across different cloud providers and at different service layers (IaaS and PaaS). In such complex deployment scenarios, fault handling and recovery need to deal with heterogeneous cloud offerings and to take into account inter-component dependencies. We propose a methodology for self-healing trans-cloud applications from failures occurring in application components or in the cloud services hosting them, both during deployment and while they are being operated. The proposed methodology enables reducing the time application components rely on faulted services, hence residing in “unstable” states where they can suddenly fail in cascade or exhibit erroneous behaviour. We also present an open-source prototype illustrating the feasibility of our proposal, which we have exploited to carry out an extensive evaluation based on controlled experiments and monkey testing.

Highlights

  • Like any other application, cloud-based applications are unavoidably subject to failures [18]

  • To enable the envisioned orchestration approach, we encapsulated the extended trans-cloud deployment support behind a Java-based REST API that enables POSTing the TOSCA specification of an application, as well as the management operations to be enacted on the application components

  • We have developed a tool for monkey testing our selfhealing, trans-cloud application management platform

Read more

Summary

Introduction

Cloud-based applications are unavoidably subject to failures [18]. Self-healing trans-cloud applications the latency in answering to end-users, potentially causing client loss in the same way as underprovisioning does [3] Despite their great recent improvement, the support provided by currently available self-healing mechanisms basically consist of destroying and restarting the VM or container instances running failed components, without considering instability induced by a failed component to the components depending on it. One could think on the possibility of using AWS self-healing facilities for the components deployed using AWS services, Azure facilities for those deployed on Azure, and so on This would require to coordinate the corresponding selfhealing solutions, e.g., to recover failures in interdependent components deployed on cloud offerings of different providers, resulting in a time-consuming and cumbersome process, which is currently to be manually performed.

Running example
Robust trans-cloud management
Self-healing trans-cloud applications: methodology
Self-healing trans-cloud applications: prototype
First experiments: robust deployment and operation
Monkey testing
Related work
Findings
Concluding remarks
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call