Backstory
Yesterday, I had an job interview with a couple people that weren’t very familiar with Elixir. During the discussion, I brought up FLAME for scaling GPU servers. After the interview, I decided to send some key links about FLAME. My search for FLAME protocol returned a lot of unrelated information. However, I just tried a different google search, FLAME serverless architecture pattern. This was a more successful search.
Since I had trouble with the original Google search and I knew what I was looking for, I wanted to make it easier for others to find useful information about FLAME.
Key description of FLAME (from code repository)
Imagine if we could auto scale simply by wrapping any existing app code in a function and have that block of code run in a temporary copy of the app.
Enter the FLAME pattern.
FLAME - Fleeting Lambda Application for Modular Execution
With FLAME, you treat your entire application as a lambda, where modular parts can be executed on short-lived infrastructure.
Key links that I identified
Blog Posts
- https://fly.io/blog/rethinking-serverless-with-flame/
- https://dockyard.com/blog/2024/02/27/next-gen-machine-learning-with-flame-and-nx-beyond-serverless
Intro to FLAME video
- https://www.youtube.com/watch?v=l1xt_rkWdic
ElixirConf video - demonstrating scaling with non-ML and grid search ML examples
Note: there were some internet challenges at the conference that impacted the demo
- https://www.youtube.com/watch?v=4qoHPh0obv0
Another Christopher Grainger video
- https://www.youtube.com/watch?v=HP86Svk4hzI
Code:
- https://github.com/phoenixframework/flame
- https://github.com/mruoss/flame_k8s_backend
- https://github.com/probably-not/flame-ec2