InfoQ Homepage Articles
-
How to Make Technical Debt Your Friend
Technical debt is a popular metaphor for communicating the long-term implications of architectural decisions and trade-offs to stakeholders. By exploiting the feedback mechanism of the Minimum Viable Architecture (MVA) approach, we have concluded that the technical debt metaphor is misleading because much of the so-called debt never needs to be, and in fact isn’t, repaid.
-
WebAssembly and Containers: Orchestrating Distributed Architectures with .NET Aspire
Running, composing, and debugging distributed applications on the local developer machine can be difficult, error-prone, and time-intensive. Those daily tasks could be dramatically simplified thanks to .NET Aspire. In this article, we will quickly dive into .NET Aspire and illustrate how you can orchestrate next-generation distributed applications.
-
InfoQ AI, ML and Data Engineering Trends Report - September 2024
InfoQ editorial staff and friends of InfoQ are discussing the current trends in the domain of AI, ML and Data Engineering as part of the process of creating our annual trends report.
-
Efficient DevSecOps Workflows with a Little Help from AI
Michael Friedrich is exploring how teams face varying levels of inefficiency in their DevSecOps processes, hindering progress and innovation. He highlights common issues like excessive debugging time and inefficient workflows, while also demonstrating how Artificial Intelligence (AI) can be a powerful tool to streamline these processes and boost efficiency.
-
Simplicity, Speed, and Re-Use. Shipping Threads in 5 Months
In Jan 2023, we received word that we’d need to build a microblogging service to compete with Twitter in a couple of months. A small team was assembled to take on that challenge, and we shipped a new social network in July. This article describes how we developed and launched the Threads app at Meta last year.
-
Cloud Waste Management: How to Optimize Your Cloud Resources
The 2024 "State of FinOps" survey results of the FinOps Foundation mentioned that organizations' top priorities have shifted to reducing cloud waste or unused resources. This article delves into understanding how to manage cloud waste.
-
WebAssembly, the Safer Alternative to Integrating Native Code in Java
Developers typically choose between porting the code or dynamic linking to run native code on the JVM. This article examines these approaches, using SQLite as an example, and introduces a third option: Chicory Wasm runtime. This alternative combines the advantages of traditional methods while addressing their limitations, potentially offering a more secure solution to integrate native code.
-
Prepare to Be Unprepared: Investing in Capacity to Adapt to Surprises in Software-Reliant Businesses
Incidents are often perceived as extraordinary aberrations, unconnected to "normal" work. For over twenty years, the field of Resilience Engineering has aimed at flipping this approach around — by understanding what makes incidents so rare (relative to when and how they do not happen) and so minor (relative to how much worse they can be) and deliberately enhancing what makes that possible.
-
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.