/Microservices

The Million-Dollar Problem Of Slow Microservices Testing

- Arjun Iyer tl;dr: When integration tests run after code merges, fixing failures becomes costly and time-consuming. Uber, Lyft, and Airbnb tackled this with an innovative approach to ephemeral environments that avoids infrastructure duplication, enabling pre-merge testing for every change. Discover how this "shift-left" strategy catches integration issues early and saves millions in engineering productivity.

featured in #607


Why Staging Is A Bottleneck For Microservice Testing

- Arjun Iyer tl;dr: Staging environments create painful bottlenecks in microservices testing - one bug blocks everyone with untraceable failures. Instead of costly duplicate environments, "sandboxes" use smart traffic routing on shared infrastructure, letting teams test simultaneously without interference. Teams catch issues earlier, ship faster, and eliminate waiting - while drastically cutting infrastructure costs and improving developer experience.

featured in #605


Why Duplicating Environments For Microservices Backfires

- Arjun Iyer tl;dr: Duplicating microservice environments for testing creates unsustainable costs and operational complexity. Instead, modern engineering teams are adopting application-layer isolation with "sandboxes" - sharing underlying infrastructure while maintaining isolation through smart request routing. This approach cuts infrastructure costs by over 90% while enabling 10x faster testing cycles and boosting developer productivity.

featured in #603


How Vercel Adopted Microfrontends

tl;dr: “By rethinking our architecture, we shifted to vertical microfrontends, leading to a simpler development experience and over a 40% improvement in preview build times and local development compilation. Streamlined dependencies by removing code for the other microfrontends also reduced page weight and boosted end-user performance, with gains in Core Web Vitals like Largest Contentful Paint (LCP) and Interaction to Next Paint (INP).”

featured in #561


Authorization In Microservices

tl;dr: When you move from a monolith to a service-oriented architecture, you need to design your authorization accordingly. You'll need to share your Authorization data between your services, and there are many ways to do that. Each design and architecture decision you'll make has trade-offs that you'll need to understand. We'll show you each of those choices and their trade-offs. And, we'll provide you with heuristics that will help you make decisions about your service architecture.

featured in #486


How DoorDash Used A Service Mesh To Manage Data Transfer, Reducing Hops And Cloud Spend

- Levon Stepanian Hochuen Wong tl;dr: There have been many benefits gained through DoorDash’s evolution from a monolithic application architecture to one based on microservices. The new architecture has reduced the time required for development, test, and deployment and at improved scalability and resiliency. DoorDash observed an uptick in data transfer costs, which prompted the engineering team to investigate alternative ways to provide the same level of service more efficiently. 

featured in #483


How DoorDash Standardized And Improved Microservices Caching

- Jason Fan Lev Neiman tl;dr: DoorDash's expanding microservices architecture led to challenges in interservice traffic and caching. The article details how DoorDash addressed these challenges by developing a library to standardize caching, enhancing performance without altering existing business logic. Key features include layered caches, runtime feature flag control, and observability with cache shadowing. The authors also provides guidance on when to use caching.

featured in #459


You Want Modules, Not Microservices

- Ted Neward tl;dr: Ted dissecting the concept of a microservice to “get to the real root of what's going on” arguing there's a mis-match between its promise and what it actually delivers.

featured in #402


You Don’t Need Microservices

- Matthew Spence tl;dr: "The monolith should remain the default choice for new, small, and medium-sized engineering teams. Microservices are still an option, but you should have compelling context-specific reasons to justify their use." 

featured in #339


The Macro Problem With Microservices

- Ryland Goldstein tl;dr: "Distributing things solves scaling concerns, but introduces a whole new world of problems, many of which were previously solved by monoliths."

featured in #216