https://medium.com/expedia-group-tech/software-architectural-patterns-in-data-engineering-5d3bf22106a0