The Return of Decentralized Architecture

The Return of Decentralized Architecture

Remember when Skype was all new and cool? Skype used a P2P network to fasciliate communication between peers in the Skype network. Thus, no central system controlled the network. The peers in the network communicated directly with each other. Thus, Skype could offer VOIP calls for free!

Since then, the rise in data center bandwidth made P2P networks feel slow and sluggish compared to centralized architectures - but recent changes in Internet bandwidth of users at the edge of the Internet is about to change that.

Decentralized architectures offer lower costs and higher robustness than centralized solutions. Decentralized architectures are harder to attack with DOS, DDOS or JDOS attacks (Judicial DOS attack). Similarly decentralized architectures offer more robustness against power outages and natural disaster -like scenarios.

Popular cloud providers offer decentralized solutions within their own cloud domain, but not across cloud providers. Thus, if a cloud provider doesn't like your service, or want to copy it, they can simply forbid you to run your software in their cloud (JDOS), or raise the prices of your solution to drive you out of business.

Decentralized architectures have historically been harder to implement. However, recently more and more plug'n-play solutions are emerging. Solutions such as Kafka, Cassandra, DHT in general, CockroachDB, P2P algorithms, IPFS, Lbry, crypto currency networks etc.

I believe decentralized architectures will make a comeback the next 5-10 years. I will definitely watch this space closely. I think you should too.

The beauty of decentralised architectures is that the nodes/agents that implement the service operations make no assumptions regarding their peers, and indeed if "eventually consistent" can even be loosely coupled to the communication channels that they depend on. It is worth pointing out that widely distributed systems can never be both highly consistent and highly available). The main issue therefore is getting them to contribute to a reliable process through a method of choreography that does undermine (through centralisation) the very nature of what is trying to be achieved. This can be done by using the concept of a "Rules Based Architecture" where the behaviour of the nodes is governed by a set of distributed rules that allows them to behave coherently in response to a service request. The service request carries with it, not only the arguments, but also the rulebase with which the service request is associated telling the service where it is allowed to send its result. And by reducing granularity we have a greater knowledge of the complex system behaviour through by understanding the interactions between individual nodes in the process.

Now I have rewritten the core of the article so the main point is readable again :-)

回复
Ramesh Babu Y

Senior Backend Engineer | Java, Spring Boot, Microservices | AI-Powered Backends | Cloud & Distributed Systems (AWS, GCP) | Python, Node.js | Kafka & Event-Driven Architectures

4 年

Jakob Jenkov is article missing ?

回复

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

Jakob Jenkov的更多文章

  • African Developer Stories #1

    African Developer Stories #1

    Some time ago I asked here on LinkedIn to hear from African developers what their educational, technological and job…

    1 条评论
  • The Grid Project and?Vision

    The Grid Project and?Vision

    As you may know, I am the co-founder and lead architect of the https://vstack.co project.

    4 条评论

社区洞察

其他会员也浏览了