Fault tolerance in FaaS environments
La tolérance aux fautes dans les environnements FaaS
Résumé
Function as a Service (FaaS) is an emerging programming model for building cloud applications where the infrastructure management is abstracted away from the developer. One of the main challenges of FaaS systems is providing fault tolerance for the deployed functions. The basic fault tolerance mechanism in current FaaS platforms is automatically retrying function invocations. Although the retry mechanism is well-suited for transient faults, it incurs delays in recovering from other types of faults such as permanent faults. Thus, our objective is to provide high availability for FaaS applications regardless of the type of faults. In this thesis, we propose the integration of passive and active fault tolerance approaches that are based on replication schemes in FaaS platforms. We describe how we performed this integration in Fission, a well-known, open source framework. Furthermore, we provide a detailed experimental comparison of the proposed mechanisms with the retry mechanism in terms of performance, availability, and resource consumption, both in normal functioning and under different failure scenarios.
Fonction en tant que service (FaaS) est un modèle de programmation émergent pour la création d'applications cloud dans lequel la gestion de l'infrastructure est abstraite pour le développeur. L'un des principaux défis des systèmes FaaS est de fournir une tolérance aux fautes pour les fonctions déployées. Le mécanisme de tolérance aux fautes de base dans les plateformes FaaS actuelles consiste à réessayer automatiquement les invocations de fonctions. Bien que ce mécanisme soit bien adapté aux fautes transitoires, il entraîne des retards dans la réparation d’autres types de fautes tels que les fautes permanentes. Ainsi, notre objectif est de fournir une haute disponibilité pour les applications FaaS quel que soit le type de fautes. Dans cette thèse, nous proposons l'intégration des approches de tolérance aux fautes passives et actives qui sont basées sur des schémas de réplication dans les plateformes FaaS. Nous décrivons comment nous avons réalisé cette intégration dans Fission, un framework open source bien connu. De plus, nous fournissons une comparaison expérimentale détaillée des mécanismes proposés avec le mécanisme de tentative en termes de performance, de disponibilité et de consommation de ressources, à la fois en fonctionnement normal et sous différents scénarios de fautes.
Origine | Version validée par le jury (STAR) |
---|