InfoQ Homepage Architecture Content on InfoQ
-
Managing Technical Debt in a Microservice Architecture
At QCon Plus, Glenn Engstrand described how Optum Digital engineering devised a method for reliably and predictably paying down tech debt for hundreds of microservices, forming relevant communities and identifying high-risk areas. The communities' collective decisions can be compiled into an actionable roadmap and presented to product managers in a systemic and non-confrontational way.
-
How to Create a Network Proxy Using Stream Processor Pipy
In this article we are going to introduce Pipy, an open-source cloud-native network stream processor. After describing its modular design, we will see how to rapidly build a high-performance network proxy to serve our specific needs. Pipy has been battle-tested and is already in use by multiple commercial clients.
-
How the Financial Times Approaches Engineering Enablement
Companies need teams working on infrastructure, tooling and platforms; the way they work has to change so that they do not become a bottleneck. These teams need to be about enabling product teams to deliver business value. Investment in this area pays off as it speeds up many other teams and allows product-team engineers to focus on solving business problems that provide value to the organisation.
-
Why Change Intelligence is Necessary to Effectively Troubleshoot Modern Applications
Change Intelligence is often a missing component in incident management. Successfully correlating monitoring and observability data to arrive allows engineers to arrive at the root cause more rapidly. Telemetry provides the building blocks that enable change intelligence to identify and map the root cause, based on changes in the system and their broader impact.
-
Java InfoQ Trends Report—December 2021
This article provides a summary of how the InfoQ Java editorial team and various Java Champions currently see the adoption of technology and emerging trends within the Java and JVM space in 2021.
-
Avoiding Technical Bankruptcy: a Whole-Organization Perspective on Technical Debt
Technical debt is not primarily caused by clumsy programming, and hence we cannot hope to fix it by more skilled programming alone. Rather, technical debt is a third-order effect of poor communication. What we observe and label “technical debt” is the by-product of a dysfunctional process. To fix the problem of accumulating technical debt, we need to fix this broken process.
-
Getting Started with gRPC and .NET
In this article, the author introduces the core concepts behind gRPC and how it can be used with API development. The basic pros and cons of using gRPC instead of REST are also explained with a scenario analysis. The text is illustrated with a step-by-step tutorial on how to use gRPC to develop streaming services in .NET.
-
You’re Doing it Wrong: it’s Not about Data and Applications – It’s about Processes
Classic developer thinking tends to approach application design from a data-centric point of view. When the domain is process management, that often leads to excess complexity and work; it also (wrongly) over-reduces proactive processes to quick bursts of automation triggered by data changes. There’s a better way to do this: start with the process.
-
Lightweight External Business Rules
Complex enterprise applications usually come with varying business logic. Such conditions and subsequent system actions, known as rules, are ever varying and demand involvement of domain specific knowledge more than technology and programming. The rules must reside outside the codebase, authored by people with core domain expertise with minimal tech knowledge.
-
Design Patterns for Serverless Systems
After shortly introducing design patterns at different levels of abstractions, this article will present a few patterns specifically suited to serverless systems, including the Pipes and Filters pattern and show a POC implementation using AWS EventBridge.
-
Introducing the KivaKit Framework
In this article, we take a brief tour of the KivaKit open source Java microservices application framework. KivaKit is a collection of mini-frameworks designed to work together. Each mini-framework is described in more detail at https://www.kivakit.org as well as on Jonathan Locke’s blog State of the Art.
-
Microservices — the Letter and the Spirit
Microservices to be a pattern of ‘decoupled services’ managed to get the best out of it (the underlying understanding of the pattern (‘small’ vs ‘decoupled’) forces developers to take certain design decisions that are consistent with these objectives. In this article discuss we will discuss well and poor implementations: ‘small-services’ vs ‘decoupled-services’ or ‘Letter’ vs the ‘Spirit’.