InfoQ Homepage Articles
-
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.
-
Using GreenOps to Improve Your Operational Efficiency and Save the Planet
Our infrastructures have environmental and economic costs; the IT sector is responsible for 1.4% of carbon emissions worldwide. GreenOps can be used to help mitigate this impact.
-
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.
-
Zero to Performance Hero: How to Benchmark and Profile Your eBPF Code in Rust
In this article, we will walk through creating a basic eBPF program in Rust. We will intentionally include a performance regression and then use profilers to locate and fix the bug. We will also create benchmarks and track them using a continuous benchmarking tool for CI.