Non-functional requirements optimisation for multi-tier cloud applications: An early warning system case study
Polona Štefanič, Dragi Kimovski, George Dan Suciu, Vlado Stankovski · 2017
Modern software engineering tools, technologies and approaches can radically speed up the development and engineering of multi-tier cloud applications and may be applied to the cloud/edge/fog computing paradigm. The engineering of such cloud applications must take into account Non-Functional Requirements (NFRs), such as end-user, software and cloud infrastructure requirements for low-power computing, performance, availability, elasticity, operational cost and similar. Such requirements should be identified and considered early in the software engineering process and decisions must be taken on their trade-offs, e.g. greater service availability while balancing operational costs. This paper introduces a new multi-criteria decision making approach via the use of the Pareto method to aid the software engineers with NFR trade-off adjustment possibilities. Adjustment possibilities may include geographic distribution of application tiers, horizontal and vertical scaling of virtual resources (such as Virtual Machines and containers) and similar. This work builds on top of technologies and tools developed under the SWITCH and ENTICE projects. The impact of this approach is the ability to fully tailor the adjustments of non-functional properties of the multi-tier cloud application according to the decisions of its engineer. An early warning system cloud application is used to present the approach.