SSourav Saha
HomeExperienceSoftware DesignSystem DesignLearningBooksToolsContact
SSourav Saha

Building scalable backend systems, distributed infrastructure, and cloud-native applications.

Navigation

  • Home
  • Experience
  • Software Design
  • System Design
  • Learning

More

  • Books
  • Tools
  • Contact

Connect

  • LinkedIn
  • Email

© 2026 Sourav Saha. All rights reserved.

Built with using Next.js

BooksBuilding Microservices
Distributed Systemscompleted

Building Microservices

Sam Newman

5/5

Patterns for decomposing monoliths, service communication, and deployment — directly relevant to microservices at Oracle.

Read on May 10, 2023

Favorite Quotes

“Microservices are small, autonomous services that work together.”
“Gather together those things that change for the same reason, and separate those things that change for different reasons.”
“If you can't independently deploy your service, it's not a microservice.”

Why I Read This

Building backend systems at Oracle and Amazon often involves decomposing large monolithic applications or building new services from scratch in a highly distributed environment. This book provided a structured approach to thinking about service boundaries and communication patterns.

Key Takeaways

  1. Independent Deployability: The defining characteristic of true microservices. If you have to deploy services together, you have a distributed monolith.
  2. Domain-Driven Design (DDD): Understanding bounded contexts is the most effective way to find the right service boundaries.
  3. Database per Service: It's critical to prevent tight coupling at the data layer. Sharing databases across services leads to brittle architectures.
  4. Resiliency Patterns: Embracing timeouts, circuit breakers, and bulkheads to ensure localized failures don't cascade across the system.
Back to all books