Get the FREE Ultimate OpenClaw Setup Guide →

architecture-paradigm-microservices

npx machina-cli add skill athola/claude-night-market/architecture-paradigm-microservices --openclaw
Files (1)
SKILL.md
6.0 KB

Table of Contents

The Microservices Architecture Paradigm

When to Employ This Paradigm

  • When the organizational structure requires high levels of team autonomy and independent release cycles.
  • When different business capabilities (bounded contexts) have distinct scaling requirements or would benefit from different technology stacks.
  • When there is a significant organizational commitment to investing in DevOps and SRE maturity, including advanced observability, CI/CD, and incident response capabilities.

When NOT To Use This Paradigm

  • When team size is small and organizational complexity is low
  • When lack of DevOps maturity or limited platform engineering resources
  • When system requires strong transactional consistency across operations
  • When early-stage startup with rapidly evolving requirements
  • When regulatory constraints make distributed data management challenging

Adoption Steps

  1. Define Bounded Contexts: Map each microservice to a clear business capability and establish unambiguous data ownership.
  2. validate Service Data Autonomy: Each service must own and control its own database or persistence mechanism. All data sharing between services must occur via APIs or events, not shared tables.
  3. Build a production-grade Platform: Before deploying services, establish foundational infrastructure for service discovery, distributed tracing, centralized logging, CI/CD templates, and automated contract testing.
  4. Design for Resilience: Implement resilience patterns such as timeouts, retries, circuit breakers, and bulkheads for all inter-service communication. Formally document Service Level Indicators (SLIs) and Objectives (SLOs).
  5. Automate Governance: Implement automated processes to enforce security scanning, dependency management policies, and consistent versioning strategies across all services.

Key Deliverables

  • An Architecture Decision Record (ADR) cataloging all service boundaries, their corresponding data stores, and their communication patterns (e.g., synchronous API vs. asynchronous events).
  • A set of "golden path" templates and runbooks for creating and operating new services on the platform.
  • A detailed testing strategy that includes unit, contract, integration, and chaos/resilience tests.

Technology Guidance

API Communication:

  • REST APIs: Spring Boot (Java), Express.js (Node.js), FastAPI (Python)
  • GraphQL: Apollo Server (Node.js), Hasura (PostgreSQL)
  • gRPC: gRPC frameworks for high-performance internal communication

Service Discovery & Configuration:

  • Service Registry: Consul, Eureka, etcd
  • Configuration: Spring Cloud Config, HashiCorp Vault, AWS Parameter Store

Message Broking & Events:

  • Message Brokers: Apache Kafka, RabbitMQ, AWS SQS/SNS
  • Event Streaming: Apache Kafka, Apache Pulsar, AWS Kinesis

Observability:

  • Distributed Tracing: Jaeger, Zipkin, AWS X-Ray
  • Metrics: Prometheus, Datadog, CloudWatch
  • Logging: ELK Stack, Fluentd, Splunk

Real-World Examples

Netflix: Video streaming platform with hundreds of microservices handling different aspects like playback, recommendation, billing, and user authentication. Each team can deploy independently without affecting others.

Amazon: E-commerce platform with separate services for product catalog, order processing, payment, inventory, and shipping. Enables independent scaling during high-traffic events like Prime Day.

Uber: Ride-sharing platform with microservices for rider matching, driver dispatch, pricing, payment processing, and notifications, allowing rapid feature development and deployment.

Risks & Mitigations

  • Distributed System Complexity:
    • Mitigation: The operational overhead for a microservices architecture is substantial. Invest in dedicated platform teams and shared tooling to manage this complexity and provide support for service teams.
  • Data Consistency Challenges:
    • Mitigation: Maintaining data consistency across services is a primary challenge. Employ patterns like Sagas for orchestrating transactions, validate message-based communication is idempotent, and use reconciliation jobs to handle eventual consistency.
  • Incorrect Service Granularity ("Over-splitting"):
    • Mitigation: If services are too small, the communication overhead can outweigh the benefits of distribution. validate each service owns a meaningful and substantial piece of functionality. Monitor change coupling between services to identify candidates for merging.

Troubleshooting

Common Issues

Command not found Ensure all dependencies are installed and in PATH

Permission errors Check file permissions and run with appropriate privileges

Unexpected behavior Enable verbose logging with --verbose flag

Source

git clone https://github.com/athola/claude-night-market/blob/master/plugins/archetypes/skills/architecture-paradigm-microservices/SKILL.mdView on GitHub

Overview

Consult this skill when designing or evolving microservices architectures. It helps teams achieve autonomy, scalable services, and robust DevOps maturity by outlining adoption steps and deliverables.

How This Skill Works

The paradigm defines when to employ it, when not to use it, and a concrete adoption sequence from defining bounded contexts to governance. It also specifies key deliverables and technology guidance to implement across services and platforms.

When to Use It

  • You need high organizational autonomy and independent release cycles.
  • Different business capabilities have distinct scaling needs or would benefit from different technology stacks.
  • Your organization has a strong DevOps/SRE maturity with observability, CI/CD, and incident response capabilities.
  • Polyglot tech stacks are required across the service landscape.
  • You are planning an enterprise-grade platform with explicit data ownership and well-governed service boundaries.

Quick Start

  1. Step 1: Define Bounded Contexts: Map each microservice to a clear business capability and establish unambiguous data ownership.
  2. Step 2: validate Service Data Autonomy: Each service must own and control its own database or persistence mechanism. All data sharing between services must occur via APIs or events, not shared tables.
  3. Step 3: Build a production-grade Platform: Before deploying services, establish foundational infrastructure for service discovery, distributed tracing, centralized logging, CI/CD templates, and automated contract testing.

Best Practices

  • Define bounded contexts and map each microservice to a clear business capability with unambiguous data ownership.
  • Ensure each service owns and controls its own database; data sharing occurs via APIs or events, not shared tables.
  • Build a production-grade platform including service discovery, distributed tracing, centralized logging, CI/CD templates, and automated contract testing.
  • Design for resilience with timeouts, retries, circuit breakers, and bulkheads for inter-service communication; document SLIs and SLOs.
  • Automate governance with security scanning, dependency management policies, and consistent versioning across all services.

Example Use Cases

  • An e-commerce platform decomposed into autonomous services per capability with independent data stores and asynchronous events.
  • A SaaS product using polyglot stacks (Java, Node.js, Python) each service owning its data and deploying independently.
  • A multi-capability platform where services scale differently and require distinct observability and CI/CD pipelines.
  • A financial services suite implementing strict governance, ADRs, and platform templates for new services.
  • A health-tech system with bounded contexts and automated governance to meet regulatory data handling.

Frequently Asked Questions

Add this skill to your agents

Related Skills

Sponsor this space

Reach thousands of developers