InfoQ Homepage Architecture Content on InfoQ
-
Scaling Challenges: Productivity, Cost Efficiency, and Microservice Management
The main objective of this article is to delve into the technical complexities and strategic adjustments undertaken by Trainline. By examining challenges such as managing peak transaction volumes and orchestrating microservice architectures, we aim to uncover the valuable lessons learned and insights gained from Trainline's journey through the dynamic landscape of digital transportation platforms.
-
Are You Done Yet? Mastering Long-Running Processes in Modern Architectures
In this article, Bernd Ruecker explores the importance of long-running processes in various applications, particularly in distributed systems. He emphasizes the value of asynchronous communication and explores strategies like Centers of Excellence, along with visual tools like BPMN for enhancing communication and understanding. The contents of this article were presented during QCon London 2024.
-
How to Architect Software for a Greener Future
In this article, Sara Bergman shares tips, tricks, and advice on architecting software for a greener future. Bergman has been discussing this topic for several years.
-
Ownership and Human Involvement in Interface Design
Good interface design is a complex engineering challenge with many dimensions. This article explores the key dimensions of Ownership and whether a Human is involved.
-
Using Generative AI in Software Project Management to Bridge Domains and Accelerate Productivity
Gen AI Assistants play to the strengths of professionals with a breadth of experience, particularly software developers who can describe what they want the LLM to complete and critically evaluate the result. These tools enable us to swiftly cross divides of domain language and scale large repetitive tasks down to interesting ones on a human scale.
-
Delivering Great Developer Experiences with Platform Engineering
Companies increasingly turn to platform engineering to help scale their development teams and increase developer experience for engineer efficiency. In this virtual panel, we’ll discuss how teams build platforms, set others up for success, work with developers who use their platform, measure their progress, and adapt to new challenges.
-
Optimizing Spring Boot Config Management with ConfigMaps: Environment Variables or Volume Mounts
Spring Boot stands out as a viable framework for its agility and streamlined workflow. Yet, effective configuration management remains a pivotal factor influencing deployment efficiency and ongoing maintenance. ConfigMaps, a feature in Kubernetes, provides configuration strategies for Spring Boot applications.
-
Architectural Trade-Offs: the Art of Minimizing Unhappiness
To architect is to be a frustrated perfectionist; a good architecture minimizes this unhappiness by making trade-offs that can be lived with. The main skill in architecting is making trade-offs. These trade-offs reflect the most important and difficult decisions a team will make about its architecture.
-
Introducing the RIG Model - the Puzzle of Designing Guaranteed Data-Consistent Microservice Systems
The RIG model formulates three rules for a saga call chain. Using a gamified RIG tool, consisting of three main RIG puzzle pieces, teams can model a microservice system that guarantees eventual data consistency.
-
Accelerating Technical Decision-Making by Empowering ICs with Engineering Strategy
Carta harnesses the power of a small group of senior engineers called navigators to bridge the gap between global strategy and local decision-making, using a written engineering strategy. Navigators replace a need for consensus and boost velocity by combining technical context, domain context, strategic alignment, and judgment to make engineering decisions quickly.
-
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.