cloud-architecture-patterns
The distributed/cloud application architecture fundamentals: choose an architecture STYLE (N-tier, web-queue-worker, microservices, event-driven, big-data…
Skill by AI Software Factory (fundamentals distilled from the cloud-agnostic architecture canon)
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/rahulgupta2018-cloud-architecture-patterns
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, backend, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/cloud-architecture-patterns
What's inside
- Skill name
cloud-architecture-patterns- Description
- The distributed/cloud application architecture fundamentals: choose an architecture STYLE (N-tier, web-queue-worker, microservices, event-driven, big-data, big-compute) from the domain and prioritised nonfunctional requirements; apply the cloud design PRINCIPLES (self-healing, redundancy, scale-out, partition, minimize coordination, design-for-evolution) and run a failure-mode analysis; select the cloud design PATTERNS that fit the workload's failure/scale/consistency/trust risks (Retry+Circuit Breaker, Bulkhead, Throttling, Queue-Based Load Leveling, Competing Consumers, Pub-Sub, Saga, Idempotent Consumer, Cache-Aside, CQRS, Sharding, Gateway/BFF, Anti-Corruption Layer, Strangler Fig, Sidecar); and avoid the known performance ANTIPATTERNS. Activates when designing or reviewing the architecture of a distributed/cloud/back-end system, choosing a service topology, or hardening a service for load and failure. Owns the style/principle/pattern/antipattern decision method; does not own the tech-stack selection, the UI design, or the implementation language idioms.
- License
- MIT
- Metadata
- author: AI Software Factory (fundamentals distilled from the cloud-agnostic architecture canon) · version: 0.1.0 · category: planning · last_updated: 2026-09-13
- Instructions
- 183 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- description: longer than 1024 characters
Files (2)
- SKILL.md
- patterns-catalog.md · references/
SKILL.md (first lines)
# Cloud & Distributed Application Architecture
## Overview
This skill supplies the architecture *fundamentals* for a distributed or cloud application: the
**style** (the shape), the **principles** (the rules that make it resilient and scalable), the
**patterns** (named solutions to recurring distributed-systems problems), and the **antipatterns** (the
practices that pass testing and fall over under production load). It is cloud-agnostic — the styles,
principles, and patterns apply on any cloud, on-premises, or hybrid. It produces *decisions with
rationale* (which style, which patterns, why), not code.
**Freedom level: MEDIUM** — the selection method and the "name the tradeoff" discipline are firm; the
specific choices are contextual to the workload.
## When to Activate
Activate when:
- Designing the architecture of a back-end / distributed / cloud system, or choosing a service topology.
- Deciding how a service should behave under load, partial failure, or an untrusted dependency.
- Reviewing an existing design for resilience, scalability, or performance-antipattern risk.
**Do not activate** (adjacent skills own this):
- Tech-stack / language / framework selection — the *planning* skill that owns the stack record does that; this skill informs the *shape*, not the toolchain.
- `frontend-design` / `ux-designer` / `modern-css-design-systems` — own the UI/visual design.
- `openapi-design` — owns the concrete API contract; this skill only says *where* a gateway/BFF or versioning belongs.
- Language craft skills (`fullstack-developer`, `java-quarkus-expert`, `python-expert`, `database-expert`) — own the *implementation* idioms of a pattern; this skill selects *which* pattern and *why*.
## Core Concepts
- **A style is a set of constraints, chosen from requirements — not a default.** An architecture style
restricts the elements and relationships allowed, and the desirable properties (independent
deployment, fault isolation, elastic scale) *emerge* from honouring those constraints. Choose the
style from the **domain** and the **prioritised nonfunctional requirements**, then accept its
tradeoffs deliberately. Complexity must match the domain — an over-complex style becomes a "big ball
of mud"; microservices on a simple domain is waste.
- **Cloud design assumes failure and distribution.** Cloud/distributed systems are subject to the
*fallacies of distributed computing* (the network is reliable, latency is zero, bandwidth is
infinite, the network is secure, topology is static). Design *against* those assumptions: everything
fails, so isolate and recover; coordinate as little as possible; scale by adding instances.
- **A pattern solves a named problem and introduces a named tradeoff.** Pick a pattern from the
*problem* you face (a dependency that fails under load, a queue that overwhelms, a store that can't
keep up with reads), not the technology you want. Every pattern costs something — apply it when its
problem statement matches and the tradeoff is one you can accept. Patterns compose (see below).
- **An antipattern is a design that works in test and degrades under load.** Most start reasonable and
creep in as features are added. Knowing the catalog lets you spot one in review before it ships.
## 1. Choose an architecture style
Identify the domain and rank the nonfunctional requirements (time-to-market, scale, reliability,
consistency, cost, team maturity). Then choose:
| Style | Best for | Dependency shape | Key tradeoff to accept |
|---|---|---|---|
| **N-tier** | Traditional business apps, low update frequency, lift-and-shift | Horizontal layers (presentation → business → data) | Horizontal coupling limits agility; whole tiers deploy together |
| **Web-Queue-Worker** | Simple domain with some heavy/long tasks | Web front end + async queue + back-end worker | Front end and worker can each drift toward monolithic |
| **Microservices** | Complex domain, frequent independent releases, mature DevOps | Vertically decomposed services, own data, API/async calls | Big operational complexity: discovery, consistency, distributed debugging |
| **Event-driven** | Real-time/IoT/streaming, high fan-out, loose coupling | Producers → broker → independent consumers | Eventual consistency, ordering, duplicate delivery, guaranteed-delivery effort |
| **Big data** | Batch + streaming analytics over very large datasets | Ingest → lake → batch/stream → serve | Pipeline complexity; batch/stream reconciliation |
| **Big compute (HPC)** | Compute-intensive simulation/modelling across many cores | Scheduler → parallel or tightly-coupled tasks | Coordination/interconnect cost for tightly-coupled work |
Record **which style, and the single most important reason** (the NFR it serves), plus the tradeoff
you are accepting. It is often right to relax a constraint rather than chase architectural purity —
say so explicitly. Different bounded contexts may use different styles.
## 2. Apply the design principles + failure-mode analysis
Walk these as a checklist; for each, state how the design satisfies it (or why it's N/A):
1. **Design for self-healing** — detect failure and recover automatically: **Retry** (transient) paired
with **Circuit Breaker** (persistent), **timeouts**, **Health Endpoint Monitoring**, **Bulkhead**
isolation. Failures are inevitable; isolate them.
2. **Make all things redundant** — no single point of failure: multiple instances, load balancing,
replicas, multi-zone/region to the level the business needs.
3. **Minimize coordination** — decouple services, communicate asynchronously, accept eventual
consistency where the domain allows; coordination is the enemy of scale.
4. **Design to scale out** (horizontal), not up — stateless instances, **no session stickiness**,
autoscale on live metrics, decompose by scale requirement.
5. **Partition around limits** — partition data/compute/queues around throughput and size limits;
design partition keys to avoid hotspots.
6. **Design for operations** — logging, distributed tracing, metrics, automated deploy/rollback.
7. **Use managed services** and **a managed identity provider** — don't run what a platform runs better;
don't build your own auth (**Federated Identity**).
8. **Design for evolution** — loose coupling, well-defined + **versioned APIs**, async messaging, so
services change independently. Successful systems always change.
9. **Build for the needs of the business** — tie RTO/RPO, SLA/SLO, and redundancy level to business
requirements, not to fashion.
10. **Failure-mode analysis (FMA)** — enumerate the failure points (each dependency, store, queue,
external call), rate each by impact/likelihood, and name the response (retry, fail over, degrade,
circuit-break, queue). Do this *at design time*, not after the incident.
## 3. Select the cloud design patterns
Start from the workload's risks and pick the matching patterns. Load `references/patterns-catalog.md`
for the full catalog with per-pattern implementation sketches. The high-value groups:
- **Resilience (a service fails or slows under load):** **Retry** + **Circuit Breaker** (always pair
them — retry transient faults, stop hammering a persistent one; unpaired retry causes a *Retry
Storm*), **Timeout**, **Bulkhead** (isolate resource pools so one failure doesn't sink the rest),
**Throttling** / **Rate Limiting** (protect a service from overload), **Health Endpoint Monitoring**.
- **Decoupling & load (bursty load, slow consumers, cross-service work):** **Queue-Based Load Leveling**
(buffer bursts) + **Competing Consumers** (scale the processing), **Publisher-Subscriber** (fan-out
without coupling), **Priority Queue**, **Claim Check** (large payloads), **Async Request-Reply**.
- **Data & consistency (reads outpace writes, distributed transactions, scale limits):** **Cache-Aside**
(read-through cache — its absence is the *No Caching* antipattern), **CQRS** (split read/write
models), **Materialized View**, **Index Table**, **Sharding** (partition a store), **Event Sourcing**,
**Saga** + **Compensating Transaction** (consistency across services without a distributed
transaction), **Idempotent Consumer** (safe duplicate delivery — mandatory with at-least-once
messaging).
- **Composition & edge (many clients, legacy, cross-cutting concerns):** **Gateway Routing /
Aggregation / Offloading**, **Backends for Frontends**, **Anti-Corruption Layer** (isolate a legacy
or third-party model), **Strangler Fig** (incremental migration), **Sidecar** / **Ambassador**
(out-of-process cross-cutting concerns), **External Configuration Store**.
- **Security (protect and delegate access):** **Federated Identity**, **Gatekeeper** (validate/sanitise
before the private back end), **Valet Key** (scoped, direct, time-boxed resource access).
**Pattern pairings that matter:** Retry+Circuit Breaker · Queue-Based Load Leveling+Competing
Consumers · Saga on Compensating Transaction · Gateway Routing+Aggregation+Offloading behind one edge.
Record the patterns you are applying and **the risk each addresses** — and note the ones youFrom rahulgupta2018/agent-skills, MIT.
More from rahulgupta2018/agent-skills
- 0.552score
code-reviewer
awesome-llm-apps (adapted for this library)
Reviews code changes (frontend, backend/API, and agent/workflow code) for security, performance, correctness, and maintainability, and returns a prioritised…
SkillBFreshness: B★ 1Claude Code +9 - 0.497score
agent-discovery
rahulgupta2018
Analyse an existing agent, agent prompt, or AGENT.md to inventory responsibilities, tool usage, reusable procedures, context-heavy sections, failure points…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
adk-architecture
rahulgupta2018
ADK architectural knowledge — graph orchestration, resumption, execution flow, node contracts, observability, and LLM context orchestration.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
adk-agent-builder
rahulgupta2018
Central hub for building, testing, and iterating on ADK agents.
SkillCFreshness: C★ 1Claude Code +9 - 0.492score
adk-style
rahulgupta2018
ADK development style guide for routine nits — Python idioms, codebase conventions, imports, typing, Pydantic patterns, formatting, logging…
SkillCFreshness: C★ 1Claude Code +9 - 0.492score
adk-sample-creator
rahulgupta2018
Author new samples for the ADK Python repository.
SkillCFreshness: C★ 1Claude Code +9 - 0.492score
adk-debug
rahulgupta2018
Use when debugging ADK agents, inspecting sessions, testing agent behavior, troubleshooting tool calls, event flow issues, or diagnosing LLM/model problems.
SkillCFreshness: C★ 1Claude Code +9 - 0.492score
adk-review
rahulgupta2018
Reviews all local changes in the repository for errors, styling compliance, unintended outcomes, and necessary documentation/test/sample updates.
SkillCFreshness: C★ 1Claude Code +9 - 0.492score
adk-setup
rahulgupta2018
Set up a local development environment for the ADK Python project.
SkillCFreshness: C★ 1Claude Code +9 - 0.490score
skill-name-in-kebab-case
Social Housing AI
Third-person, present-tense description written for discovery.
SkillCFreshness: C★ 1Claude Code +9 - 0.489score
adk-git
rahulgupta2018
Use for any git operation (commit, push, pull, rebase, branch, PR, cherry-pick, etc.).
SkillCFreshness: C★ 1Claude Code +9 - 0.486score
adk-unit-design
rahulgupta2018
Creates or updates code unit design documents for source code documentation.
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 13, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 0.1.0
- License
- MIT
- Repository
- github.com/rahulgupta2018/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Cite this page
cloud-architecture-patterns skill. Agent Mart. https://agentmart.dev/skills/rahulgupta2018-cloud-architecture-patterns (last updated 2026-10-24)