Developing Self-Adaptive Microservice Systems: Challenges and Directions

@article{Mendona2021DevelopingSM,
  title={Developing Self-Adaptive Microservice Systems: Challenges and Directions},
  author={N. Mendonça and Pooyan Jamshidi and D. Garlan and C. Pahl},
  journal={IEEE Software},
  year={2021},
  volume={38},
  pages={70-79}
}
A self-adaptive system can dynamically monitor and adapt its behavior to preserve and enhance its quality attributes under uncertain operating conditions. This article identifies key challenges for the development of microservice applications as self-adaptive systems, using a cloud-based intelligent video-surveillance application as a motivating example. It also suggests potential new directions for addressing most of the identified challenges by leveraging existing microservice practices and… Expand

Figures from this paper

Kuksa*: Self-adaptive Microservices in Automotive Systems
TLDR
The results of this study indicate the importance of design trade-offs for quality requirements’ satisfaction levels of each microservices and the whole system for the optimal performance of an adaptive system at runtime. Expand
Data-driven Adaptation in Microservice-based IoT Architectures
TLDR
This work proposes a self-adaptive architecture for microservice-based IoT systems that supports data-driven adaptations, by also leveraging machine learning techniques, and handles adaptations at different levels in a different manner. Expand
Micro-controllers: Promoting Structurally Flexible Controllers in Self-Aware Computing Systems
TLDR
The use of service-specific micro-controllers which can be based on microservices are advocated which are able to conFigure the controller according to the services required for controlling the target system. Expand
Microservices and Containers Ű Architectural Patterns for Cloud and Edge
Software architecture research needs to address the speciĄc needs and constraints of speciĄc deployment contexts. We propose an architectural style for cloud-deployed software referring to principlesExpand
Micro-controllers: Promoting Structurally Flexible Controllers in Self-Adaptive Software Systems
TLDR
The proposed approach of using micro-controllers at the level of the controller is demonstrated in the context of the PhoneAdapter case study in which micro- Controllers are configured at run-time depending on changes affecting the system or its environment. Expand
Fuzzy Container Orchestration for Self-adaptive Edge Architectures
TLDR
This work introduces here an auto-scalable cluster architecture for lightweight container-based edge devices, based on fuzzy logic in order to better manage uncertainty problems arising in such contexts and forms the core of this architecture. Expand
Detecting and Localizing Anomalies in Container Clusters Using Markov Models
TLDR
The model aims at detecting and localizing the root cause of anomalies at runtime in order to maximize the system availability and performance and shows that HHMMs are able to accurately detect and localize performance anomalies in a timely fashion. Expand
Building orchestrated microservice systems using declarative business processes
TLDR
This work proposes the use of declarative business processes to facilitate the modeling and execution of microservice orchestration from the perspective of data flow processes and uses Beethoven, a platform composed of a reference architecture, and a domain-specific language for expressing microservice communication flows. Expand
Performance Management in Clustered Edge Architectures Using Particle Swarm Optimization
TLDR
This work will contend that particle swarm optimization as a bio-motivated optimization approach is a perfect candidate for distributed IoT load handling in self-managed edge clusters and show that delay and end-to-end latency can be reduced. Expand
Particle Swarm Optimization for Performance Management in Multi-cluster IoT Edge Architectures
TLDR
This work argues that particle swarm optimisation as a bio-inspired optimisation approach is an ideal candidate for distributed load processing in semi-autonomous edge clusters for IoT management and demonstrates that processing and propagation delay and the end-to-end latency can be optimized. Expand
...
1
2
...

References

SHOWING 1-10 OF 28 REFERENCES
Microservices: The Journey So Far and Challenges Ahead
TLDR
This article examines microservice evolution from the technological and architectural perspectives and discusses key challenges facing future microservice developments. Expand
Performance Engineering for Microservices: Research Challenges and Directions
TLDR
This paper argues why new solutions to performance engineering for microservices are needed and identifies open issues and outline possible research directions with regard to performance-aware testing, monitoring, and modeling of microservices. Expand
Control Strategies for Self-Adaptive Software Systems
TLDR
A reference control design process, from goal identification to the verification and validation of the controlled system, and a taxonomy of the main control strategies, analyzing their applicability to software adaptation for both functional and nonfunctional goals. Expand
Generality vs. reusability in architecture-based self-adaptation: the case for self-adaptive microservices
TLDR
It is made the case that recent industry progress toward microservices and their enabling technologies can open the way to the development of more general and reusable self-adaptation solutions. Expand
Improving microservice-based applications with runtime placement adaptation
TLDR
The main contribution is an adaptation mechanism, named REMaP, to manage the placement of microservices in an μApp automatically, which uses microservice affinities and resource usage history and can substantially improve μApp performance. Expand
Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture
TLDR
How the researchers adopted DevOps and how this facilitated a smooth migration to microservices architecture is explained. Expand
The Vision of Autonomic Computing
TLDR
A 2001 IBM manifesto noted the almost impossible difficulty of managing current and planned computing systems, which require integrating several heterogeneous environments into corporate-wide computing systems that extend into the Internet. Expand
Microservices: A Language-Based Approach
TLDR
This chapter makes the case for a language-based approach to the engineering of microservice architectures, which it is believed is complementary to current practice and instantiate it in terms of the Jolie programming language. Expand
Robustness-Driven Resilience Evaluation of Self-Adaptive Software Systems
TLDR
This paper presents a novel approach for evaluating the resilience of self-adaptive software systems by applying robustness testing techniques to the controller to uncover failures that can affect system resilience. Expand
App-Bisect: Autonomous Healing for Microservice-Based Apps
TLDR
The insight is that the evolution of microservices in an application can be captured as mutations to the graph of microservice dependencies, such that a particular version of the graph from the past can be deployed automatically, as an interim measure until the problem is permanently fixed. Expand
...
1
2
3
...