Making a Pipeline System Highly Available
While we have seen how a pipeline can help with keeping a design modular and keeping research reproducible, another advantage of a pipeline system is that it can help make a system highly available. This means that the system will remain at least partially operational, even in unexpected scenarios or under high load. For example, popular messaging apps such as Facebook Messenger might occasionally deliver messages more slowly if there are global networking problems, but it is rare for it to not be able to deliver messages at all. Therefore, we say that Facebook Messenger has high availability.
We've already seen how we can easily swap out various components, but in our design, each component relied on the previous component to execute flawlessly. If any step had a problem, the entire system would break down because each component connected directly to the previous and following components.
In the real world, it is common for one...