microservices

Guide microservices adoption decisions with bounded contexts and data ownership rules.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/hung-phan/system-skills --skill microservices-hung-phan
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: microservices
Source: https://github.com/hung-phan/system-skills/tree/main/skills/system-review/references/architecture-patterns/microservices
Command: npx skills add https://github.com/hung-phan/system-skills --skill microservices-hung-phan

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps you understand when and when not to split a monolith into microservices, covering organizational scaling, distributed-systems challenges, and architectural best practices.

Core Features & Use Cases

  • Microservices Decision Framework: Offers guidelines on when to adopt microservices based on team structure, data ownership, and technical requirements.
  • Distributed Systems Tax: Discusses the trade-offs and challenges of building microservices, including network latency, consistency, and resilience.
  • Patterns and Best Practices: Provides detailed guidance on bounded contexts, smart endpoints, dumb pipes, service granularity, and data ownership rules.

Quick Start

Review the microservices architecture guidelines to determine if your project should use microservices.

Frequently Asked Questions about microservices

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
When should I split a monolith into microservices?

Split a monolith into microservices when organizational scaling demands independent deployment, and your team structure aligns with bounded contexts. Consider team autonomy, data ownership boundaries, and technical requirements before dividing the architecture.

What is the distributed systems tax in microservices architecture?

The distributed systems tax in microservices architecture refers to trade-offs like network latency, eventual consistency, and resilience challenges. You must handle inter-service communication complexity that does not exist in monolithic systems.

How do I determine service granularity for distributed systems?

Determine service granularity by analyzing bounded contexts and data ownership rules. Design smart endpoints and dumb pipes to ensure services handle distinct business capabilities without becoming too granular or tightly coupled.

When should I not use microservices for my project?

Avoid microservices if your team is small, data ownership boundaries are unclear, or you cannot absorb the distributed systems tax. Monolithic architectures are preferable when organizational scaling and independent deployment are not immediate requirements.

How does Conway's Law affect microservices architecture decisions?

Conway's Law dictates that microservices architecture mirrors your team structure. Design bounded contexts around autonomous teams to ensure service boundaries align with organizational communication paths and data ownership.

What are smart endpoints and dumb pipes in microservices?

Smart endpoints and dumb pipes mean microservices contain their own business logic while communication channels remain simple. Apply this pattern by pushing intelligence into services rather than relying on complex middleware routing.