Talevi, Iacopo
(2019)
Optimal and Automated Microservice Deployment: formal definition, implementation and validation of a deployment engine.
[Laurea magistrale], Università di Bologna, Corso di Studio in
Informatica [LM-DM270]
Documenti full-text disponibili:
Abstract
The main purpose of this work was to study the problem of optimal and automated deployment and reconfiguration (at the architectural level) of microservice systems, proving formal properties and realizing an implemented solution. It started from the Aeolus component model, which was used to formally define the problem of deploying component-based software systems and to prove different results about decidability and complexity. In particular, the Aeolus authors formally prove that, in the general case, such problem is undecidable. Starting from these results we expanded on the analysis of automated deployment and scaling, focusing on microservice architecture. Using a model inspired by Aeolus, considering the characteristics of microservices, we formally proved that the optimal and automated deployment and scaling for microservice architectures are algorithmically treatable. However, the decision version of the problem is NP-complete and to obtain the optimal solution it is necessary to solve an NP-optimization problem. To show the applicability of our approach we decided to also realize a model of a simple but realistic case-study. The model is developed using the Abstract Behavioral Specification (ABS) language, and to calculate the different deployment and scaling plans we used an ABS tool called SmartDepl. To solve the problem, SmartDepl relies on Zephyrus2. Zephyrus2 is a configuration optimizer that allows to compute the optimal deployment configuration of described applications. This work resulted in an extended abstract accepted at the Microservices 2019 conference in Dortmund (Germany), a paper accepted at the
FASE 2019 (part of ETAPS) conference in Prague (Czech Republic), and an accepted book chapter.
Abstract
The main purpose of this work was to study the problem of optimal and automated deployment and reconfiguration (at the architectural level) of microservice systems, proving formal properties and realizing an implemented solution. It started from the Aeolus component model, which was used to formally define the problem of deploying component-based software systems and to prove different results about decidability and complexity. In particular, the Aeolus authors formally prove that, in the general case, such problem is undecidable. Starting from these results we expanded on the analysis of automated deployment and scaling, focusing on microservice architecture. Using a model inspired by Aeolus, considering the characteristics of microservices, we formally proved that the optimal and automated deployment and scaling for microservice architectures are algorithmically treatable. However, the decision version of the problem is NP-complete and to obtain the optimal solution it is necessary to solve an NP-optimization problem. To show the applicability of our approach we decided to also realize a model of a simple but realistic case-study. The model is developed using the Abstract Behavioral Specification (ABS) language, and to calculate the different deployment and scaling plans we used an ABS tool called SmartDepl. To solve the problem, SmartDepl relies on Zephyrus2. Zephyrus2 is a configuration optimizer that allows to compute the optimal deployment configuration of described applications. This work resulted in an extended abstract accepted at the Microservices 2019 conference in Dortmund (Germany), a paper accepted at the
FASE 2019 (part of ETAPS) conference in Prague (Czech Republic), and an accepted book chapter.
Tipologia del documento
Tesi di laurea
(Laurea magistrale)
Autore della tesi
Talevi, Iacopo
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Indirizzo
CURRICULUM A: TECNICHE DEL SOFTWARE
Ordinamento Cds
DM270
Parole chiave
Microservice,Deployment,Deployment Engine,Aeolus Component Model,Scaling,Optimal Automated Deployment,constraint programming,case-study,Abstract Behavioral Specification (ABS) language,SmartDepl,Zephyrus2,Formal Definition,Formal Proof,Resources Optimization,Costs Optimization
Data di discussione della Tesi
17 Luglio 2019
URI
Altri metadati
Tipologia del documento
Tesi di laurea
(NON SPECIFICATO)
Autore della tesi
Talevi, Iacopo
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Indirizzo
CURRICULUM A: TECNICHE DEL SOFTWARE
Ordinamento Cds
DM270
Parole chiave
Microservice,Deployment,Deployment Engine,Aeolus Component Model,Scaling,Optimal Automated Deployment,constraint programming,case-study,Abstract Behavioral Specification (ABS) language,SmartDepl,Zephyrus2,Formal Definition,Formal Proof,Resources Optimization,Costs Optimization
Data di discussione della Tesi
17 Luglio 2019
URI
Statistica sui download
Gestione del documento: