c4-level2-container

C4 Level 2: Container Diagram & Infrastructure Mapping

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "c4-level2-container" with this command: npx skills add kinhluan/skills/kinhluan-skills-c4-level2-container

C4 Level 2: Container Diagram & Infrastructure Mapping

The Container diagram represents the high-level technical architecture (web apps, mobile apps, databases, background jobs).

🎯 Stakeholder Focus

  • Architects: High-level tech decisions and API boundaries.

  • Developers: High-level system structure and cross-app communication.

  • Ops/DevOps: Deployment strategy and infrastructure mapping.

🛠 Infrastructure Mapping

Level 2 should ideally map to actual infrastructure components:

  • Web App/Mobile App: Maps to a build artifact or deployment.

  • API/Service: Maps to a Docker container or K8s deployment.

  • Database: Maps to a managed cloud DB or persistent container.

  • Message Broker: Maps to Kafka, RabbitMQ, or Pub/Sub.

🚫 Anti-Patterns to Guard (Level 2)

  • NOT A FLOWCHART: Avoid modeling complex business logic; use a sequence diagram for that.

  • NO LIBRARIES: Shared libraries (DLL, JAR, NuGet) are NOT containers.

  • READABILITY: If the system has >10 containers, consider multiple Level 2 views (e.g., "Customer View", "Admin View").

🔍 Codebase Scanning (L2 Synthesis)

To identify containers in an existing codebase, scan for:

  • Build manifests: package.json , pom.xml , go.mod , requirements.txt .

  • Docker files: Dockerfile , docker-compose.yml .

  • Infrastructure: Terraform files, k8s/ manifests.

Mermaid Template (Enhanced C4Container)

C4Container title [System Name] - Container Diagram

Person(customer, "User", "Uses the system to browse products.")

System_Boundary(my_system, "System Name") {
    Container(web_app, "Web App", "React/TypeScript", "User interface for browsing products.")
    Container(api_svc, "API Service", "Go/gRPC", "Main business logic and API gateway.")
    ContainerDb(user_db, "User DB", "PostgreSQL", "Stores user profiles and history.")
    Container(worker, "Order Processor", "NodeJS/TS", "Processes background order tasks.")
}

System_Ext(bank, "Bank API", "REST API")

Rel(customer, web_app, "Uses", "HTTPS")
Rel(web_app, api_svc, "Calls API", "JSON/HTTPS")
Rel(api_svc, user_db, "Reads/Writes", "gRPC/TCP")
Rel(api_svc, worker, "Triggers processing", "Pub/Sub")
Rel(worker, bank, "Finalizes payment", "HTTPS/REST")

Level 2 Success Criteria

  • Are all containers separately deployable units?

  • Are all cross-container protocols (JSON, SQL, gRPC) specified?

  • Is the diagram readable and clearly bounded?

  • SMART: Do the containers match build/deployment artifacts in the code?

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ddd-tactical

No summary provided by upstream source.

Repository SourceNeeds Review
General

ddd-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

docker-containerization

No summary provided by upstream source.

Repository SourceNeeds Review
General

scheduling-algorithms

No summary provided by upstream source.

Repository SourceNeeds Review