Pipeline Architectures

Pipelines help split your architecture into distinct components. They help you think about how things are going to communicate. You can use the correct tool for the job, as all you need to do is implement the correct interface at the edges. Finally, they lead to a ‘tell, don’t ask’ model which makes issues easier to debug.

By designing your architecture as a pipeline, you decouple all of your components and make sure that each part has a very specific responsibility. If you ever want to replace one of the parts in your pipeline, just make sure that the new implementation adheres to the contract that it’s supposed to at both ends and things should just continue to work.

This talk will look at how to start putting together a pipeline architecture and how to test them, as well as looking at a few case studies of how existing systems can be refactored to behave as a pipeline.

Michael is a polyglot software engineer, committed to reducing complexity in systems and making them more predictable. Working with a variety of languages and tools, he shares his technical expertise to audiences all around the world at user groups and conferences. You can follow @mheap on Twitter

Details

  • Event: PHPNW15
  • Date: Saturday, 3rd October 2015
  • Location: Manchester, England

Slides

Video