Microservices architectures support the development of complex applications by composing simple basic blocks, the microservices. This enables runtime adaptation and dynamic reconfiguration of the applications. The approaches that have been developed so far, however, focus on offering only basic self-healing capabilities (e.g., restarting a failed microservice), while do not fully tackle the problem of offering advanced and general mechanisms for building complex and decentralized self-adaptation strategies able to deal with applications built of a large number of nodes. In this work we focus on how to add autonomic capabilities to microservices without changing the way they are implemented but exploiting their containers. Our approach is called Gru and creates a new level of abstraction, containing autonomic intelligence, on top of Docker containers. Gru supports a variety of decentralized autonomic operations and does not make any assumption nor constraint on the structure of the microservices system to be controlled. This paper presents Gru together with a preliminary evaluation of its features
Gru: an Approach to Introduce Decentralized Autonomic Behavior in Microservices Architectures
FLORIO, LUCA;DI NITTO, ELISABETTA
2016-01-01
Abstract
Microservices architectures support the development of complex applications by composing simple basic blocks, the microservices. This enables runtime adaptation and dynamic reconfiguration of the applications. The approaches that have been developed so far, however, focus on offering only basic self-healing capabilities (e.g., restarting a failed microservice), while do not fully tackle the problem of offering advanced and general mechanisms for building complex and decentralized self-adaptation strategies able to deal with applications built of a large number of nodes. In this work we focus on how to add autonomic capabilities to microservices without changing the way they are implemented but exploiting their containers. Our approach is called Gru and creates a new level of abstraction, containing autonomic intelligence, on top of Docker containers. Gru supports a variety of decentralized autonomic operations and does not make any assumption nor constraint on the structure of the microservices system to be controlled. This paper presents Gru together with a preliminary evaluation of its featuresI documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.