Architecture
This architecture illustrates the two key personas and their workflows:
- End Users launch serverless pods by selecting a profile, specifying minimal configuration (CPU/GPU), and starting workloads such as Jupyter notebooks or inference services.
- Rafay Platform automates pod provisioning, monitoring, and lifecycle management on Kubernetes clusters, with built-in scale-to-zero and per-use billing.
sequenceDiagram
participant User as End User
participant DevHub as Developer Hub
participant Rafay as Rafay Controller
participant K8s as Kubernetes Cluster
participant Pod as Serverless Pod
User->>DevHub: Login to Developer Hub
DevHub-->>User: Dashboard
User->>DevHub: Select "Serverless Pods"
User->>DevHub: Configure Pod (GPU/CPU, Profile, SSH)
User->>DevHub: Click "Launch"
DevHub->>Rafay: Request Pod Provisioning
Rafay->>K8s: Schedule Pod with requested profile
Rafay->>K8s: Create SSH Secret & NodePort Service
K8s->>Pod: Spin up Ubuntu container (Jupyter/Inference/Custom)
Pod-->>User: Provide Access URL (Jupyter/Shell/Service)
Pod-->>User: Provide SSH Credentials & Command
User->>Pod: Connect via SSH (using private key)
Note over Pod: Idle pods auto scale-to-zero
Pod->>Rafay: Send Metrics (GPU/CPU/Memory usage)
Rafay-->>DevHub: Show Real-time Monitoring