On a high level, most typical applications consist of workflows that process tasks. Within each workflow are steps performing actions on the tasks. In modern applications, these steps are typically implemented as container services or serverless microservices.
If we use an analogy to help understand this, then the application would be an organisation such as a fast-food restaurant, the workflows are teams, such as the team that takes an order, prepares it then brings it to the customer, and the steps are the individual team members performing their respective jobs.
This article will compare two approaches for managing the flow of tasks through a workflow: service orchestration vs service choreography.
Let’s start with service orchestration. In our analogy, this approach would be like having your traditional manager running the team. The manager…