Litcius/Paper detail

Performance Modeling and Analysis of Design Patterns for Microservice Systems

Riccardo Pinciroli, Aldeida Aleti, Catia Trubiani

202313 citationsDOI

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.

Topics & Concepts

Computer scienceScope (computer science)Software design patternQueueing theoryCloud computingMicroservicesArchitectureDefault gatewayDistributed computingData scienceSoftware engineeringSoftwareComputer networkOperating systemVisual artsProgramming languageArtSoftware System Performance and ReliabilitySoftware-Defined Networks and 5GCloud Computing and Resource Management
Performance Modeling and Analysis of Design Patterns for Microservice Systems | Litcius