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 ║
╚═════════════════════════╝