|
| 1 | +--- |
| 2 | +myst: |
| 3 | + html_meta: |
| 4 | + description: "Real-world applications ported to OpenLambda, and the platform features their needs drove." |
| 5 | + keywords: "OpenLambda, serverless, applications, FastAPI, ASGI, WSGI" |
| 6 | +--- |
| 7 | + |
1 | 8 | # Applications |
2 | 9 |
|
3 | | -We are building OL to support a wide range of applications with minimal changes required from those applications. Our approach is to port more real-world workloads and let their needs drive incremental improvements to the platform. |
| 10 | +We are building OpenLambda to support a wide range of applications with minimal changes |
| 11 | +required from those applications. Our approach is to port real-world workloads to the |
| 12 | +platform and let their needs drive incremental improvements — rather than guessing which |
| 13 | +features matter, we discover them by hitting real friction. |
| 14 | + |
| 15 | +## Why applications drive the roadmap |
| 16 | + |
| 17 | +Porting an application that was never designed for serverless surfaces concrete gaps. Each |
| 18 | +gap becomes a candidate feature, and shipping that feature makes the next, similar |
| 19 | +application easier to deploy. Recent work has been driven this way: |
| 20 | + |
| 21 | +- **WSGI and ASGI support.** OpenLambda removed its dependency on Tornado and added optional |
| 22 | + support for both WSGI (the basis for Flask and Django) and ASGI (its async successor, used |
| 23 | + by FastAPI and Starlette). ASGI enables higher concurrency and better I/O utilization, but |
| 24 | + requires deeper runtime integration. |
| 25 | +- **Lower onboarding friction.** Environment-variable configuration for functions and direct |
| 26 | + GitHub-to-OpenLambda deployment reduce the steps needed to get a new workload running. |
| 27 | +- **Practical runtime gaps.** Real apps surface constraints such as read-only directories and |
| 28 | + the absence of `/dev/shm` for process pools — each a target for future work. |
| 29 | + |
| 30 | +A recurring design question is whether to consolidate multiple functions into a single |
| 31 | +lambda-like unit. We believe co-locating functions is beneficial: it enables opportunistic |
| 32 | +state reuse, faster warm starts, and reduced overhead. |
4 | 33 |
|
5 | | -## Want to deploy FastAPI apps on OpenLambda? Just ASGI us how. |
| 34 | +Looking ahead, better visibility into execution — such as detecting when an application is |
| 35 | +blocked on I/O — opens the door to billing models that distinguish active compute from idle |
| 36 | +waiting, addressing a longstanding serverless concern. |
6 | 37 |
|
7 | | -In this post, we look at an agricultural forecasting application and an ASGI-based web service. The ag app is a natural fit for serverless because it is fundamentally stateless: results can be regenerated on demand from underlying data rather than relying on persistent runtime state. This also influenced the choice of FastAPI for a modern, async-friendly interface. |
8 | | -To situate ASGI, it builds on the long history of WSGI-based Python web serving, where earlier work (including Jaime’s contributions) helped shape synchronous server patterns. ASGI extends this model with native async support, enabling higher concurrency and better I/O utilization, but requiring deeper runtime integration. |
9 | | -A broader design question is whether it is beneficial to consolidate multiple functions into a single Lambda-like unit. We believe it is: co-locating functions enables opportunistic state reuse, faster warm starts, and reduced overhead. |
10 | | -On the implementation side, OL removes its dependency on Tornado and adds optional support for both WSGI and ASGI applications. The ag forecasting app also surfaced practical issues, including /dev/shm constraints when using process pools, which required targeted adjustments. |
11 | | -Looking ahead, improved visibility into execution—such as detecting when applications are blocked on I/O—opens the door to new billing models that distinguish compute from idle waiting time, addressing a longstanding serverless concern. |
12 | | -More broadly, expanding the set of supported applications continues to drive OL’s evolution, alongside features like environment variables and GitHub-based deployments that further reduce friction for onboarding new workloads. |
| 38 | +## Case studies |
13 | 39 |
|
14 | | -- [Ag Forecasting API](ag-forecasting-api.md) |
| 40 | +- [**Ag Forecasting API**](ag-forecasting-api.md) — a FastAPI/ASGI crop-disease forecasting |
| 41 | + service from the UW–Madison Data Science Institute. See the full porting write-up in the |
| 42 | + [blog case study](../blog/post/2026-05-18-ag-forecasting-case-study.md). |
0 commit comments