Latest curated articles from top engineering blogs
197 articles
This article discusses the emerging trend of enterprise AI agents and the architectural challenge of orchestrating them across various systems of record. It highlights OutSystems' approach to being a neutral 'Switzerland' layer, integrating and coordinating agents without owning the underlying data, addressing issues like shadow AI and token cost management. The core system design problem is building a flexible platform to manage and integrate numerous AI agents and their interactions with disparate enterprise data sources.
This article explores essential fault tolerance patterns in distributed systems, using the analogy of the Titanic's bulkheads to illustrate the importance of complete implementation. It details how cascading failures occur when shared resources are exhausted by slow dependencies and introduces patterns like Timeout, Retry with Exponential Backoff and Jitter, and Circuit Breakers to prevent such widespread outages.
This article outlines the architectural considerations for a robust matchmaking system in competitive gaming, focusing on balancing fair matches with acceptable queue times. It discusses core components like the Queue Service, Skill Ranking System, and Matchmaking Engine, highlighting techniques for dynamic criteria adjustment and progressive relaxation during off-peak hours.
This article details the expansion of Azure API Management (APIM) into an AI gateway, introducing a Unified Model API to standardize access to various AI models (OpenAI, Anthropic, Google Vertex AI) and enhanced content safety policies. These features enable consistent governance, rate limiting, and security for AI workloads, integrating them seamlessly into existing API management practices. The architectural decision to extend an existing API gateway rather than create a new product category highlights a strategic approach to managing emerging agent ecosystems.
This article provides a foundational overview of the critical infrastructure layers that process a user's request before it reaches an application's backend code. It explains the roles of CDNs, WAFs, Load Balancers, API Gateways, Internal Reverse Proxies, Rate Limiters, and Input Sanitization. The content uses analogies to simplify complex concepts, making it accessible for those new to system design, and emphasizes the importance of each component in building robust, scalable, and secure applications.
This article discusses the architectural shift from polling to reactive push models for low-latency trading bots, emphasizing the use of WebSockets. It details key engineering patterns for building resilient streaming clients, including multiplexing connections, state synchronization via snapshot-and-delta, and robust recovery circuits for network instability.
This article demystifies forward and reverse proxies, explaining their fundamental roles as intermediaries in network requests. It highlights practical applications of reverse proxies in system design, such as header injection, multiplexing multiple services on a single server, and bypassing network blocks, providing concrete code examples using Cloudflare Workers and Caddy.
This article from Stripe highlights the architectural considerations and solutions for building a global payments platform. It focuses on how Stripe addresses challenges in localization, payment performance optimization, cross-border money movement, and tax/regulatory compliance through various product capabilities and underlying systems. Key aspects include AI-powered optimizations, real-time processing, and integrated financial services to facilitate international business expansion.
This article clarifies the distinct roles of reverse proxies, load balancers, and API gateways within the 'Gateway Layer' of a system architecture. It explains how each component addresses different scaling, security, and complexity management challenges as a system evolves from a single server to a microservices-based distributed system. The piece emphasizes the functional differences and common overlaps in tooling, providing a foundational mental model for backend engineers.
This article discusses Stripe's approach to integrating with the Visa Digital Commerce Authentication Program (DCAP) to help businesses reduce network costs while maintaining authorization rates. It highlights the use of an intelligent system, Authorization Boost, to dynamically apply Data Only 3DS based on transaction-level analysis of cost savings, conversion impact, and fraud risk. This showcases a practical application of data-driven decision-making in payment processing architecture.
This article details the pitfalls of naive fixed-window rate limiting and advocates for the token bucket algorithm as a more effective solution. It explains how token buckets provide burst tolerance and smooth traffic outflow, protecting downstream services from thundering herd problems. The author provides a compact Go implementation and contrasts it with a problematic fixed-window approach, highlighting the trade-offs and benefits for system stability.
The Interface Segregation Principle (ISP) is a SOLID principle that advocates for clients not being forced to depend on interfaces they don't use. This article explains ISP's importance in creating modular, maintainable, and scalable systems by preventing fat interfaces and promoting granular contracts.