Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Backend.AI App Proxy Worker

Purpose

The App Proxy Worker is a high-performance reverse proxy that routes user traffic to compute session services (Jupyter, SSH, TensorBoard, etc.) running on agents. It receives routing information from the Coordinator and handles SSL/TLS termination, load balancing, and traffic forwarding.

Key Responsibilities

1. Traffic Proxying

  • Proxy HTTP/HTTPS requests to session services
  • Proxy WebSocket connections for interactive services
  • Handle SSL/TLS termination
  • Stream responses efficiently

2. Route Resolution

  • Receive routing tables from Coordinator
  • Resolve session services from URLs
  • Cache routing information locally
  • Update routes dynamically

3. Health Checking

  • Monitor backend service health
  • Detect failed services
  • Report health status to Coordinator
  • Handle service failover

Architecture

1. Traffic Proxy (Main)

Framework: aiohttp + custom reverse proxy

Port: 5050 (default, HTTPS)

Protocol: HTTP/HTTPS, WebSocket

Key Features:

HTTP/HTTPS Proxy

  • Route user requests to session services
  • URL Pattern: https://<worker-domain>/<session-id>/<service-name>/...

WebSocket Proxy

  • Interactive service communication (Jupyter Kernel, SSH, etc.)
  • Real-time log streaming

Key Characteristics:

  • SSL/TLS termination (Let's Encrypt auto-certificate)
  • High-performance async proxy
  • Connection pooling and reuse
  • Streaming support (large file downloads)
  • Sticky session support
  • Auto-retry and failover

Processing Flow:

HTTP Proxy Flow

User → HTTPS Request → Worker (SSL termination)
                           ↓
                       Parse URL (extract session_id, service_name)
                           ↓
                       Lookup route from local cache
                           ↓
                       Resolve backend address (agent:port)
                           ↓
                       Proxy request to agent
                           ↓
                       Stream response back to user

WebSocket Proxy Flow

User → WS Upgrade Request → Worker
                               ↓
                           Establish WS connection to agent
                               ↓
                           Bidirectional message forwarding

2. REST API (Management)

Framework: aiohttp (async HTTP server)

Port: 6040 (default, separate management port)

Key Features:

  • Communication with Coordinator
  • Health check endpoints
  • Metrics exposure (Prometheus)
  • Internal management (no external access)

Component Interaction

Traffic Proxy Flow:

User (Browser) → Worker (Port 5050) → Kernel (on Agent)
                    │
                    ├─ SSL/TLS termination
                    ├─ Route resolution
                    └─ Traffic proxying

Management Flow:

Coordinator → Worker REST API (Port 6040) → Route updates

Metadata

Release files for backend.ai-appproxy-worker 26.9.0a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for backend.ai-appproxy-worker 26.9.0a1
File Size Uploaded
backend_ai_appproxy_worker-26.9.0a1.tar.gz 58.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for backend.ai-appproxy-worker 26.9.0a1
File Interpreter ABI Platform
backend_ai_appproxy_worker-26.9.0a1-py3-none-any.whl Python 3 none any Details

Total release size: 136.9 kB

Release files / backend_ai_appproxy_worker-26.9.0a1.tar.gz

Download URL backend_ai_appproxy_worker-26.9.0a1.tar.gz
Size 58.0 kB
Tags Source
SHA-256 checksum
How to use checksums
61af9e6855277afe0b638f64b60685a8af35ab3b4b04237e94cedc9f83ce6f7c
BLAKE2b-256 checksum
How to use checksums
0ac6dc5b743ff527e6f05d8d1755a9b3b9f73a47eb9f147171badd1c84fddf06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / backend_ai_appproxy_worker-26.9.0a1-py3-none-any.whl

Download URL backend_ai_appproxy_worker-26.9.0a1-py3-none-any.whl
Size 78.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e408e65eb1e7cd859a0ff5589af8fc1e472abb76109c5672de817165bbc3fe2
BLAKE2b-256 checksum
How to use checksums
a43fcb0e38935118112c350dc45167a8622b3ef603c7dcbdc6f5e1b46c38b405
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

26.9.0a1 This release

2 release files

26.8.1

2 release files

26.8.0

2 release files

26.4.9

2 release files

26.4.8

2 release files

26.4.6

2 release files

26.4.5

2 release files

26.4.4

2 release files

26.4.3

2 release files

26.4.2

2 release files

26.4.1

2 release files

26.3.3

2 release files

26.3.2

2 release files

26.3.1

2 release files

26.3.0

2 release files

26.2.5

2 release files

26.2.4

2 release files

26.2.3

2 release files

26.2.2

2 release files

26.2.1

2 release files

26.2.0

2 release files

26.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page