Best Practices for Hosting for Production use

I am new to DeepStack and going to play with it with locally using the tutorials. I found the project great! Thanks to the core team for the same.

I have some questions, pls point me in right direction:

  1. What could be used as optimum hardware infra for this?
  2. I am thinking to host this on AWS. Pls advise best practices for creating scalable, easy to maintain, persistent service using AWS. Prefer docker / K8 way to host it.
  3. How to make data persistent in AWS S3 or somewhere else, given it is hosted as docker AWS S3.
  4. Any architecture how many docker containers are being run totally? What should be run on dedicated machine or everything should be run on dedicated machine? What’s best for scalable production env?
  5. If multiple containers are being run - what are the most memory / cpu / gpu intensive process containers that should be scaled if needed?

I believe this should be added in official docs too.