What is distributed systems and why do we need it have been discussed in this blog. So now I will discuss the pros and cons of distributed systems in general. Understanding this pros and cons shapes the designing the distributed systems.
- Mainframe is too expensive compares to buying several commodity servers. Commodity servers refer to a server with Intel Xeon architecture or AMD Opteron or Mac architecture.
- By combining thousands of servers processing power and storage capacity, distributed systems is extremely powerful compares to mainframe or super computer.
- Resources such as processing and storage capacity can be increased incrementally. In other words, if distributed systems is better designed, adding nodes and storage and just plug-and-play.
- By having redundant components, the impact of hardware and software faults on users can be reduced. The fault components just simply be added to scale it up.
- Inherent distribution
- Some applications like the web, email, instant messaging, social network, etc. are naturally distributed.
- Current network capacity might be limited by 10 Gbps. And network is needed to connect thousands of independent computers and is subjected to performance bottleneck.
- Security is the most concerning issue in every computing. Distributed systems also needs to be designed not to be easily compromised.
- Software complexity
- Developing software for distributed systems is the hardest part. It requires a lot of expertises with different software platforms to build very large interactive software stack.