InfoQ Homepage Distributed Systems Content on InfoQ
-
Zero-Knowledge Proofs for the Layman
This article will introduce you to zero-knowledge proofs, a kind of cryptography you can use to provide the proof you know a secret, such as a private key or the solution to a problem, without ever sharing it to an interested party. While many articles exist on the topic, this will not require any high math knowledge.
-
The False Dichotomy of Monolith vs. Microservices
Taking sides in the debate of microservices v. monolith gets in the way of doing the right thing for our customers. Sometimes, we need microservices. Sometimes, we need a monolith. Most of the time we are better off somewhere between these extremes.
-
Migrate a RMI-Based Legacy Application to WebSocket
Technical debt, especially in enterprise software, is a relevant problem that developers recurrently have to face. This article provides a use case related to removing technical debt in a large enterprise application based on an old fashioned Remote Method Invocation (RMI) protocol, and migrating it toward modern cloud-aware communication technologies.
-
Location, Location, Location: MVA Considerations for Distributed Processing and Data
Even when designing a Minimum Viable Architecture (MVA), developers must consider resource location, especially when mobile apps are part of a distributed system. Distributing the data and processing can introduce new challenges if location is not part of the decision-making criteria.
-
Seven Ways to Fail at Microservices
At QCon Plus last November, I presented some of the ways microservices can go wrong. I’m a consultant for IBM, and part of my job is helping businesses get cloud-native. These problems are based on my experience – which, unfortunately, I see repeatedly in the field.
-
Forensic Monitoring of Blockchains is Key for Broader Industry Adoption
This article presents a new blockchain consensus mechanism, XinFin Delegated Proof-of-Stake Consensus Protocol 2.0, that provides a higher level of trust by creating an efficient judiciary system. It has been designed to keep all verifying nodes accountable and allow for bad actors to be identified and effectively neutralized.
-
Building Reliable Software Systems with Chaos Engineering
Advances in large-scale, distributed software systems are changing the game for software engineering. As an industry, we are quick to adopt practices that improve flexibility and improve feature velocity. If we can move quickly, can we do so without breaking things? Chaos Engineering practices can be used to navigate complexity and build more reliable systems.
-
Can We Trust the Cloud Not to Fail?
I will start with the theory behind failure detection, and then review a couple of real-world examples of how the mechanism works in a real cloud - on Azure. Even though this article includes real-world applications of failure detection within Azure, the same notions could also apply to GCP, AWS, or any other distributed system.
-
The Evolution of Distributed Systems on Kubernetes
At QCon in March, Bilgin Ibryam, product manager at Red Hat, gave a talk on the evolution of distributed systems with Kubernetes. You might have an answer to that, and Ibryam has one too. At the end of the article, you will find out what he thinks the answer will be.
-
Microservices from the Trenches: Lessons, Benefits, Challenges, and Mistakes
Nicky Wrightson, from Skyscanner, hosted a panel at QCon London with participants who have moved from the monolith to microservices and in some cases back again. They share their experience with microservices on production, and also strong opinions on monorepos, on operating distributed systems, and on the best way to structure an organization to make a success of this architecture.
-
Migrating Monoliths to Microservices with Decomposition and Incremental Changes
Microservices migrations are not a trivial change. You have to think carefully about whether or they're right for you. Maybe a monolith would be enough for your context and business needs. In this article, Sam Newman shares some decomposition and incremental changes patterns that can help you to evaluate and migrate to a microservices architecture.
-
Performance Tuning Techniques of Hive Big Data Table
In this article, author Sudhish Koloth discusses how to tackle performance problems when using Hive Big Data tables.