Publication Type
Conference Proceeding Article
Version
acceptedVersion
Publication Date
12-2021
Abstract
Microservices-based applications consist of loosely coupled, independently deployable services that encapsulate units of functionality. To implement larger application processes, these microservices must communicate and collaborate. Typically, this follows one of two patterns: (1) choreography, in which communication is done via asynchronous message-passing; or (2) orchestration, in which a controller is used to synchronously manage the process flow. Choosing the right pattern requires the resolution of some trade-offs concerning coupling, chattiness, visibility, and design. To address this problem, we propose a decision framework for microservices collaboration patterns that helps solution architects to crystallize their goals, compare the key factors, and then choose a pattern using a weighted scoring mechanism. In cases where there is no clear preference, a hybrid pattern is suggested which inherits some strengths of both choreography and orchestration. We demonstrate the framework by evaluating the needs of three industry case studies (Danske Bank, LGB Bank, Netflix), showing that it leads to appropriate patterns being suggested. We are not aware of any existing decision frameworks to guide solution architects in choosing a microservices collaboration pattern.
Keywords
microservices, orchestration, choreography, event-based, invocation-based, service-oriented architecture
Discipline
Databases and Information Systems | Software Engineering
Research Areas
Information Systems and Management; Software and Cyber-Physical Systems
Publication
Proceedings of the 25th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2021), Gold Coast, Australia, October 25-29
First Page
134
Last Page
141
Identifier
10.1109/EDOC52215.2021.00024
Publisher
IEEE
City or Country
New York
Citation
MEGARGEL, Alan @ Ali MADJELISI; POSKITT, Christopher M.; and SHANKARARAMAN, Venky.
Microservices Orchestration vs. Choreography: A decision framework. (2021). Proceedings of the 25th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2021), Gold Coast, Australia, October 25-29. 134-141.
Available at: https://ink.library.smu.edu.sg/sis_research/6577
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.