InfoQ Homepage Architecture & Design Content on InfoQ
-
Building Distributed Event-Driven Architectures across Multi-Cloud Boundaries
Multi-cloud event-driven architectures are now essential, not optional. With most organizations already multi-cloud, success depends on optimizing latency, ensuring resilience, and managing event consistency across providers. Key practices include code-level tuning, robust recovery policies, duplicate prevention, observability, and strong team readiness.
-
Holistic Engineering: Organic Problem Solving for Complex Evolving Systems
Late projects. Architectures that drift from their original design. Code that mysteriously evolves into something nobody planned. These persistent problems in software development often stem not from technical failures, but from forces we pretend don't exist—reward systems that incentivize the wrong behaviors, organizational structures that ignore domain boundaries, and human dynamics.
-
When Reverse Proxies Surprise You: Hard Lessons from Operating at Scale
Operating massive reverse proxy fleets reveals hard lessons: optimizations that work on smaller systems fail at scale; mundane oversights like missing commas cause major outages; and abstractions meant to simplify become hidden fragility points. Success requires profiling on target hardware, relentlessly monitoring boring details, keeping hot paths lean, and trusting instrumentation over theory.
-
Building Resilient Platforms: Insights from over Twenty Years in Mission-Critical Infrastructure
Building resilient platforms requires understanding the art and science of creating infrastructure that others depend on for critical applications. This perspective applies to anyone who builds software consumed by others at scale. Whether developing infrastructure platforms, software development platforms, or messaging systems, principles address how to build software that others consume at scale
-
Empowering Teams: Decentralizing Architectural Decision-Making
In today’s rapidly evolving tech landscape, centralized architectural decision-making can become a bottleneck to delivery performance and innovation. Through stories from our own journey, we’ll share how decentralizing decisions improved alignment across teams, empowered faster decision-making, and fostered a culture of ownership.
-
Beyond Accidental Quality: Finding Hidden Bugs with Generative Testing
Generative testing uncovers hidden software bugs by exploring the input space and verifying system invariants. This surpasses example-based tests that rely on known scenarios and can miss edge cases.
-
Building a RAG Application with Spring Boot, Spring AI, MongoDB Atlas Vector Search, and OpenAI
The RAG paradigm redefines AI: it combines generative models and business data for accurate, contextualised responses. The article shows how to integrate Spring Boot, Spring AI, MongoDB Atlas and OpenAI into a powerful and flexible pipeline capable of transforming the way businesses access and create value from data, with applications ranging from finance and healthcare to customer service.
-
Three Questions That Help You Build a Better Software Architecture
To architect effectively for an MVP, teams must answer three questions in order: Is the business idea worth pursuing? What performance and scalability are needed? How much maintainability and supportability are required? These guide Minimum Viable Architecture decisions. Empirical testing helps reject costly assumptions early and adapt architecture as the MVP evolves.
-
If Architectures Could Talk, They’d Quote Your Boss
Software architecture reflects how organizations communicate and make decisions. Failures stem from misaligned incentives, unclear ownership, and structural gaps—not technical flaws. Architects must design not just systems, but the conditions for systems to thrive, using platform thinking to reduce friction and foster autonomy.
-
Bringing AI Inference to Java with ONNX: a Practical Guide for Enterprise Architects
Java applications can now run transformer-based AI models directly within the JVM—without Python, REST wrappers, or microservices. This guide shows how to integrate ONNX-powered inference with tokenizer support, GPU acceleration, modular deployment, and observability, enabling architects in regulated domains to adopt AI without disrupting compliance or CI/CD workflows.
-
A Pipeline Approach to Language Migrations
Automated language migrations can be made reliable and maintainable by structuring them as pipelines with clear, testable stages. This avoids the pitfalls of big-bang rewrites while providing transparency and modularity. The pipeline approach ensures idiomatic code, preserves legacy business logic, and supports large-scale transformations from outdated systems.
-
Engineering a Time Series Database Using Open Source: Rebuilding InfluxDB 3 in Apache Arrow and Rust
At times, to evolve your product, you need to rebuild it from scratch. The article provides the story behind the rewrite of InfluxDB from scratch using a different programming language - Rust - and stack - Apache Flight, Data Fusion, Apache Arrow and Parquet (FDAP). It emphasises the benefits, as well as the mechanics behind its operation and the different versions of the product.