Organizing VirtualServices and Gateways



I’m pretty new and I’ve read and followed the following guide about Istio custom gateways.

How should Istio Gateways and VirtualServices be organized within Namespaces?
Is it correct that both the Gateway and the VirtualService needs to be organized within the same Namespace?
Should I configure my custom Gateway in the same Namespaces as the backing Service and Deployment for my custom gateway?
Should I configure my custom Gateway multiple times against the same backing Service and Deployment?