The Eight Fallacies of Distributed Computing

The Eight Fallacies of Distributed Computing

Distributed computing is the field of computer science that deals with the development of applications that run across multiple interconnected devices. While the concept of distributed computing has been around for decades, it remains a complex and challenging area of study. One of the reasons for this is the existence of the so-called "eight fallacies of distributed computing." In this article, we'll explore these fallacies in detail and discuss their implications for distributed computing systems.

Fallacy #1: The Network Is Reliable

One of the fundamental assumptions of distributed computing is that the network connecting the devices is reliable. However, in reality, networks can be unpredictable and prone to failure. Networks can be affected by factors such as latency, bandwidth limitations, and congestion. As a result, distributed computing systems must be designed to tolerate network failures and handle communication delays effectively.

Fallacy #2: Latency Is Zero

Latency is the time it takes for a message to travel from one device to another. Distributed computing systems often rely on messaging between devices to communicate, and latency can have a significant impact on the system's performance. The assumption that latency is zero is a fallacy since even the most high-speed networks have some level of latency. Developers must take latency into account when designing distributed computing systems to ensure they can handle communication delays effectively.

Fallacy #3: Bandwidth Is Infinite

Bandwidth is the amount of data that can be transmitted over a network in a given amount of time. Many developers assume that bandwidth is infinite when designing distributed computing systems, which is not true. Bandwidth limitations can have a significant impact on system performance and can cause communication delays. Developers must take bandwidth limitations into account when designing distributed computing systems to ensure they can handle large volumes of data effectively.

Fallacy #4: The Network Is Secure

Security is a critical consideration in distributed computing systems since data is transmitted across the network. Many developers assume that the network is secure, which is not always the case. Hackers can intercept data transmitted over the network, and network security breaches can result in the theft or corruption of data. Developers must implement appropriate security measures to ensure data transmitted across the network is secure.

Fallacy #5: Topology Doesn't Change

The topology of a distributed computing system refers to the way the devices are interconnected. Developers often assume that the topology of the system is static, which is not true. Devices can be added or removed from the network, and devices can fail, which can change the topology of the system. Developers must design distributed computing systems to be resilient to changes in the topology of the system.

Fallacy #6: There Is One Administrator

Distributed computing systems often have multiple administrators, which can lead to conflicts and coordination challenges. Developers often assume that there is one administrator responsible for the entire system, which is not true.

Multiple administrators in a distributed system pose several challenges. Firstly, there is the issue of coordination. If multiple administrators are responsible for different parts of the system, they need to coordinate with each other to ensure that their actions do not negatively impact other parts of the system. This coordination can be difficult to achieve, especially if the administrators have different goals or are located in different time zones.

Secondly, there is the issue of security. Multiple administrators mean that there are more potential attack vectors for hackers and malicious actors. Each administrator may have their own security protocols and practices, which can be difficult to monitor and manage centrally. This can lead to security vulnerabilities that can be difficult to detect and address.

Thirdly, there is the issue of accountability. When there are multiple administrators, it can be difficult to determine who is responsible for specific actions or decisions. This can make it challenging to hold individuals accountable for their actions and can lead to confusion and finger-pointing when things go wrong.

Finally, there is the issue of cost. Having multiple administrators can be expensive, as each administrator may require their own set of tools, hardware, and software to manage their part of the system. This can lead to duplication of effort and inefficiencies, which can increase the overall cost of the system.

The fallacy of "There Is One Administrator" in distributed systems can lead to challenges in coordination, security, accountability, and cost. It is important for organizations to have a clear understanding of these challenges and to develop strategies for managing multiple administrators in a distributed system.

Fallacy #7: Transport Cost Is Zero

Transport cost refers to the cost of transmitting data across the network. Developers often assume that transport cost is zero, which is not true. Transport costs can have a significant impact on the performance of distributed computing systems. Transport cost in distributed systems is not zero due to various reasons. One reason is that data transmission over a network requires physical resources, such as network cables, switches, and routers, which come at a cost. Additionally, the amount of data being transmitted can also affect the cost, as larger amounts of data may require higher bandwidth or more expensive network infrastructure. Developers must take transport costs into account when designing distributed computing systems to ensure they can handle communication costs effectively.

Fallacy #8: The Network Is Homogeneous

Many developers assume that the devices in a distributed computing system are identical, which is not true. Devices can have different operating systems, software, hardware, and communication protocols, which can create interoperability issues. Developers must design distributed computing systems to be interoperable with different devices and operating systems.


In conclusion, understanding the eight fallacies of distributed computing is essential for designing and implementing robust and scalable distributed systems. Designers must consider the distributed nature of the system and the challenges it poses when designing communication protocols, handling network latency and bandwidth limitations, dealing with changes in network topology, coordinating with multiple administrators, securing the system against attacks, and optimizing performance. By taking these factors into account, designers can create systems that are resilient, scalable, and performant, and meet the needs of modern distributed applications.

要查看或添加评论,请登录

Harendra Pathak的更多文章

  • Why did the Spotify model fail?

    Why did the Spotify model fail?

    Spotify model or the Agile at Scale model was introduced by Spotify as a way to address the challenges that come with…

    2 条评论

社区洞察

其他会员也浏览了