InfoQ Homepage Architecture Content on InfoQ
-
9 Steps towards an Agile Architecture
Just as a Minimum-Viable Architecture (MVA) approach does not create a system’s architecture in a single step, adopting an MVA approach takes a series of incremental steps as well. These organizational changes start with a single development team and use feedback to evolve the process as more teams are brought in.
-
Is Your Test Suite Brittle? Maybe It’s Too DRY
One important design principle in software development is DRY – Don’t Repeat Yourself. However, when DRY is applied to test code, it can cause the test suite to become brittle — difficult to understand, maintain, and change. In this article, I will present some indications that a test suite is brittle, guidelines to follow when reducing duplication in tests, and better ways to DRY up tests.
-
Article Contest: Write an Article for InfoQ and Win a QCon or Dev Summit Ticket
InfoQ encourages software practitioners and domain experts to submit full-length technical educational articles.
-
InfoQ Software Architecture and Design Trends Report - April 2024
The InfoQ Trends Reports offer InfoQ readers a comprehensive overview of key topics worthy of attention. The reports also guide the InfoQ editorial team towards cutting-edge technologies in our reporting. In conjunction with the report and trends graph, our accompanying podcast features insightful discussions among the editors digging deeper into some of the trends.
-
Managing 238M Memberships at Netflix
In this article Surabhi Diwan shared how the Netflix membership team does distributed systems: the architecture bets, technology choices, and operational semantics that serve the needs of Netflix’s ever-growing member base.
-
Architecting for High Availability in the Cloud with Cellular Architecture
Cellular architecture is a design pattern that helps achieve high availability in multi-tenant applications. The goal is to design your application so that you can deploy all of its components into an isolated "cell" that is fully self-sufficient. It can benefit your customers regarding availability and ensure you hit your SLAs.
-
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.
-
Getting Technical Decision Buy-In Using the Analytic Hierarchy Process
Making large, important technical decisions is a critical aspect of a senior individual contributor's role. This article examines how Comcast has employed the Analytic Hierarchy Process (AHP), a decision-making framework developed in the 1970s, and adapted it for making technical and non-technical decisions both large and small.
-
Agile Architecture, Lean Architecture, or Both?
When it comes to software architecture, should you adopt an agile or a lean approach? The answer, of course, is "it depends." Agile is better suited for situations where you know what you need, but not how to build it. Lean is more appropriate when requirements are certain and you want to optimize a well-known process.
-
Testing Machine Learning: Insight and Experience from Using Simulators to Test Trained Functionality
When testing machine learning systems, we must apply existing test processes and methods differently. Machine Learning applications consist of a few lines of code, with complex networks of weighted data points that form the implementation. The data used in training is where the functionality is ultimately defined, and that is where you will find your issues and bugs.
-
Spring Boot 3.2 and Spring Framework 6.1 Add Java 21, Virtual Threads, and CRaC
Spring Framework 6.1 and Spring Boot 3.2 run on Java 21. They make concurrent programming simpler and more efficient with virtual threads, as well as improving reactive programming and Kotlin coroutines. For “Scale to Zero” startup time reduction, the OpenJDK project CRaC received initial support, while the existing GraalVM Native Image integration got faster through a GraalVM release.
-
Understanding Architectures for Multi-Region Data Residency
This article focuses on implementing data residency strategies for a positive stakeholder experience. It underscores the need to diversify data locations, driven by motivations like disaster recovery and geo-redundancy. The core principle is data distribution, ensuring specific sets reside in distinct regions without overlap - a practice termed data residency.