Of course, the challenge of running graphs of dependent tasks is hardly a new problem in computing. Over the years, many so-called “workflow management” solutionshave been developed to tackle this problem, which generally allow you to define andexecute graphs of tasks as workflows or pipelines. Some well-known workflow managers you may have heard of include those listedin table 1.1.