734 research outputs found
Microservice Transition and its Granularity Problem: A Systematic Mapping Study
Microservices have gained wide recognition and acceptance in software
industries as an emerging architectural style for autonomic, scalable, and more
reliable computing. The transition to microservices has been highly motivated
by the need for better alignment of technical design decisions with improving
value potentials of architectures. Despite microservices' popularity, research
still lacks disciplined understanding of transition and consensus on the
principles and activities underlying "micro-ing" architectures. In this paper,
we report on a systematic mapping study that consolidates various views,
approaches and activities that commonly assist in the transition to
microservices. The study aims to provide a better understanding of the
transition; it also contributes a working definition of the transition and
technical activities underlying it. We term the transition and technical
activities leading to microservice architectures as microservitization. We then
shed light on a fundamental problem of microservitization: microservice
granularity and reasoning about its adaptation as first-class entities. This
study reviews state-of-the-art and -practice related to reasoning about
microservice granularity; it reviews modelling approaches, aspects considered,
guidelines and processes used to reason about microservice granularity. This
study identifies opportunities for future research and development related to
reasoning about microservice granularity.Comment: 36 pages including references, 6 figures, and 3 table
Orchestrating Service Migration for Low Power MEC-Enabled IoT Devices
Multi-Access Edge Computing (MEC) is a key enabling technology for Fifth
Generation (5G) mobile networks. MEC facilitates distributed cloud computing
capabilities and information technology service environment for applications
and services at the edges of mobile networks. This architectural modification
serves to reduce congestion, latency, and improve the performance of such edge
colocated applications and devices. In this paper, we demonstrate how reactive
service migration can be orchestrated for low-power MEC-enabled Internet of
Things (IoT) devices. Here, we use open-source Kubernetes as container
orchestration system. Our demo is based on traditional client-server system
from user equipment (UE) over Long Term Evolution (LTE) to the MEC server. As
the use case scenario, we post-process live video received over web real-time
communication (WebRTC). Next, we integrate orchestration by Kubernetes with S1
handovers, demonstrating MEC-based software defined network (SDN). Now, edge
applications may reactively follow the UE within the radio access network
(RAN), expediting low-latency. The collected data is used to analyze the
benefits of the low-power MEC-enabled IoT device scheme, in which end-to-end
(E2E) latency and power requirements of the UE are improved. We further discuss
the challenges of implementing such schemes and future research directions
therein
Data Management in Microservices: State of the Practice, Challenges, and Research Directions
We are recently witnessing an increased adoption of microservice
architectures by the industry for achieving scalability by functional
decomposition, fault-tolerance by deployment of small and independent services,
and polyglot persistence by the adoption of different database technologies
specific to the needs of each service. Despite the accelerating industrial
adoption and the extensive research on microservices, there is a lack of
thorough investigation on the state of the practice and the major challenges
faced by practitioners with regard to data management. To bridge this gap, this
paper presents a detailed investigation of data management in microservices.
Our exploratory study is based on the following methodology: we conducted a
systematic literature review of articles reporting the adoption of
microservices in industry, where more than 300 articles were filtered down to
11 representative studies; we analyzed a set of 9 popular open-source
microservice-based applications, selected out of more than 20 open-source
projects; furthermore, to strengthen our evidence, we conducted an online
survey that we then used to cross-validate the findings of the previous steps
with the perceptions and experiences of over 120 practitioners and researchers.
Through this process, we were able to categorize the state of practice and
reveal several principled challenges that cannot be solved by software
engineering practices, but rather need system-level support to alleviate the
burden of practitioners. Based on the observations we also identified a series
of research directions to achieve this goal. Fundamentally, novel database
systems and data management tools that support isolation for microservices,
which include fault isolation, performance isolation, data ownership, and
independent schema evolution across microservices must be built to address the
needs of this growing architectural style
Report from GI-Dagstuhl Seminar 16394: Software Performance Engineering in the DevOps World
This report documents the program and the outcomes of GI-Dagstuhl Seminar
16394 "Software Performance Engineering in the DevOps World".
The seminar addressed the problem of performance-aware DevOps. Both, DevOps
and performance engineering have been growing trends over the past one to two
years, in no small part due to the rise in importance of identifying
performance anomalies in the operations (Ops) of cloud and big data systems and
feeding these back to the development (Dev). However, so far, the research
community has treated software engineering, performance engineering, and cloud
computing mostly as individual research areas. We aimed to identify
cross-community collaboration, and to set the path for long-lasting
collaborations towards performance-aware DevOps.
The main goal of the seminar was to bring together young researchers (PhD
students in a later stage of their PhD, as well as PostDocs or Junior
Professors) in the areas of (i) software engineering, (ii) performance
engineering, and (iii) cloud computing and big data to present their current
research projects, to exchange experience and expertise, to discuss research
challenges, and to develop ideas for future collaborations
Robust Contract Evolution in a TypeSafe MicroServices Architecture
Microservices architectures allow for short deployment cycles and immediate
effects but offer no safety mechanisms when service contracts need to be
changed. Maintaining the soundness of microservice architectures is an
error-prone task that is only accessible to the most disciplined development
teams. We present a microservice management system that statically verifies
service interfaces and supports the seamless evolution of compatible
interfaces. We define a compatibility relation that captures real evolution
patterns and embodies known good practices on the evolution of interfaces.
Namely, we allow for the addition, removal, and renaming of data fields of a
producer module without breaking or needing to upgrade consumer services. The
evolution of interfaces is supported by runtime generated proxy components that
dynamically adapt data exchanged between services to match with the statically
checked service code.The model was instantiated in a core language whose
semantics is defined by a labeled transition system and a type system that
prevents breaking changes from being deployed. Standard soundness results for
the core language entail the existence of adapters, hence the absence of
adaptation errors and the correctness of the management model. This adaptive
approach allows for gradual deployment of modules, without halting the whole
system and avoiding losing or misinterpreting data exchanged between system
nodes. Experimental data shows that an average of 69% of deployments that would
require adaptation and recompilation are safe under our approach
Architecture for Analysis of Streaming Data
While several attempts have been made to construct a scalable and flexible
architecture for analysis of streaming data, no general model to tackle this
task exists. Thus, our goal is to build a scalable and maintainable
architecture for performing analytics on streaming data.
To reach this goal, we introduce a 7-layered architecture consisting of
microservices and publish-subscribe software. Our study shows that this
architecture yields a good balance between scalability and maintainability due
to high cohesion and low coupling of the solution, as well as asynchronous
communication between the layers.
This architecture can help practitioners to improve their analytic solutions.
It is also of interest to academics, as it is a building block for a general
architecture for processing streaming data
SoK: Security of Microservice Applications: A Practitioners' Perspective on Challenges and Best Practices
Cloud-based application deployment is becoming increasingly popular among
businesses, thanks to the emergence of microservices. However, securing such
architectures is a challenging task since traditional security concepts cannot
be directly applied to microservice architectures due to their distributed
nature. The situation is exacerbated by the scattered nature of guidelines and
best practices advocated by practitioners and organizations in this field. This
research paper we aim to shay light over the current microservice security
discussions hidden within Grey Literature (GL) sources. Particularly, we
identify the challenges that arise when securing microservice architectures, as
well as solutions recommended by practitioners to address these issues. For
this, we conducted a systematic GL study on the challenges and best practices
of microservice security present in the Internet with the goal of capturing
relevant discussions in blogs, white papers, and standards. We collected 312 GL
sources from which 57 were rigorously classified and analyzed. This analysis on
the one hand validated past academic literature studies in the area of
microservice security, but it also identified improvements to existing
methodologies pointing towards future research directions.Comment: Accepted at the 17th International Conference on Availability,
Reliability and Security (ARES 2022
- …