According to Moore’s Law, the processing power of CPU gains double for every 18 months. This should be pretty enough for today computing. However, it is not and there is a demanding on deploying distributed systems. What is the distributed systems anyway? There are several definitions around it. I would like to quote from 2 main editors.
Coulouris et al
A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages
Tanenbaum, Van Steen
A distributed system is a collection of independent computers that appears to its users as a single coherent system
Example of Distributed Systems
- Social Networking (Facebook)
- Distributed File Systems (Hadoop)
- P2P Network
- Cloud Network
- Grid Computing
- Google Web Server, Indexing Server, Google bots, etc.
From the definition, Distributed Systems also looks the same as single system. Let us say about Google Web Server, from users perspective while they submit the searched query, they assume google web server as a single system. Just visit google.com, then search. However, under the hood Google builds a lot of servers even distributes in different geographical area to give you a search result within few seconds.
So the Distributed Systems does not make any sense for normal users. But CEO, CIO or management level should really take care of it for better giving the organizational image by providing the best and on time service to customers.
Why do need Distributed Systems?
The main answer is to cope with the extremely higher demand of users in both processing power and data storage. For example, according to www.datacenterknowledge.com:
Facebook by the end of 2010
- Total users: 500 millions
- Total servers: 60, 000 servers (estimate, Oct 2009)
- 50 millions operations per second
- 1 million photos are viewed every second
- Each month more than 3 billions photos are uploaded
With this extremely demand, I do believe single system could not achieve it. That’s one reason why distributed systems comes in place. There are many reasons that make distributed systems is viable such as high availability, scalability, resistant to failure, etc.