InfoQ Homepage Development Content on InfoQ
-
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.
-
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.
-
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.
-
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.
-
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 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.
-
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.
-
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.
-
Elevating Kubernetes Logging for Enhanced Observability
In this article, we will explore the challenges, strategies, and best practices that will help you achieve seamless log management in your Kubernetes environment.
-
Streaming HTML – Asynchronous DOM Updates without JavaScript
Web applications provide the best user experience when pages load quickly and display additional data as it becomes available. Developers typically use JavaScript to load data asynchronously, but this adds complexity when compared to server-side rendering. We review a technique that uses the Shadow DOM with HTTP streaming to load pages quickly and display data asynchronously without JavaScript.