A Case for Microservices Orchestration Using Workflow Engines

04/14/2022
by   Anas Nadeem, et al.
0

Microservices have become the de-facto software architecture for cloud-native applications. A contentious architectural decision in microservices is to compose them using choreography or orchestration. In choreography, every service works independently, whereas, in orchestration, there is a controller that coordinates service interactions. This paper makes a case for orchestration. The promise of microservices is that each microservice can be independently developed, deployed, tested, upgraded, and scaled. This makes them suitable for systems running on cloud infrastructures. However, microservice-based systems become complicated due to the complex interactions of various services, concurrent events, failing components, developers' lack of global view, and configurations of the environment. This makes maintaining and debugging such systems very challenging. We hypothesize that orchestrated services are easier to debug and to test this we ported the largest publicly available microservices' benchmark TrainTicket, which is implemented using choreography, to a fault-oblivious stateful workflow framework Temporal. We report our experience in porting the code from traditional choreographed microservice architecture to one orchestrated by Temporal and present our initial findings of time to debug the 22 bugs present in the benchmark. Our findings suggest that an effort towards making a transition to orchestrated approach is worthwhile, making the ported code easier to debug.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/10/2021

An Empirical Study on Serverless Workflow Service

Along with the wide-adoption of Serverless Computing, more and more appl...
research
05/17/2022

Static analysis tools in the era of cloud-native systems

Microservices fuel cloud-native systems with small service sets develope...
research
03/06/2022

A Realtime Monitoring Platform for Workflow Subroutines

With the advancement in distributed computing, workflow management syste...
research
12/28/2020

A Kubernetes Controller for Managing the Availability of Elastic Microservice Based Stateful Applications

The architectural style of microservices has been gaining popularity in ...
research
12/06/2022

Microservice Architecture Practices and Experience: a Focused Look on Docker Configuration Files

Cloud applications are more and more microservice-oriented, but a concre...
research
08/17/2021

Robustifying Controller Specifications of Cyber-Physical Systems Against Perceptual Uncertainty

Formal reasoning on the safety of controller systems interacting with pl...

Please sign up or login with your details

Forgot password? Click here to reset