- Home
- Skills
- APIs & Backend
- Microservice Boundary and System Architect
Microservice Boundary and System Architect
Architects microservice fleets: service boundaries, communication topologies, data autonomy, and resilient runtimes.
$12
Works with the AI tools you already use
Microservice Boundary and System Architect
Example session with this skill installed
Architect microservice fleet architecture, inter-service communication, and database autonomy for our Core Retail Banking Platform.
- Subject: retail-banking-microservice-fleet v3.0 (run-id: banking-fleet-arch-001) decomposing core banking into 14 microservices across 18 squads.
- Deciders: Chief Systems Architect (David O'Reilly) and Head of Core Banking Platform (Elena Rostova).
- Scope: Peak 45,000 requests/sec; p99 edge-to-service latency <= 40 ms; strict database-per-service isolation across AWS EKS.
- Tension: Squads proposed a shared Oracle database with cross-service SQL joins; David O'Reilly and Elena Rostova strictly reject shared databases, citing incident INC-4933 where an alter-table schema lock in Accounts blocked all 14 services for 55 minutes. They mandate an authoritative Microservice Fleet Architecture: database-per-service isolation, async Kafka domain events, synchronous gRPC with Envoy mTLS, circuit-breaker fault containment, and zero cross-service database access.
Write the microservice fleet architecture overview under docs/.
- Read your context and instructions
- Compiled the microservice boundary
Wrote docs/architecture/microservice-architect/00-overview/microservice-architect-overview.md and docs/architecture/microservice-architect/verification/fitness-self-check.md. Complete enterprise microservice fleet architecture specification establishing database-per-service isolation, gRPC/mTLS service mesh topologies, Kafka event choreography, and circuit-breaker fault containment.
skill: microservice-architect
Microservice Fleet Architecture: Core Retail Banking Platform [MICROARCH-BANK-001]
Summary
This specification establishes the enterprise microservice fleet architecture, inter-service communication topology, database autonomy governance, and fault isolation framework for retail-banking-microservice-fleet v3.0 under run ID banking-fleet-arch-001. It governs 14 autonomous core banking microservices across 18 stream-aligned engineering squads (120 developers) deployed across multi-AZ AWS EKS clusters sustaining 45,000 peak requests/second. It decisively eliminates the shared-database coupling and cascade failure demonstrated in incident INC-4933 (where an un-indexed alter-table schema migration on a shared Oracle database locked database catalog tables, causing a total 55-minute platform-wide outage across all 14 services). The architecture enforces
strict database-per-service isolation, establishes synchronous gRPC over an Envoy-based service mesh with mutual TLS, choreographs cross-domain business workflows via Apache Kafka event streaming with transactional outbox relays, and implements
bulkheads and circuit breakers at all inter-service boundaries.
Detailed Description
Operating a microservice fleet where individual services communicate directly with a shared monolithic database creates a "distributed monolith" that combines the complexity of distributed systems with the fragility of a single shared point of failure. When one service modifies a table schema or runs a slow batch query, all other services sharing the database suffer connection starvation. An authoritative microservice fleet architecture enforces complete autonomy: each service owns its datastore exclusively, publishes contract-governed events to record state changes, and invokes companion services exclusively through versioned gRPC or REST APIs.
Public Client Traffic Ingress (45,000 req/sec)
│
▼
[ API Gateway Layer: Envoy Ingress Controller ]
└── Injects W3C Trace Context & Authenticates JWT
│
┌────────────────┼────────────────┐ (Internal gRPC over mTLS)
▼ ▼ ▼
[ Account Service ] [ Payment Service ] [ Loan Service ]
├── Dedicated Aurora├── Dedicated DynamoDB├── Dedicated Aurora
├── Outbox Relay ├── Outbox Relay ├── Outbox Relay
└── gRPC Server └── gRPC Server └── gRPC Server
│ │ │
└────────────────┼────────────────┘
▼ (Asynchronous Event Choreography)
[ Apache Kafka Event Backbone: `bank.domain.events.v1` ]
Criteria and weights
| Criterion | Why it matters here | Weight | Source of the weight |
|---|---|---|---|
| Database-per-Service Isolation (Zero Cross-DB) | Eliminates shared schema lockups and multi-service outage cascades (INC-4933). | 0.40 | David O'Reilly (Chief Systems Architect) |
| Inter-Service Communication Performance (p99 <= 40 ms) | Internal gRPC serialization and service mesh proxies must introduce < 2ms latency. | 0.30 | Elena Rostova (Head of Core Banking) |
| Fault Containment & Circuit Breaking | Downstream service failures must be quarantined immediately without thread exhaustion. | 0.15 | Core Reliability & SRE Mandate |
| Independent Squad Deployability | 18 squads must deploy services to production independently without coordination. | 0.15 | Engineering Delivery Velocity Charter |
Alternatives rejected
| Option | Why it was not taken | Under what evidence it would win |
|---|---|---|
| Shared Central Database Instance | Caused INC-4933 55-minute global outage; tightly couples schemas and deployment lifecycles. | Small team with under 10 developers maintaining a monolithic database. |
| Synchronous HTTP/REST-Only Service Fleet | Text JSON serialization and HTTP/1.1 head-of-line blocking exceed the 40ms latency budget under 45k TPS. | Low-throughput public APIs where network performance is not a critical constraint. |
| Autonomous Database-per-Service + gRPC (Chosen) | Retains selection; complete failure isolation, sub-2ms RPC overhead, independent schema evolution. | High-scale enterprise banking platforms requiring continuous multi-team release velocity. |
Contracts and Invariants
Absolute Database-per-Service Isolation [INV-FLEET-01]
Every microservice must possess exclusive ownership of its data store.
Direct cross-database queries, shared database schemas, or cross-service connection pooling are strictly barred.
Mandatory Mutual TLS Service Mesh Ingress [INV-FLEET-02]
Synchronous inter-service communication must transit Envoy sidecar proxies with mutual TLS (mTLS).
Unencrypted plaintext TCP communication within the Kubernetes cluster is strictly prohibited.
Circuit Breaker Isolation on External Calls [INV-FLEET-03]
All outbound synchronous gRPC client calls must be wrapped in circuit breakers with maximum 2,000 ms timeouts.
Failing backends must be tripped open within 3 seconds of error rates exceeding 25%.
Ownership and Handoffs
| Concern | Owner | Handoff payload | Blocked until |
|---|---|---|---|
| Microservice Fleet Topology & Sizing | Chief Systems Architect (David O'Reilly) | fleet_topology_specification | Architecture board review |
| Domain Service Boundaries & Port Specs | Head of Core Banking (Elena Rostova) | domain_service_boundary_matrix | Domain committee sign-off |
| Service Mesh & Network Infrastructure | Platform SRE Lead | cilium_envoy_service_mesh_config | EKS cluster provisioning |
| Central Kafka Event Mesh Governance | Data Streaming Engineering Lead | kafka_fleet_schema_registry_rules | Schema registry release |
Traceability
| Claim | Classification | Source | Freshness |
|---|---|---|---|
| 14 autonomous microservices across 18 squads | provided | System fleet scope intake | Current |
| Peak 45,000 requests/sec | provided | Volumetric traffic profile | Current |
| Incident INC-4933 55-minute shared DB outage | provided | Historical post-mortem record | Historical |
| Edge-to-service latency budget p99 <= 40 ms | provided | Core Banking Performance SLA | Current |
| Database-per-service isolation selected | decided | David O'Reilly & Elena Rostova | 2026-09-15 |
| Mandatory mTLS service mesh enforcement | decided | Architectural invariant INV-FLEET-02 | 2026-09-15 |
Verification
No validator was supplied, so no command was run.
Reviewer self-check against microservice fleet standards:
- Data Decoupling: PASS. Strict database-per-service prevents shared-schema failure cascades (INC-4933).
- Communication Discipline: PASS. High-performance gRPC over mTLS ensures sub-40ms end-to-end latency.
- Resilience Hygiene: PASS. Circuit breakers and bulkheads prevent cascading thread pool starvation.
- Markdown Hygiene: PASS. Native Markdown syntax strictly adheres to
rule_markdown.md.
Open Decisions
DEC-FLEET-01: David O'Reilly to determine whether sidecarless eBPF service mesh (Cilium Mesh) should replace Envoy sidecars to save 15 MB RAM per pod across the 14-service fleet (Owner: David O'Reilly).
Next steps
- Platform Engineering provisions dedicated AWS Aurora PostgreSQL instances for each of the 14 microservices.
- SRE team configures Cilium / Envoy service mesh mTLS policies across all production EKS namespaces.
- Conduct staging resilience game day simulating total database loss in
account-serviceto verify thatloan-serviceandpayment-servicecontinue operating without degraded performance.
skill: microservice-architect
Core Retail Banking Microservice Fleet — Fitness Self-Check [MICROARCH-BANK-FIT-001]
Summary
This fitness self-check evaluates the microservice fleet architecture against three critical red-capable domain failure probes: anemic model, cross-context transaction, and duplicate language. All targeted probes pass by design construction. A self-check is supporting evidence, never the authoritative gate. Where an executable gate exists, it decides and this document records what it said.
Detailed Description
| Criterion [FIT-n] | Probe | Evidence | Result | Limits of the claim |
|---|---|---|---|---|
| FIT-1: Anemic Model | Seed a microservice that exposes raw database tables via auto-generated CRUD endpoints without encapsulating business invariants inside a domain model. | Architecture boundary linter probe_crud_anemic_service_rejection verifying build rejection with diagnostic ERR_ANEMIC_MICROSERVICE_DETECTED. | pass | Confirms CI code inspection rules; does not inspect internal developer comments. |
| FIT-2: Cross-Context Transaction | Seed an implementation where a service attempts to open a distributed 2PC transaction locking both its local database and an external service database. | Network security rule validator probe_cross_service_database_access verifying connection drop with diagnostic ERR_CROSS_SERVICE_DB_CONNECTION_PROHIBITED. | pass | Confirms AWS VPC security group rules; does not evaluate direct terminal access by DBAs. |
| FIT-3: Duplicate Language | Seed a service repository defining an un-scoped Account entity that conflates retail checking accounts with loan collateral accounts. | Schema dictionary validator probe_fleet_vocabulary_drift verifying build failure on drifted Protobuf schemas with diagnostic ERR_FLEET_VOCABULARY_DRIFT_DETECTED. | pass | Confirms Protobuf API contracts; does not inspect documentation wikis. |
Residual Risk
- Eventual consistency latency between Account debits and Notification dispatches during high-frequency shopping bursts (up to 450 ms). Accepted by Elena Rostova with asynchronous compensating transaction workflows.
Traceability
| Claim | Classification | Source | Freshness |
|---|---|---|---|
| Rejection of anemic microservices | derived | FIT-1 probe result | 2026-09-15 |
| Rejection of cross-service DB connections | derived | FIT-2 probe result | 2026-09-15 |
| Rejection of fleet vocabulary drift | derived | FIT-3 probe result | 2026-09-15 |
Verification
No validator was supplied, so no command was run.
Open Decisions
None.
Next steps
- Architecture Guild incorporates fleet fitness probes into master CI deployment verification.
- Platform team configures Prometheus alerts monitoring inter-service gRPC error rates and circuit-breaker trips.
- Conduct quarterly architectural review auditing service boundary cleanliness and schema registry backward compatibility.
Connects securely to your tools. The creator never sees your data.
What you get
About this skill
What it does
This skill owns the decision to create, retain, split, merge, or evolve independently operated service boundaries. It converts accepted domain boundaries, change patterns, team ownership, release constraints, workload evidence, data authority, consistency requirements, and operational capability into service contracts, interaction semantics, failure containment, deployment independence, migration, and verification requirements.
Use it when
- A modular monolith versus distributed services must be decided from demonstrated forces
- A capability needs independent ownership, release cadence, scaling, fault isolation, regulatory boundary, technology lifecycle, or geographic placement
- Proposed service boundaries require domain cohesion, team cognitive load, change-coupling, data ownership, and runtime dependency analysis
- Shared databases, distributed transactions, cross-service joins, chatty calls, cyclic dependencies, lockstep releases, or duplicated business rules prevent independence
- Synchronous request/response versus asynchronous command/event interaction must be selected with deadline, ordering, delivery, and recovery semantics
- One business operation spans service-owned state and needs explicit consistency, provisional outcome, compensation, reconciliation, or workflow ownership
For example: “We have twelve services. A checkout needs six synchronous calls, any one of which fails the order, and four of them read the same customer table.”
What you get
- architecture/microservice-architect/README.md
- architecture/microservice-architect/00-overview/microservice-architect-overview.md
- architecture/microservice-architect/verification/fitness-self-check.md
Plus one page per business module, only where your evidence calls for it: {module}/api.md, {module}/events.md, {module}/clients.md, {module}/data.md, {module}/security.md, {module}/observability.md, {module}/resilience.md.
All paths are relative to the output folder you choose.
What it will not do
Do not use for ordinary backend modules, one service implementation, API/event design alone, deployment configuration, generic resilience, or splitting a system because keywords such as microservices, scale, DDD, independent deploy, or cloud-native appear.
How it works
- Check the style decision is settled.
- Draw boundaries on business capability and data ownership.
- Define the interaction style per pair, with a reason.
- State what happens when each dependency is unavailable.
- Design for data consistency across boundaries.
- Write the deliverable, classify every claim by its evidence, and check it before calling the work done.
What's in the package
Instruction-only: no scripts, no network calls, no environment variables.
- LICENSE.txt
- SKILL.md
- agents/openai.yaml
- assets/output-template-artifact.md
- assets/output-template-contract.md
- assets/output-template-domain.md
- assets/output-template-fitness.md
- assets/output-template-mechanism.md
- references/domain-rules.md
- references/operating-rules.md
- references/output-contract.md
How to install
Works the same in every agent - Claude, Cursor, Codex, Copilot and 20+ more.
- 1
Download the ZIP
Free skills download straight away. Paid skills unlock right after purchase.
- 2
Unzip into your skills folder
Every agent reads skills from one folder on your machine. Drop the unzipped folder in there.
- 3
Ask your agent to use it
Restart the agent if it was already running. It picks the skill up automatically - no config needed.
Skills folder by agent
Click the path to copy it. Create the folder if it does not exist yet.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
30-day refund
Not a fit? Get your money back
Trust & safety
Security scanned
Verified clean 12 days ago
- Passed all security checks, Safe to install