Summary
You now know everything there is to know about pipelines and how you can use them to run various tasks. You've seen how you can pass parameters across the tasks. You have also seen how tasks can be reused with different parameters to produce different outputs.
You can run those tasks either in parallel or in sequence, and you've seen how to use a mix of both to make your pipelines more efficient.
After you learned how to order your tasks, you saw how tasks can output some results that can then be used by a task that comes later in the pipeline execution.
You have also learned how to analyze pipeline runs and visualize them to help you find what is wrong with your pipeline executions when they fail. In the next chapter, you will learn more advanced techniques to debug your tasks and pipelines.