Latest curated articles from top engineering blogs
330 articles
This article details the system design considerations for an Ejar contract registration workflow, focusing on the request lifecycle from validation to registration. Key architectural decisions include designing a lean state machine and carefully ordering operations for financial integrity. It highlights the importance of clear data validation and traceable transactions in complex workflows.
Airbnb re-architected its authentication system using a "Flexible Authentication" paradigm to improve user experience and engineering velocity. This involved splitting the login flow into "Identify first then Challenge," offering "Try another way" options, and fundamentally shifting to a fully server-driven UI for authentication screens. This approach decoupled client releases from authentication logic, enabling rapid experimentation and significant improvements in login success rates and cost efficiency.
This article explores the economic benefits of refactoring, particularly in the context of reducing token costs for AI models when processing code. It suggests that decomposing large functions can lead to measurable cost savings, making the case for refactoring as a direct financial advantage.
This article clarifies that design patterns are not reusable code but rather proven solutions to recurring design problems. They represent shared engineering experience, guiding how to organize software and relationships between objects rather than dictating specific implementations. Understanding patterns helps engineers think more effectively about architectural challenges.
This article details the evolution of the Model Context Protocol (MCP) to a fully stateless design, addressing previous criticisms regarding stateful connections. This architectural shift simplifies server deployment, scaling, and maintenance, especially on serverless platforms like Cloudflare Workers. Key changes include removing session management, rethinking multi-round trip interactions for elicitations, and enhancing HTTP infrastructure's ability to process MCP requests via standard headers.
This article discusses critical scenarios that warrant the adoption of a microservice architecture, emphasizing that microservices are not a one-size-fits-all solution. It highlights factors like logical segregation of business domains, team autonomy, uneven scalability requirements, independent deployment needs, and diverse technology stacks as potential drivers. The author advocates for starting with a monolith and migrating only when operational needs dictate, underscoring the increased complexity introduced by distributed systems.
This article, part of the 'Building Atlas' series, discusses the architectural considerations for creating intelligent, AI-native customer engagement systems. It delves into integrating AI capabilities directly into core platform services to drive personalized user interactions and enhance operational efficiency. The focus is on distributed systems principles and mobile architecture to support scalable and responsive AI-driven experiences.
This article details JioHotstar's distributed engineering approach to serving personalized ad requests within strict latency requirements at streaming scale. It highlights the multi-stage ad decision workflow, balancing campaign delivery, inventory, and advertiser constraints. The system emphasizes low latency, high traffic handling, caching, and reliability across numerous backend services.
This article clarifies the common misconception of comparing gRPC and NATS as competing technologies. It highlights that they address different communication patterns: gRPC for synchronous, typed RPC with strong contracts, and NATS for asynchronous, decoupled pub/sub messaging. The key takeaway for system design is to choose the communication style based on the specific interaction's needs, often leading to using both within a single distributed system.
This article discusses the challenges of managing large pull requests, especially with the rise of AI-generated code, and introduces GitHub's stacked pull request feature as a solution. It emphasizes decomposition of work into smaller, logically layered PRs to improve reviewability, maintainability, and collaboration within a development workflow. The concept aligns with modular system design principles.
This article explores how leveraging internal platforms and principles from Team Topologies can significantly accelerate microservices delivery by reducing cognitive load on stream-aligned development teams. It highlights key platform patterns and organizational structures that enable faster, more reliable software deployment within a microservices architecture.
This article distinguishes AI agents from simple chatbots by emphasizing their goal-oriented, action-taking capabilities. It highlights that building effective AI agents requires a well-designed system architecture, integrating components like reasoning models, tool integration, memory, business rules, and robust error handling, rather than merely using a large language model. The focus is on architectural considerations and data quality over model size for practical implementation.