Guiding Architectural Decision Making on Service Mesh Based Microservice Architectures

Microservices are becoming the de-facto standard way for software development in the cloud and in service-oriented computing. Service meshes have been introduced as a dedicated infrastructure for managing a network of containerized microservices, in order to cope with the complexity, manageability, and interoperability challenges in especially large-scale microservice architectures. Unfortunately so far no dedicated architecture guidance for designing microservices and choosing among technology options in a service mesh exist. As a result, there is a substantial uncertainty in designing and using microservices in a service mesh environment today. To alleviate this problem, we have performed a model-based qualitative in-depth study of existing practices in this field in which we have systematically and in-depth studied 40 reports of established practices from practitioners. In our study we modeled our findings in a rigorously specified reusable architectural decision model, in which we identified 14 architectural design decisions with 47 decision outcomes and 77 decision drivers in total. We estimated the uncertainty in the resulting design space with and without use of our model, and found that a substantial uncertainty reduction can be potentially achieved by applying our model.

[1]  John Klein,et al.  Architecture Knowledge for Evaluating Scalable Databases , 2015, 2015 12th Working IEEE/IFIP Conference on Software Architecture.

[2]  Cesare Pautasso,et al.  Guiding Architectural Decision Making on Quality Aspects in Microservice APIs , 2018, ICSOC.

[3]  Frank Leymann,et al.  Ensuring and Assessing Architecture Conformance to Microservice Decomposition Patterns , 2017, ICSOC.

[4]  Stefan Sobernig,et al.  Architectural Decision Making for Service-Based Platform Integration: A Qualitative Multi-Method Study , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[5]  Rainer Weinreich,et al.  Decision guidance models for microservices: service discovery and fault tolerance , 2017, ECBS.

[6]  Cesare Pautasso,et al.  Restful web services vs. "big"' web services: making the right architectural decision , 2008, WWW.

[7]  A. Strauss,et al.  The discovery of grounded theory : strategies for qualitativeresearch [Glaser, 1968] , 1968 .

[8]  Claus Pahl,et al.  Microservices: A Systematic Mapping Study , 2016, CLOSER.

[9]  Wilhelm Hasselbring,et al.  Microservice Architectures for Scalability, Agility and Reliability in E-Commerce , 2017, 2017 IEEE International Conference on Software Architecture Workshops (ICSAW).

[10]  Xiao Liu,et al.  SmartVM: a SLA-aware microservice deployment framework , 2018, World Wide Web.

[11]  Luís Veiga,et al.  Practical Service Placement Approach for Microservices Architecture , 2017, 2017 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID).

[12]  Luciano Baresi,et al.  Microservices Identification Through Interface Analysis , 2017, ESOCC.

[13]  Frank Leymann,et al.  Managing architectural decision models with dependency relations, integrity constraints, and production rules , 2009, J. Syst. Softw..

[14]  Hong Linh Truong,et al.  Service architectures and dynamic solutions for interoperability of IoT, network functions and cloud resources , 2018, ECSA.

[15]  Samuel Kounev,et al.  TeaStore: A Micro-Service Reference Application for Cloud Researchers , 2018, 2018 IEEE/ACM International Conference on Utility and Cloud Computing Companion (UCC Companion).

[16]  Uwe Zdun,et al.  Remoting patterns - foundations of enterprise, internet and realtime distributed object middleware , 2004, Wiley series in software design patterns.

[17]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[18]  Olaf Zimmermann,et al.  Microservices tenets , 2017, Computer Science - Research and Development.

[19]  Sam Newman,et al.  Building microservices - designing fine-grained systems, 1st Edition , 2015 .

[20]  Claus Pahl,et al.  Microservices: The Journey So Far and Challenges Ahead , 2018, IEEE Softw..