Subgraph as a proxy VS colocating with the service

Hey folks, curious about the subgraph architecture in your company. Do you use the subgraph as a standalone proxy service, or is it colocated with the actual backend service so that the resolver calls the underlying function directly?

Proxy service: client → router → subgraph → (network call) → backend

Service colocation: client → router → subgraph →(direct function binding)→ backend

What are the pros and cons?