Software Development

Polyglot Applications

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 [1].

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 [2]:

  • 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.

[1] http://www.sleberknight.com/blog/sleberkn/entry/polyglot_persistence

[2] https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274

Published on Java Code Geeks with permission by Furkan Kamaci, partner at our JCG program. See the original article here: Polyglot Applications

Opinions expressed by Java Code Geeks contributors are their own.

Furkan Kamaci

Furkan KAMACI is a Machine Learning, NLP and Search Expert who loves Java! He works at Alcatel - Lucent as Integration Professional.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button