1. If you need real time (<15mins latency or so) features coming from your event stream in predictions, then using DynamoDB is a good idea. Otherwise it may be possible to do without it.
2. For real-time predictions, you need some place to host your models. You can use Sagemaker Model Hosting or you can deploy an ordinary microservice.
3. You can use Metaflow in steps 7 and 8 above to train models and to precompute predictions, if that's an option. If you need real-time, you can load the model trained in Metaflow to a model hosting service.