Microservices
Decompose systems into independently deployable services.
All topics · 3 lessons · 78 resources
Learn Microservices on System Design Atlas
- 01How microservices work togetherSynchronous calls, events, sagas and discovery: how separate services cooperate without becoming one tangled system.Real-World Systems · 11 min read · start here
- 02Service discovery, service mesh and sidecarsHow services find each other as instances come and go, and how sidecar proxies and a mesh move retries, security and telemetry out of application code.Messaging and Microservice Patterns · 12 min read
- 03Operating microservices: config, secrets, feature flags, tracing and loggingThe operational toolkit around a service: configuration and secrets done safely, feature flags for controlled releases, and traces and logs that follow a request across services.Messaging and Microservice Patterns · 13 min read
Related topics
These share a lesson with Microservices.
Curated Microservices resources
Case Studies
- Ads Pacing Service at TwitterIn this blog, we describe how we separate Twitter’s pacing system from the serving stack to an independent service.Twitter
- Agrarian-Scale Kubernetes (3 parts) at New York TimesA real-world engineering write-up from New York Times on microservices and Orchestration.New York Times
- API Platform at Riot GamesHello all, Leigh Estes, aka RiotSchmick, here. I’m a software engineer at Riot Games working in the Service Availability initiative. Our first article on the API covered our goals, the responsibilities of the Developer Relations and Develo…Riot Games
- Architecture of Ad Platform at TwitterLearn how our Revenue Platform team re-built Twitter’s Ad Platform Architecture for the future.Twitter
- Architecture of Chat Service (3 parts) at Riot GamesPlaying League of Legends for years now, I’ve formed a meaningful network of social connections with other gamers around the world. Whether they’re friends from work, former classmates, or players I’ve been matchmade with, they all have an…Riot Games
- Architecture of League of Legends Client UpdateGreetings! My name is Andrew McVeigh, and I'm a software architect at Riot. We're in the latter stages of re-engineering the League of Legends client. We're calling this the League client update. In this post, I’ll outline the software arc…Riotgames
- Back-end at FlickrBy Peter Welch, Senior Principal Engineer Today, Yahoo Mail introduced a feature that allows you to automatically sync your mobile photos to Yahoo Mail so that they’re readily available when you’re composing an email from your computer. A key technology behind this feature is a new photo and video platform called…Flickr
- Basic Architecture of SlackWritten with contributions from the Shared Channels Team. Slack was originally built to be the collaboration hub for the work within your company. As the network of companies using Slack for internal work grew, we saw the value of allowing different companies to collaborate together in one channel. We’re now making…Slack
- Container (8 parts) at Riot GamesContainers have taken over the world, and I, for one, welcome our new containerized overlords. They do, however, present interesting challenges for me and my fellow Rioters on the Pipeline Engineering team. My name is Maxfi…Riot Games
- Containerization at PinterestLida Li, Rodrigo Menezes & Yongwen Xu | Pinterest Engineers, Cloud Management Platform & SREPinterest
- Cross-Cluster Traffic Mirroring with Istio at TrivagoThe price of reliability is the pursuit of the utmost simplicity.— C.A.R. Hoare, Turing Award lectureHave you ever enthusiastically released a new, delightful version to product...Trivago
- Designing a Microservices Architecture for FailureThis article introduces the most common techniques and patterns to build and operate a highly available microservices architecture.Risingstack
- Docker Containers that Power Over 100.000 Online Shops at ShopifyThis is the second in a series of blog posts describing our evolution of Shopify toward a Docker-powered, containerized data center. This instalment will focus on the creation of the container used in our production environment when you visit a Shopify storefront. Read the first post in this series here. Why…Shopify
- Docker in Production at TreehouseThe other day, I came across an answer on Quora (via the excellent Software Engineering Daily site) in which Devrim Yasar, the CEO of…Treehouse
- Evolution of Container Usage at NetflixContainers are already adding value to our proven globally available cloud platform based on Amazon EC2 virtual machines. We’ve shared pieces of Netflix’s container story in the past (video, slides), but this blog post will discuss containers at Netflix in depth. As part of this story, we will cover Titus:…Netflix
- From bare-metal to Kubernetes at BetabrandHow migrating Betabrand's bare-metal infrastructure to a Kubernetes cluster hosted on Google Container Engine solved many engineering issues—from hardware failures, to lack of scalability of our production services, complex configuration management and highly heterogeneous development-staging-production…Betabrand
- GRIT: Protocol for Distributed Transactions across Microservices at eBayeBay technologists recently showed off a distributed transaction protocol called GRIT, for distributed ACID (atomicity, consistency, isolation, durability) transactions across microservices with multiple underlying databases.eBay
- Kubernetes at QuoraContainerization is an exciting area of work at Quora that we hope will enable multiple engineering teams to move more quickly toward Quora’s mission. After having first experimented with using Kubernetes over a year ago, it has since become a key technology for us in automating the management of...Quora
- Microservice Architecture at MediumWe would love to share our experiences of moving to microservice architecture effectively and avoiding “microservice syndromes”.Medium
- Microservice at SoundCloudIf you’re a regular visitor to this blog, you might be aware that we have been transitioning to a microservices based architecture over the past four to five years, as we have shared insights into the process and the related challenges on multiple occasions. To recap, adopting a microservices architecture has…SoundCloud
- Microservices and OrchestrationThe microservice architectural style develops an application as a suite of independently deployable services.Martinfowler
- Multi-Clustering: Improving Resiliency and Stability of a Large-scale Monolithic API Service at LinkedInHow do you increase the resiliency and stability of a monolithic API service that is used by three different platforms, serving 500+ million members, developed by over 400 engineers, deployed three times per day, and consuming almost 300 downstream services?LinkedIn
- Nanoservices at BBCThe BBC has a wide range of websites and apps, ranging from the huge, global BBC News to the specialist, such as Bitesize. Creating this broad variety of experiences, in an affordable and reliable way, is a big technical challenge. To achieve this, one approach we’ve taken is nanoservices: hundreds of small…BBC
- Operate Kubernetes Reliably at StripeWe recently built a distributed cron job scheduling system on top of Kubernetes, an exciting new platform for container orchestration. Kubernetes is very popular right now and makes a lot of exciting promises: one of the most exciting is that engineers don’t need to know or care what machines their applications run on.Stripe
- Payment Transaction Management in Microservices at Mercari* This article is a translation of the Japanese article written on June 7, 2019.—This article is the 15th day of MMercari
- Service Architecture (3 parts: Domain Gateways, Value-Added Services, BFF) at SoundCloudDiscover how SoundCloud extended the concept of Value-Added Services to Domain Gateways.SoundCloud
- Service Mesh at SnapHow Snap moved from a monolith to multicloud microservices using an Envoy-based service mesh.Snap
- Settings Platform at LinkedInThese choices and preferences are expressed in the form of settings. This post covers the architecture and design of a new backend system for storing all settings at LinkedIn to enable better support for complex use cases, a faster developer experience, and future ease in enforcing settings.LinkedIn
- Standardize and Improve Microservices Caching at DoorDashDoorDash's in-house caching system offers backend developers a fast, safe, and efficient way to introduce new caches.DoorDash
- Sync Engine (2 parts) at DropboxExecuting a full rewrite of the Dropbox sync engine was pretty daunting. (Read more about our goals and how we made the decision in our previous post here.) Doing so meant taking the engine that powers Dropbox on hundreds of millions of user’s machines and swapping it out mid-flight. To pull this off, we knew we…Dropbox
- Tech Stack at Shopify9 minute read Before 2015, we had an Operations and Performance team. Around this time, we decided to create the Production Engineering department and merge the teams. The department is responsible for building and maintaining common infrastructure that allows the rest of product development teams to run their…Shopify
- Testing of Microservices at SpotifyMost people would say that we write tests to verify that things work as we expect them to.Spotify
Blogs
- Atlassian EngineeringHow Atlassian builds and runs its cloud products at scale.Atlassian
- Capital One BlogCapital One uses real-time data at scale, AI and machine learning, and the power of the cloud to solve challenging industry problems and build products, services, and experiences that can make a real difference in millions of peoples’ lives.Capital One
- Circuit BreakerThe pattern that stops calls to a failing dependency and tests recovery gradually.Martin Fowler
- CNCF BlogCloud-native project news, case studies and tutorials.CNCF
- Grab EngineeringSuper-app scale: ride matching, payments and platform engineering in Southeast Asia.Grab
- InfoQ Architecture & DesignNews, articles and talks on software architecture and design.InfoQ
- Martin Fowler: Software Architecture GuideAn organised guide to architecture articles, patterns and essays.Martin Fowler
- MicroservicesThe classic definition of the microservice style, its characteristics and its trade-offs against a monolith.Martin Fowler
- Monolith FirstThe argument for starting as a monolith and splitting into services once the boundaries are understood.Martin Fowler
- Nubank BlogMake the extraordinary happen. Discover our success stories and careers at Nu. The Future is Purple!Nubank
- Repository (Patterns of Enterprise Application Architecture)Martin Fowler's catalogue entry: a collection-like interface over persistence for the domain.martinfowler.com
- Spotify EngineeringSpotify's engineering blog: data pipelines, backend platform, infrastructure and large-scale team practice.Spotify
- Yelp Engineering BlogSearch, data pipelines and service architecture at Yelp.Yelp
- Zalando Engineering BlogE-commerce platform engineering from Zalando, including API guidelines and resilience.Zalando
- Zendesk BlogThe engineering and technology blog of Zendesk: posts on how it designs, builds and scales its systems.Zendesk
- Amazon Builders' LibraryHow Amazon builds reliable systems: timeouts, retries, backoff, load shedding.Amazon Web Services
- Uber Engineering BlogHow Uber builds dispatch, maps, data platforms and real-time infrastructure.Uber
- Netflix Technology BlogEngineering posts on resilience, streaming, data and chaos engineering at Netflix.Netflix
Books
- Building Microservices (2nd edition)Sam Newman's guide to service boundaries, communication, deployment and organisation.O'Reilly
- Domain-Driven Design ReferenceA compact, free summary of the pattern language of domain-driven design.Domain Language
- Fundamentals of Software ArchitectureArchitecture characteristics, styles and trade-off analysis, from the Richards and Ford book.O'Reilly
- Microservices PatternsPatterns for decomposing, communicating and deploying microservices, including sagas and event sourcing.Manning
- The Architecture of Open Source ApplicationsChapters by the creators of real open-source systems explaining their architecture; free to read.aosabook.org
Documentation
- Cloud Design PatternsA catalogue of design patterns for cloud systems with guidance on when to use each.Microsoft Azure
- CNCF Cloud Native LandscapeAn interactive map of the cloud-native tools, grouped by category.CNCF
- Design Patterns CatalogueIllustrated explanations of the classic object-oriented design patterns with examples.Refactoring Guru
- Introduction to gRPCWhat gRPC is and how Protocol Buffers and HTTP/2 give typed, efficient service calls.CNCF / gRPC
- Pattern: SagaManaging a business transaction across services with local transactions and compensations.microservices.io
- Pattern: Transactional outboxPublishing events reliably by saving them in the same database transaction as the change.microservices.io
- The Twelve-Factor AppTwelve practices for building services that deploy and scale cleanly in the cloud.12factor.net
- What is EnvoyThe proxy behind many service meshes and gateways, and its core ideas.CNCF / Envoy
- What is IstioThe service-mesh control plane for traffic, security and observability.CNCF / Istio
- Microservices Patterns CatalogPattern language for microservices: saga, API gateway, CQRS, event sourcing and more.microservices.io
- Azure Architecture CenterReference architectures, cloud design patterns and best-practice guides.Microsoft Azure
- AWS Well-Architected FrameworkPillars and best practices for building secure, reliable and efficient cloud systems.Amazon Web Services
YouTube
- CNCFTalks from KubeCon and the cloud-native community.CNCF
- Netflix Guide to Microservices - Josh Evans, Director of Operations Engineering at NetflixQCon San Francisco, the international software conference, returns November 17-21, 2025. Join senior software practitioners from early adopter companies as t...Netflix
- InfoQ: Architecture & Scale TalksConference talks from practitioners on microservices, resilience and large-scale systems.InfoQ
- Tech Dummies: System Design Case StudiesLong-form breakdowns of how large products scale, with a focus on architecture trade-offs.Tech Dummies
- ByteByteGo: System Design Video SeriesAnimated, diagram-first explainers on caching, API design, databases and real-world architectures.ByteByteGo
GitHub
- Envoy ProxyThe source of the high-performance proxy behind many service meshes.CNCF / Envoy
- Awesome MicroservicesCurated tools, frameworks and reading material for building microservice systems.mfornos
- Engineering BlogsA huge directory of company engineering blogs to learn from real production systems.kilimchoi
- System Design (Karan Pratap Singh)A free, structured system design course in markdown, from IP and DNS to CAP and microservices.karanpratapsingh