Real-time 3D visualization of enterprise SAP landscapes with chaos engineering and time-travel debugging.
A single-file 3D mission control for SAP system landscapes. Built for SAP architects and Azure infrastructure teams who want to see their landscape — not just read dashboards.
- ~150 SAP systems across 6 global regions rendered in real-time 3D
- Semantic zoom — galaxy → cluster → system (Google Maps pattern)
- Chaos engineering — inject failures, watch cascading outages, measure blast radius
- Time travel — scrub 24 hours of history, replay incidents, debug from the timeline
- 6 business units: EMEA Manufacturing, NA Finance, APAC Retail, LATAM Supply Chain, MEA Oil & Gas, Global Shared Services
- Color-coded by tier (Prod/QA/Dev/DR/Cloud), shaped by database (octahedron = HANA, cube = non-HANA)
- Animated RFC/IDoc traffic particles with latency coloring
- Real-time metrics: CPU, memory, disk I/O, work processes, HANA threads
- Click any node or cluster to inject failure
- Cascading failure propagation through RFC/IDoc dependencies
- Blast radius analysis: users impacted, IDocs queued, cost/minute
- Visual shockwave effects and failure propagation log
- 24-hour pre-seeded history with realistic patterns (work-hours curves, batch spikes, deployments)
- Drag slider to scrub to any point — entire landscape rewinds
- Event markers on timeline: spikes, failures, recoveries, deployments
- CPU heatmap stripe shows landscape-wide health at a glance
- Keyboard controls:
Spaceplay/pause,←→step,Escreturn to live
git clone https://github.com/YOUR_USERNAME/sap-landscape-digital-twin.git
cd sap-landscape-digital-twin
open index.htmlThat's it. No build step, no dependencies, no backend.
- Push this repo to GitHub
- Cloudflare Dashboard → Pages → Create a project → Connect GitHub repo
- Settings:
- Build command: (leave blank)
- Build output directory:
/(root)
- Deploy — every push to
mainauto-deploys
Upload the repo contents (including index.html at root) via Cloudflare Pages UI.
npx wrangler pages deploy . --project-name=sap-landscape-digital-twin| Key | Action |
|---|---|
Click cluster |
Drill into region |
Click node |
Inspect system |
Esc |
Zoom out / exit mode |
Drag |
Orbit camera |
Scroll |
Zoom in/out |
Space |
Play/pause time travel |
← → |
Step timeline |
💥 CHAOS button |
Toggle failure injection mode |
┌─────────────────────────────────────┐
│ Single HTML File │
│ │
│ ┌──────────┐ ┌─────────────────┐ │
│ │ Three.js │ │ Metrics Engine │ │
│ │ r128 │ │ (SAP APIs) │ │
│ └──────────┘ └─────────────────┘ │
│ ┌──────────┐ ┌─────────────────┐ │
│ │ Chaos │ │ Time Travel │ │
│ │ Engine │ │ Ring Buffer │ │
│ └──────────┘ └─────────────────┘ │
│ ┌──────────────────────────────┐ │
│ │ Semantic Zoom Controller │ │
│ │ Galaxy → Cluster → System │ │
│ └──────────────────────────────┘ │
└─────────────────────────────────────┘
To connect to real SAP landscapes:
- Replace simulated metrics → Azure Monitor REST API + HANA
M_*system views via WebSocket - Auto-discover topology → Azure Resource Graph API (tags:
sap-sid,sap-tier,sap-landscape) - Auth → MSAL.js for Azure AD
- Deploy → Azure Static Web Apps or Cloudflare Pages
- Failure injection → Connect to Azure Chaos Studio for real chaos experiments
- Three.js r128 — 3D rendering
- Vanilla JS — zero framework
- IBM Plex Mono + Outfit — typography
- Cloudflare Pages — hosting
- SAP BTP access/Solman — hosting
- Azure Monitoring, Log Analaytcis — hosting
MIT
Amit Lal — Personal project (not an official Microsoft product)
This tool queries only public Azure APIs (SKU availability, quota, retail pricing) against your own Azure subscriptions. It reads subscription metadata (such as subscription IDs/names, regions, quotas, and usage) and writes results locally (console output and CSV/XLSX exports); it does not transmit this data off your machine except as required to call Azure APIs.
Issues & PRs: Welcome! Please do not include subscription IDs, tenant IDs, internal URLs, or any confidential information. Azure support: For Azure platform issues or outages, contact Azure Support — not this repository. Exported files: Review CSV/XLSX exports before sharing externally — they may contain subscription IDs, region information, quotas, and usage details for your environment.
Built by Amit Lal · Microsoft SAP on Azure