The Slingshot Approach: Model-Driven Engineering the Coordination of Autoscaling Mechanisms for Elastic Cloud Applications

2020 
Distributed software systems composed of two or more self-adaptive components require the presence of a coordination mechanism to ensure the fulfilment of overall system objectives over time. Exploiting elasticity, for example, is one important objective for operating software systems in the cloud. The recently adopted architectural style of independent Microservices, each with its autoscaling mechanism, creates a class of software systems that are composed of several self-adaptive components which provision and release resources in an autonomous manner. Manually evaluating the impact of coordinating actions among autoscaling mechanisms can be complicated because of their large configuration space. So, to aid software engineers in designing and evaluating coordinating actions for achieving overall elastic applications, we propose the Slingshot approach which leverages model-driven quality prediction and search-based software engineering techniques. The approach has three facets: (1) the decomposition of a software architecture into elastic layers where the impact of adaptations propagates in a top-down order; (2) the extension of self-adaptive performance modelling approaches to allow engineers to specify and analyze dependencies between layers; and (3) finding the optimal adaptation strategy of a lower layer for a fixed upper layer context. In this paper, we present a road-map consisting of research objectives and expected benefits of the proposed approach.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    12
    References
    0
    Citations
    NaN
    KQI
    []