Many concepts are hidden from individual systems that make up the distributed system. An individual system might be relocated without customer visibility. There may be many equivalent services. The data might be moved without customer visibility. A service might cover for a failing service.
Complete opaqueness in practice is difficult but in theory, if two services provide the same level of service and support the same contract, then they can be substituted for each other and the customer should not be able to tell.
Not all information should be hidden. If a customer really wants to know which of the many systems is providing the service, that information should be available. Likewise, a customer should be able to specify a particular service from a collection of services.
In general, most users don't care for this level of detail especially if equivalent services can be offered. How often do you get to specify the routing path of a packet? How often do you want to specify the path? It is only the rare exception where this becomes an issue.