We had centralized applications. We introduced with distributed applications. Now, we have decentralized applications. Will it replace the whole system?
I remember the emerge of NoSQL databases when I think about the future of data stores like IPFS which are designed as a P2P data store. One was claiming that NoSQL databases will replace SQL databases and another opposite of it. However, we have polyglot data stores now .
Decentralized applications have a potential of breaking the whole rules. We may have a more secure and trustless world with it. However, both centralized, distributed and decentralized applications have their own benefits. We will always need centralized applications as distributed application didn’t replace them today. We will also need decentralized applications too.
Benefits of decentralized applications are :
- Fault tolerance
- Attack resistance
- Collusion resistance
However, they have their own drawbacks despite the issues like democratizing the considerations behind protocol upgrades as like performance and price.
A combined architecture seems to be the future of us. I name them as “Polyglot Applications” which includes both centralized, distributed and decentralized applications.
Polyglot Application Architecture is about choosing the right application architecture for the needs you have. You may need a centralized application at which you run an application on a dedicated server which may provide you the efficiency of computing but has a built-in single point of failure. You may need a distribution application for which your calculations are done via a set of a cluster of computers and you may get more efficiency than a centralized system. You may need a decentralized application at which you can get trust and security but lose some other benefits i.e. calculation efficiency.
All architectures have their pros and cons. There is no silver bullet for any architecture. It is all about choosing the right application architecture.