One of the challenges of modern cloud application development is the management of deployment costs. Automated and semi-automated scaling, pay-per-use pricing, complex multi-factor billing models, and frequent changes in the market make predicting the actual costs of using a given (combination of) cloud services to host a given application so that it exhibits a given level of minimal performance (e.g., response time) difficult for developers. The primary contribution of MInCA will be an approach to model, predict and optimize the deployment costs of cloud applications, with a specific focus on (micro-)service-based applications. Central to our approach is the notion of a holistic cost model (HCM), which is a multi-view architectural model of the application that integrates modelling the dependencies between services, the deployment of the individual services onto cloud resources,and the application workload (e.g., what load is on what service at what times). We will use the HCM to foster developer awareness of the cost impact of their code changes (e.g., through appropriate visualizations in the Integrated Development Environment, IDE), to support What-If analysis ("What happens if the application gets 50% more users?"), and to enable application-wide deployment optimization (i.e., select optimal deployment options for each service depending on global state and available cloud services).
Duration: September 2016 - November 2019
Funding: SNF (Total Costs: 182.963 CHF)