InfoQ Homepage Architecture Content on InfoQ
-
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.
-
How to Deal with Complexity in Product Development by Using Solution-Focused Coaching
In this article, you will discover how and which parts of coaching and nuanced language can help you leverage your interactions to yield better results in product management. Integrating specific coaching principles can enhance the quality of your conversations by guiding dialogue to uncover actionable insights, foster trust, boost collaboration, and drive clarity in your objectives.
-
How Much Architecture Is “Enough?”: Balancing the MVP and MVA Helps You Make Better Decisions
The Minimum Viable Architecture (MVA) is the architectural complement to a Minimum Viable Product (MVP). The MVA and MVP must evolve together for a product to be successful. As new features are delivered to customers, corresponding incremental improvements need to be made in the architecture. Also, the architecture should not get too far ahead of what is needed for the product.
-
Generative AI and Organizational Resilience
Generative AI will profoundly transform communication and information sharing over the next decade, but the change will be uneven across industries and roles. Organizations should empower workers to use AI augmentation thoughtfully, while building literacy on capabilities and limits. A balanced, conscientious integration, using iterations and customer feedback, will produce the best outcomes.
-
Beyond API Compatibility: Understanding the Full Impact of Breaking Changes
In this article, we address the most contentious and misinterpreted parts of the SemVer standard, i.e backward compatibility and breaking changes. With the proliferation of SaaS APIs for Generative AI continuing, now is a good time for a retrospection on what constitutes a breaking change and how you can trade off backward compatibility and upgradability with modernization and iterability.
-
Orchestrating Resilience Building Modern Asynchronous Systems
In this article, we will discuss what problems we had to solve at Twilio to efficiently build a resilient and scalable asynchronous system to handle a complex workflow and the advantages we got from adopting a Workflow Orchestration solution, including abstracting away state management and out-of-the-box support for retries, observability, and audibility.
-
The Incident Lifecycle: How a Culture of Resilience Can Help You Accomplish Your Goals
Don’t get stuck with overwhelmed systems that can cause an outage, like what happened with Taylor Swift concert tickets. Build organizational resilience to incidents through improved coordination and communication during the response, and blameless reviews, root cause analysis, and insightful communication afterward to enable meaningful change.
-
Architecting with Java Persistence: Patterns and Strategies
Explore a spectrum of Java persistence patterns, from data-oriented to domain-centric. Delve into Driver, Mapper, DAO, Active Record, and Repository for robust architectural foundations.
-
Write More, Talk Less: Building Organizational Resilience through Documentation and InnerSource
Better documentation and knowledge sharing creates transparency that aids onboarding, prevents turnover disruption, and withstands reorganizations. Different practices can help, such as communicating asynchronously, creating incentives for documentation, making docs discoverable, understanding team members' preferences, and providing dedicated writing time. And maybe InnerSource can help too.