# aws-samples/sample-code-for-genai-cost-management-workshop architecture

> Architecture diagram of the GitHub repository aws-samples/sample-code-for-genai-cost-management-workshop, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/aws-samples/sample-code-for-genai-cost-management-workshop
- Repository: https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop

## Overview

This repository is a hands-on AWS workshop, not a single application: users first explore ways to attribute generative-AI spend, then work through optimization techniques. The Track branch covers six Bedrock-native mechanisms and a LiteLLM option; the Optimize branch groups examples into low-, medium-, and high-effort tiers. The README also describes workshop infrastructure deployment and cost dashboards. Source excerpts contain no sample implementation code, so edges below reflect documented learning flow and capabilities rather than verified runtime calls.

Main entry points: [`samples/1-track/6-iam-identity-log-attribution`](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/6-iam-identity-log-attribution) (Identity Log Attribution), [`samples/1-track/1-iam-principal-attribution`](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/1-iam-principal-attribution) (IAM Attribution), [`samples/1-track/2-application-inference-profiles`](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/2-application-inference-profiles) (Inference Profiles), [`samples/1-track/3-workspaces`](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/3-workspaces) (Workspaces)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_setup["Workshop Setup"]
  node_environment["Workshop Environment"]
end

subgraph group_track["Spend Attribution"]
  node_iam["IAM Attribution"]
  node_profiles["Inference Profiles"]
  node_workspaces["Workspaces"]
  node_projects["Projects"]
  node_metadata["Request Metadata"]
  node_identitylogs["Identity Log Attribution"]
  node_litellm["LiteLLM Tracking"]
end

subgraph group_visibility["Cost Visibility"]
  node_costreports["Cost Reports"]
  node_dashboards["Cost Dashboards"]
end

subgraph group_optimize["Spend Optimization"]
  node_low["Low-Effort Levers"]
  node_medium["Medium-Effort Levers"]
  node_high["High-Effort Levers"]
end

node_learner(("Workshop Learner"))
node_bedrock["Amazon Bedrock"]

node_learner -->|"deploys"| node_environment
node_learner -->|"learns attribution"| node_iam
node_learner -->|"learns attribution"| node_profiles
node_learner -->|"learns attribution"| node_workspaces
node_learner -->|"learns attribution"| node_projects
node_learner -->|"learns attribution"| node_metadata
node_learner -->|"learns attribution"| node_identitylogs
node_learner -->|"learns tracking"| node_litellm
node_iam -->|"attributes usage"| node_bedrock
node_profiles -->|"routes inference"| node_bedrock
node_workspaces -->|"tracks usage"| node_bedrock
node_projects -->|"tracks usage"| node_bedrock
node_metadata -->|"tags requests"| node_bedrock
node_identitylogs -->|"logs invocations"| node_bedrock
node_identitylogs -->|"queries logs"| node_costreports
node_costreports -->|"supports reporting"| node_dashboards
node_litellm -.->|"tracks requests"| node_bedrock
node_learner -->|"optimizes spend"| node_low
node_learner -->|"optimizes spend"| node_medium
node_learner -->|"optimizes spend"| node_high
node_low -->|"uses cost levers"| node_bedrock
node_medium -->|"uses cost levers"| node_bedrock
node_high -->|"uses cost levers"| node_bedrock

click node_environment "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/blob/main/cfn/workshop-stack.yaml"
click node_iam "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/1-iam-principal-attribution"
click node_profiles "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/2-application-inference-profiles"
click node_workspaces "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/3-workspaces"
click node_projects "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/4-projects"
click node_metadata "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/5-per-request-metadata-tagging"
click node_identitylogs "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/6-iam-identity-log-attribution"
click node_litellm "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/7-litellm"
click node_costreports "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/6-iam-identity-log-attribution"
click node_dashboards "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track"
click node_low "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/2-optimize/01-low-effort"
click node_medium "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/2-optimize/02-medium-effort"
click node_high "https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/2-optimize/03-high-effort"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_environment toneBlue
class node_iam,node_profiles,node_workspaces,node_projects,node_metadata,node_identitylogs,node_litellm toneAmber
class node_costreports,node_dashboards toneMint
class node_low,node_medium,node_high toneRose
class node_learner,node_bedrock toneIndigo
```

## Components

### Workshop Setup

- [Workshop Environment](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/blob/main/cfn/workshop-stack.yaml): `cfn/workshop-stack.yaml`

### Spend Attribution

- [IAM Attribution](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/1-iam-principal-attribution): `samples/1-track/1-iam-principal-attribution`
- [Inference Profiles](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/2-application-inference-profiles): `samples/1-track/2-application-inference-profiles`
- [Workspaces](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/3-workspaces): `samples/1-track/3-workspaces`
- [Projects](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/4-projects): `samples/1-track/4-projects`
- [Request Metadata](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/5-per-request-metadata-tagging): `samples/1-track/5-per-request-metadata-tagging`
- [Identity Log Attribution](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/6-iam-identity-log-attribution): `samples/1-track/6-iam-identity-log-attribution`
- [LiteLLM Tracking](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/7-litellm): `samples/1-track/7-litellm`

### Cost Visibility

- [Cost Reports](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track/6-iam-identity-log-attribution): `samples/1-track/6-iam-identity-log-attribution`
- [Cost Dashboards](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/1-track): `samples/1-track`

### Spend Optimization

- [Low-Effort Levers](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/2-optimize/01-low-effort): `samples/2-optimize/01-low-effort`
- [Medium-Effort Levers](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/2-optimize/02-medium-effort): `samples/2-optimize/02-medium-effort`
- [High-Effort Levers](https://github.com/aws-samples/sample-code-for-genai-cost-management-workshop/tree/main/samples/2-optimize/03-high-effort): `samples/2-optimize/03-high-effort`

### Other components

- **Workshop Learner**
- **Amazon Bedrock**

## Connections

- Workshop Learner → Workshop Environment: deploys (evidence: `README.md`)
- Workshop Learner → IAM Attribution: learns attribution (evidence: `README.md`)
- Workshop Learner → Inference Profiles: learns attribution (evidence: `README.md`)
- Workshop Learner → Workspaces: learns attribution (evidence: `README.md`)
- Workshop Learner → Projects: learns attribution (evidence: `README.md`)
- Workshop Learner → Request Metadata: learns attribution (evidence: `README.md`)
- Workshop Learner → Identity Log Attribution: learns attribution (evidence: `README.md`)
- Workshop Learner → LiteLLM Tracking: learns tracking (evidence: `README.md`)
- IAM Attribution → Amazon Bedrock: attributes usage (evidence: `README.md`)
- Inference Profiles → Amazon Bedrock: routes inference (evidence: `README.md`)
- Workspaces → Amazon Bedrock: tracks usage (evidence: `README.md`)
- Projects → Amazon Bedrock: tracks usage (evidence: `README.md`)
- Request Metadata → Amazon Bedrock: tags requests (evidence: `README.md`)
- Identity Log Attribution → Amazon Bedrock: logs invocations (evidence: `README.md`)
- Identity Log Attribution → Cost Reports: queries logs (evidence: `README.md`)
- Cost Reports → Cost Dashboards: supports reporting (evidence: `README.md`)
- LiteLLM Tracking → Amazon Bedrock: tracks requests (evidence: `README.md`)
- Workshop Learner → Low-Effort Levers: optimizes spend (evidence: `README.md`)
- Workshop Learner → Medium-Effort Levers: optimizes spend (evidence: `README.md`)
- Workshop Learner → High-Effort Levers: optimizes spend (evidence: `README.md`)
- Low-Effort Levers → Amazon Bedrock: uses cost levers (evidence: `README.md`)
- Medium-Effort Levers → Amazon Bedrock: uses cost levers (evidence: `README.md`)
- High-Effort Levers → Amazon Bedrock: uses cost levers (evidence: `README.md`)
