InfoQ Homepage Articles
-
Uber's Blueprint for Zero-Downtime Migration of Complex Trip Fulfillment Platform
In large-scale distributed systems, migrating critical systems from one architecture to another is technically challenging and involves a delicate migration process. Uber operates one of the most intricate real-time fulfillment systems globally. This article will cover the techniques to migrate such a workload from on-prem to a hybrid cloud architecture with zero downtime and business impact.
-
How Quality Champions Foster Sustainable Software Quality Improvement at Swiss Post
Even skilled and motivated agile teams sometimes fail to achieve their own software quality goals. In this article, we present a practice we use to assist agile teams in reaching their quality goals and share our experience. The practice is about paying constant attention to specific metrics. It means encouraging people to improve themselves in both qualitative and quantitative ways.
-
Architectural Retrospectives: the Key to Getting Better at Architecting
The purpose of an architectural retrospective is to use experience to help the development team improve their architecting skills and their way of working as they make architectural decisions. This is different than traditional architecture reviews which are focused on improving the architecture.
-
Thinking Like an Architect
By explaining the roles of an architect and the concept of connecting levels, Gregor Hohpe delves into the importance of metaphors for making complex technical concepts more relatable and sketches for abstracting and capturing the essence of complex systems.
-
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.
-
Java Virtual Threads: a Case Study
This article explores JDK 21's virtual threads, comparing their performance with Open Liberty's thread pool. It covers key findings like throughput, ramp-up times, and memory footprint. Despite advantages, virtual threads showed unexpected performance issues, especially in CPU-intensive workloads. This analysis guides Java developers on when and how to use virtual threads in their applications.
-
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.
-
The AI Revolution Will Not Be Monopolized
Large language models have significantly transformed the field of artificial intelligence. The fundamental innovation behind this change is surprisingly straightforward: make the models a lot bigger. With each new iteration, the capabilities of these models expand, prompting a critical question: are we moving toward a black box era where AI is controlled by a few tech monopolies?
-
The Set Piece Strategy: Tackling Complexity in Serverless Applications
In this article, senior engineering manager and AWS Serverless hero Sheen Brisals examines how the characteristics of serverless such as optimization, robust availability and scalability influence us to think in a new way of architecting and evolving modern applications as set pieces, a concept from moviemaking. The contents of this article were presented during QCon London 2024.
-
Platform as a Runtime - the Next Step in Platform Engineering
As systems become larger and more complex we need to take the concepts of platform engineering to a higher level – to the code level – by creating platforms and abstractions that will reduce cognitive load, help simplify and accelerate software development, and allow for easy maintenance and upgrades to the platform. Let’s move from “platform” to “Platform as a Runtime”.
-
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.