An increasingly distributed and fragile world
Workflow platforms are important because software engineers are increasingly adopting distributed systems in their
architecture. There are two reasons for this change: 1) Users are demanding more frequent releases, feature teams,
better peformance, and higher availability; 2) Providers are increasingly moving away from “use our library” (Spring
Framework) to “use our APIs” (AWS, Azure, and GCP).
This change is undoubtedly a good thing, however, it also introduces new problems. It is much harder to trace program
execution in a distributed system. A business process can span multiple services, created by multiple teams, in a
variety of programming languages. There are more ways for things to fail, less consistency in code quality and
documentation, and it’s harder to understand what happens when things go wrong.