Exploring the unreasonable effectiveness of patterns
In this book, we have already mentioned a few times that we should not attempt to reinvent the wheel and we should reuse, repeat, and recycle what works according to the wider software and ML community. This is also true about your deployment architectures. When we discuss architectures that can be reused for a variety of different use cases with similar characteristics, we often refer to these as patterns. Using standard (or at least well-known) patterns can really help you speed up the time to value of your project and help you engineer your ML solution in a way that is robust and extensible.
Given this, we will spend the next few sections summarizing some of the most important architectural patterns that have become increasingly successful in the ML space over the past few years.
Swimming in data lakes
The single most important asset for anyone trying to use ML is, of course, the data that we can analyze and train our...