Distributed Computing vs. Centralized Computing
While there were always competing cases for distributed and centralized computing, the popularity of bitcoin and other digital currencies has fueled the debate. Many people view distributed computing as a democratization of technology and a timely challenge to the power of centralized computing.
Let’s first understand the characteristics of a distributed computing system.
In a distributed system, there’s no central authority to make decisions. Those are up to the nodes and the decision of a system is the collective decision of its nodes. As a single data network spread across different locations, the network is the aggregate of the behavior of all the nodes.
A distributed network doesn’t have a centralized processing unit but enables access from all points. To put it another way, this is autonomous computing with equal access. This also ensures that the system can scale both horizontally and vertically.
Another advantage of a distributed system is that it has inherently low latency. This peer-to-peer system ensures geographical reach which limits latency. This also means that the system can’t fail as a single entity. A single node or a cluster might fail but that will have little effect on the system’s ability to function.
But distributed systems also have their inherent disadvantages. To begin with, it’s difficult to achieve the same latency across all nodes. Also, in the absence of a global common clock, temporal ordering is extremely difficult. In such a geographically spread-out system, it becomes almost impossible to log events at the precise time that they happen. It also becomes difficult to form a consensus when every participant is equally empowered.
Recommended by LinkedIn
These are some of the reasons why most big organizations still rely on the conventional system.
The traditional architecture of centralized computing solves many of the problems of distributed systems primarily because of its simplicity. There are only two easily distinguishable sets of actors; servers and clients. In this intuitive system, whether there is a single node or multiple nodes, they are connected to the central server. Whenever the clients need a task executed, they send a request to the server for a response.
An obvious advantage of a centralized computing system is that it runs on a global clock that’s honored by all the nodes and the server. The centralized unit is responsible for the coordination of all nodes which simplifies decision making. Servers are controlled and managed by a related group and decisions and actions come from the leadership of that group.
With today’s technology, distributed computing does not have the performance and response times that centralized computing offers. So it makes it difficult to build larger high-performance solutions.
The user experience is also seamless in such a system as there is a homogeneity of hardware and software that both the client and the company use. Unless there is significant capacity augmentation, a centralized system is also the most cost-efficient one to build as the initial investment is limited by the number of actors.
The biggest disadvantage of a centralized system is its dependency on those limited lanes of connectivity. If there is an interruption in the communication to the server, the whole system is susceptible to breakdowns. This also makes it difficult to maintain as the server will have to be shut down which will pull down the entire network.