Both of them, but on a different level. The developer should understand the basic characteristics of the architecture in order to deliver software which works, performs and scale. The tester needs to know more about how the system is configured in order to be able to solve possible deployment and configuration issues.