# 12A Understanding Where a Service Runs

Before I ask why a service is unavailable, I first need to know where it runs and how a request reaches it.
An application may run directly on the host, inside a container, or within a virtual machine that has its own environment.
These arrangements can look similar in a browser while depending on different ports, network routes, and configuration files behind the scenes.
I describe the actual setup before proposing a change, because restarting the wrong service may not affect the problem at all.
The next step is to check which process is running and whether it is listening at the address that the client uses.
A running process does not automatically mean that the application is reachable from every other machine or environment on the network.
The request may still be blocked, sent to the wrong port, or directed through a proxy that is configured differently than expected.
I find it helpful to follow one request from the browser to the application and identify each important connection along that path.
This creates a shared explanation of the environment instead of a collection of unrelated commands that happen to change its state.
Once the path is clear, we can investigate the specific point where the expected behavior stops and choose an appropriate next action.