InfoQ Homepage Development Content on InfoQ
-
Scaling Cloud and Distributed Applications: Lessons and Strategies
The article shares goals and strategies for scaling cloud and distributed applications, focusing on lessons learned from cloud migration at Chase.com at JP Morgan Chase. The discussion centers on three primary goals and the strategies addressing the goals, concluding how these approaches were achieved in practice. For those managing large-scale systems, these lessons provide valuable guidance!
-
Micro-Frontends: a Sociotechnical Journey toward a Modern Frontend Architecture
Micro-frontends differ from components by emphasising autonomy and flow over standardisation and reuse—a sociotechnical shift aligned with Conway's law. Migration should be gradual, starting where autonomy is most beneficial and ensuring that the architecture aligns with the team structure. Duplication can benefit the flow and enable iterative delivery, rather than requiring extensive rewrites.
-
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.
-
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.
-
Go Channels: Understanding Happens-Before for Safe Concurrency
This article dives into the happens-before semantics of Go channels, explaining how they relate to memory visibility, synchronization, and concurrency correctness. We'll examine subtle pitfalls, illustrate them with examples, and explore the architectural implications for system designers.
-
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.
-
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.
-
FedCM: a New Proposed Identity Standard That Could Change How We Log in on the Web
FedCM is a new proposed browser API for secure, frictionless, privacy-preserving federated logins. FedCM simplifies user authentication, for both user and developers and reduces the reliance on third-party cookies. The proposal is currently a public working draft moving towards a candidate recommendation from the W3C It's actively developed, with Chromium browsers already supporting it.
-
Evaluating Kotlin Multiplatform: Benefits and Trade-Offs in Cross-Platform Development
KMP is emerging as an alternative for cross-platform development, offering a path to share code without sacrificing the performance and feel of a native application. KMP comes with its own set of trade-offs and this article dives deep into those. While it focuses primarily on Android and iOS, KMP can be used to build desktop, web, and server-side applications, all from the same shared logic.