A distributed system is a collection of independent computers that appears to its users as a single coherent system. It provides transparency around resources that may be located remotely, shared concurrently, or migrated. Distributed systems achieve scalability through techniques like dividing resources across multiple servers. They employ various architectures including client-server, multitier, and middleware to distribute functionality.