Designing our forecasting service
The requirements in the Understanding the forecasting problem section are the definitions of the targets we need to hit, but they are not the method for getting there. Drawing on our understanding of design and architecture from Chapter 5, Deployment Patterns and Tools, we can start building out our design.
First, we should confirm what kind of design we should be working on. Since we need dynamic requests, it makes sense that we follow the microservice architecture discussed in Chapter 5, Deployment Patterns and Tools. This will allow us to build a service that has the sole focus of retrieving the right model from our model store and performing the requested inference. The prediction service should therefore have interfaces available between the dashboard and the model store.
Furthermore, since a user may want to work with a few different store combinations in any one session and maybe switch back and forth between the forecasts of these...