Skip to main content

Inversion of State

Serverless runtimes are often hidden in a cloud providers offering and exposed solely by their programming API and deployment procedures. In this talk, we'll explore an open-source Serverless runtime built for the cloud and on-premises, running on the BEAM with a polyglot programming model to build general purpose applications.

inversion of state
                                                 β”Œ ─ ─ ─ ─ ─ ─ ─ ─                                      
╔═════════════════════════╗ message-in β”‚
β•‘ β•‘ β”‚
╔════════════╗ β•‘ β•‘ ╔════════════╗ β”‚
β•‘ request1 ║─────╬──(1)────────────────────╬──▢│ β•‘ request1 ║─────(3.2)────────────┐
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β• β•‘ β•‘ ╠════════════╣ β”‚ β”‚
β•‘ β”Œβ”€β”€β”€β”€β”€(2)───╬──▢│ β•‘ state1 ║─────(3.1)──────┐ β”‚
β•‘ β”‚ β•‘ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β• β”‚ β”‚ β”‚
β•‘ β”‚ β•‘ β”” ─ ─ ─ ─ ─ ─ ─ ─ ╔═══════════╬═════╬═══════════════╗
β•‘ β”‚ β•‘ β•‘ β”‚ β”‚ β•‘
β•‘ β”‚ β•‘ β•‘ β–Ό β–Ό β•‘
β•‘ β”‚ β•‘ β•‘ function(ctx, message) response β•‘
β•‘ β”‚ β•‘ β•‘ β•‘
β•‘ β”‚ β•‘ β•‘ β”‚ β”‚ β•‘
β•‘ β”‚ β•‘ β”Œ ─ ─ ─ ─ ─ ─ ─ ─ β•šβ•β•β•β•β•β•β•β•β•β•β•β•¬β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•¬β•β•β•β•β•β•
╔════════════╗ β•‘ β”‚ β•‘ ╔════════════╗ β”‚ β”‚ β”‚
β•‘ response1 ║◀────╬──(6)────────┼───────────╬───┼─║ response1 β•‘ ◀──(4.2)β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β• β•‘ β”‚ β•‘ ╠════════════╣ β”‚ β”‚
β•‘ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β•¬β”€β”€β”€β”Όβ”€β•‘ state2 β•‘ ◀──(4.1)β”€β”€β”€β”€β”€β”€β”˜
β•‘ β”‚ β”‚ β•‘ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β• β”‚
β•‘Proxy β”‚ β”‚ β•‘ β”‚
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•¬β•β•β•β•β•¬β•β•β•β•β•β•β• message-out β”‚
β”‚ β”‚ β”” ─ ─ ─ ─ ─ ─ ─ ─
β”‚ β”‚
β”‚ β”‚
╔═════════════╬════╬══════╗
β•‘ β”‚ β”‚ β•‘
β•‘ β”‚ β”‚ β•‘ ╔════════════╗
β•‘ └────┼──────╬─────║ state1 β•‘
β•‘ β”‚ β•‘ ╠════════════╣
β•‘ └─(5)──╬────▢║ state2 β•‘
β•‘ β•‘ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•
β•‘State-Management β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•