scispace - formally typeset
Search or ask a question

Showing papers by "Jacopo Soldani published in 2021"


Journal ArticleDOI
TL;DR: In this article, the authors present a FaaS platform classification framework derived using a multivocal review and (ii) a technology review of the ten most prominent functional-as-a-service (FaaS) platforms, based on the proposed classification framework.

18 citations


Journal ArticleDOI
TL;DR: A technique to automatically mine the architecture of a microservice‐based application and represent it with μ TOSCA, given the Kubernetes deployment of the application, and a methodology to analyze the μ T OSCA representation of aMicroservice‐ based architecture to systematically identify the architectural smells potentially affecting the corresponding application and to resolve them.
Abstract: Exploiting microservices to architect enterprise applications is becoming commonplace. This makes it crucial to provide some support for designing and analyzing microservice‐based applications, for example, for understanding whether a microservice‐based application adheres to the main design principles of microservices and for choosing how to refactor it when this is not the case. To provide such support, in this article we present the μ TOSCA toolchain. More precisely, we first introduce the μ TOSCA model to represent the architecture of microservice‐based applications with the OASIS standard TOSCA. We then describe a technique to automatically mine the architecture of a microservice‐based application and represent it with μ TOSCA, given the Kubernetes deployment of the application. We also present a methodology to analyze the μ TOSCA representation of a microservice‐based architecture to systematically identify the architectural smells potentially affecting the corresponding application and to resolve them. Finally, we present two prototype tools, μMiner and μFreshener, implementing our mining solution and the support for identifying and resolving architectural smells in microservice‐based applications, respectively. We then assess —by discussing some case studies— how effectively μMiner, μFreshener, and the μ TOSCA toolchain can support researchers and practitioners working with microservices.

16 citations


Posted Content
TL;DR: In this paper, the authors present a review of the existing white and grey literature on microservice-based applications and distill well-known smells for securing microservices, together with the refactorings enabling to mitigate the effects of such smells.
Abstract: Context: Securing microservice-based applications is crucial, as many IT companies are delivering their businesses through microservices. If security smells affect microservice-based applications, they can possibly suffer from security leaks and need to be refactored to mitigate the effects of security smells therein. Objective: As the currently available knowledge on securing microservices is scattered across different pieces of white and grey literature, our objective here is to distill well-known smells for securing microservices, together with the refactorings enabling to mitigate the effects of such smells. Method: To capture the state of the art and practice in securing microservices, we conducted a multivocal review of the existing white and grey literature on the topic. We systematically analyzed 58 studies published from 2014 until the end of 2020. Results: Ten bad smells for securing microservices are identified, which we organized in a taxonomy, associating each smell with the security properties it may violate and the refactorings enabling to mitigate its effects. Conclusions: The security smells and the corresponding refactorings have pragmatic value for practitioners, who can exploit them in their daily work on securing microservices. They also serve as a starting point for researchers wishing to establish new research directions on securing microservices.

10 citations



Book ChapterDOI
13 Sep 2021
TL;DR: Chaos Echo as discussed by the authors is a framework for automatically generating configurable testbeds that can be exploited to assess techniques enhancing cloud-native applications with fault resilience mechanisms, like orchestrators recovering failed services, or failure detection and root cause analysis techniques.
Abstract: We propose Chaos Echo, a framework for automatically generating configurable testbeds that can be exploited to assess techniques enhancing cloud-native applications with fault resilience mechanisms, like orchestrators recovering failed services, or failure detection and root cause analysis techniques. The testbeds generated by Chaos Echo feature chaos testing out-of-the-box, and they can be configured to vary the topology of target applications or the configuration of their services, like the rates of failures and service interactions.

4 citations


Journal ArticleDOI
TL;DR: The actual process of finding agreement regarding the papers' acceptance or rejection has also a certain bandwidth, ranging from delegating the responsibility of the decision-making to few people over staged committee and board setups to organizing physical/virtual meetings involving many people.
Abstract: Standard Reviewing Procedures The final acceptance decision for a paper can be taken by following different alternative peer-reviewing processes (these review processes are implemented for both conferences and journals). The standard setup can be described as follows: while authors are usually not aware of the reviewers' identity (so-called blind review setting), reviewers may be aware of the authors' identity or not, resulting in single-blind or double-blind review processes, respectively. In the rare cases when the authors are aware of the reviewers' identity, the reviewing process is considered zero-blind. Other feasible alternatives are characterized by the amount of stages implemented before the acceptance decision is made (single-stage vs. multi-stage review processes) and the public visibility of review comments (open/public vs. closed review processes). The actual process of finding agreement regarding the papers' acceptance or rejection has also a certain bandwidth, ranging from delegating the responsibility of the decision-making to few people over staged committee and board setups to organizing physical/virtual meetings involving many people.

3 citations


Book ChapterDOI
13 Sep 2021
TL;DR: In this article, the authors present a model-based methodology to automate the analysis of application logs in order to identify the possible failures that occurred and their causality relations, which can severely affect the correct functioning of large enterprise applications consisting of hundreds of interacting microservices.
Abstract: Cascading failures can severely affect the correct functioning of large enterprise applications consisting of hundreds of interacting microservices. As a consequence, the ability to effectively analyse the causes of occurred cascading failures is crucial for managing complex applications. In this paper, we present a model-based methodology to automate the analysis of application logs in order to identify the possible failures that occurred and their causality relations. Our methodology employs topology graphs to represent the structure of microservice-based applications and finite state machines to model their expected replica- and failure-aware behaviour. We also present a proof-of-concept implementation of our methodology, which we exploited to assess its effectiveness with controlled experiments and monkey testing.

3 citations


Journal ArticleDOI
TL;DR: 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.
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.

1 citations


Posted Content
TL;DR: In this article, the authors provide a structured overview and a qualitative analysis of currently available techniques for anomaly detection and root cause analysis in modern multi-service applications, and some open challenges and research directions stemming out from the analysis are also discussed.
Abstract: The momentum gained by microservices and cloud-native software architecture pushed nowadays enterprise IT towards multi-service applications. The proliferation of services and service interactions within applications, often consisting of hundreds of interacting services, makes it harder to detect failures and to identify their possible root causes, which is on the other hand crucial to promptly recover and fix applications. Various techniques have been proposed to promptly detect failures based on their symptoms, viz., observing anomalous behaviour in one or more application services, as well as to analyse logs or monitored performance of such services to determine the possible root causes for observed anomalies. The objective of this survey is to provide a structured overview and a qualitative analysis of currently available techniques for anomaly detection and root cause analysis in modern multi-service applications. Some open challenges and research directions stemming out from the analysis are also discussed.

1 citations