Skip to content

amitlals/SAP-Landscape-Digital-Twin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

README.md

SAP Landscape Digital Twin

Real-time 3D visualization of enterprise SAP landscapes with chaos engineering and time-travel debugging.

▶ Live Demo

Three.js Cloudflare Pages License Zero Backend


Screenshot 2026-02-08 121247

What is this?

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

Features

🌐 Enterprise-Scale Visualization

  • 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

💥 Chaos Engineering

  • 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

⏱ Time Travel

  • 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: Space play/pause, ←→ step, Esc return to live

Quick Start

git clone https://github.com/YOUR_USERNAME/sap-landscape-digital-twin.git
cd sap-landscape-digital-twin
open index.html

That's it. No build step, no dependencies, no backend.

Deploy to Cloudflare Pages

Option A: GitHub Integration (recommended)

  1. Push this repo to GitHub
  2. Cloudflare Dashboard → Pages → Create a project → Connect GitHub repo
  3. Settings:
    • Build command: (leave blank)
    • Build output directory: / (root)
  4. Deploy — every push to main auto-deploys

Option B: Direct Upload

Upload the repo contents (including index.html at root) via Cloudflare Pages UI.

Option C: Wrangler CLI

npx wrangler pages deploy . --project-name=sap-landscape-digital-twin

Keyboard Shortcuts

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

Architecture

┌─────────────────────────────────────┐
│          Single HTML File           │
│                                     │
│  ┌──────────┐  ┌─────────────────┐  │
│  │ Three.js │  │  Metrics Engine  │  │
│  │  r128    │  │  (SAP APIs)    │  │
│  └──────────┘  └─────────────────┘  │
│  ┌──────────┐  ┌─────────────────┐  │
│  │  Chaos   │  │  Time Travel    │  │
│  │  Engine  │  │  Ring Buffer    │  │
│  └──────────┘  └─────────────────┘  │
│  ┌──────────────────────────────┐   │
│  │    Semantic Zoom Controller   │   │
│  │  Galaxy → Cluster → System   │   │
│  └──────────────────────────────┘   │
└─────────────────────────────────────┘
         

Production Roadmap

To connect to real SAP landscapes:

  1. Replace simulated metrics → Azure Monitor REST API + HANA M_* system views via WebSocket
  2. Auto-discover topology → Azure Resource Graph API (tags: sap-sid, sap-tier, sap-landscape)
  3. Auth → MSAL.js for Azure AD
  4. Deploy → Azure Static Web Apps or Cloudflare Pages
  5. Failure injection → Connect to Azure Chaos Studio for real chaos experiments

Tech Stack

  • 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

License

MIT

Author

Amit Lal — Personal project (not an official Microsoft product)

Support & Responsible Use

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

About

Real-time 3D visualization of enterprise SAP landscapes with chaos engineering and time-travel debugging.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors