Answers are grounded in this paper and cite their sources.
Scale should be recognized as a primary factor influencing the architecture and implementation of distributed systems. This paper uses Andrew, a distributed environment at Carnegie Mellon University, to validate this proposition. The design of Andrew is dominated by considerations of performance, operability and security. Caching of information and placing trust in as few machines as possible emerge as two general principles that enhance scalability. The separation of concerns made possible by specialized mechanisms is also valuable. Heterogeneity is a natural consequence of growth and anticipating it in the initial stages of system design is important. A location transparent shared file system considerably enhances the usability of a distributed environment.
No takes yet. Share an insight, caveat, or question.
Mahadev Satyanarayanan (1988) studied this question.