학술논문

Performance Modeling and Analysis of Design Patterns for Microservice Systems
Document Type
Conference
Source
2023 IEEE 20th International Conference on Software Architecture (ICSA) ICSA Software Architecture (ICSA), 2023 IEEE 20th International Conference on. :35-46 Mar, 2023
Subject
Computing and Processing
Performance evaluation
Analytical models
Pain
Software architecture
System performance
Microservice architectures
Performance gain
Software Architecture
Model-based Performance Analysis
Microservices
Design Patterns
Language
Abstract
The adoption of design patterns in the microservice architecture and cloud-native development scope was recently reviewed to investigate the industry practice. Interestingly, when considering performance-related aspects, practitioners focus on specific metrics (e.g., the time taken to handle requests) to identify sources of performance hindrance. This paper investigates a subset of seven design patterns that industrial practitioners indicate as relevant for system performance. We are interested to quantify the impact of these patterns while considering heterogeneous workloads, thus supporting software architects in understanding the root causes of performance issues. We use queuing networks to build the performance models of the seven design patterns and extract quantitative insights from model-based performance analysis. Our performance models are flexible in their input parameterization and reusable in different application contexts. We find that most design patterns confirm the expectation of practitioners, and our experimental results assess the identified performance gains and pains. One design pattern (i.e., Gateway Offloading) shows the peculiar characteristic of contributing to performance pains in some cases, leading to novel insights about the impact of design patterns in microservice systems.