https://github.com/madebyae/serverless-plugin-rust
Serverless framework plugin for blazingly-fast rust functions. โก๏ธ๐ฆ
https://github.com/madebyae/serverless-plugin-rust
aws-lambda plugin rust serverless
Last synced: 12 months ago
JSON representation
Serverless framework plugin for blazingly-fast rust functions. โก๏ธ๐ฆ
- Host: GitHub
- URL: https://github.com/madebyae/serverless-plugin-rust
- Owner: MadebyAe
- License: mit
- Created: 2022-12-26T01:37:39.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-13T00:45:56.000Z (about 2 years ago)
- Last Synced: 2025-03-23T23:16:20.133Z (about 1 year ago)
- Topics: aws-lambda, plugin, rust, serverless
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/serverless-plugin-rust
- Size: 296 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**Serverless framework** plugin for blazingly-fast rust functions.

## Status
[](https://github.com/MadebyAe/serverless-plugin-rust/actions/workflows/build.yml)
## Motivation
### ๐ป Development experience
The goal of this project is to be accessible to beginners and experienced developers. Similar solutions require **Docker** to run or compile rust which is not practical.
### ๐ Faster time-to-market
You can quickly deploy and update serverless applications, reducing the time it takes to bring new features to the market.
### โก๏ธ Blazingly-fast
Experience unparalleled speed with serverless Rust, delivering exceptional performance on serverless infrastructure.
### ๐ Seamless scalability
Rust offers seamless scalability, effortlessly handling varying workloads, capable of processing millions of requests per minute while maintaining optimal performance.
## Quick start
### Prerequisites
Make sure you have the following installed before starting:
- [Node.js](https://nodejs.org)
- [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
- [cargo lambda](https://www.cargo-lambda.info)
### Install
```console
npm install serverless-plugin-rust --save-dev
```
## Usage
### Default serverless.yml config example
```yml
service: serverless-rust-hello-world
provider:
name: aws
stage: dev
runtime: provided.al2
region: us-east-1
architecture: arm64
package:
individually: true
configValidationMode: error
functions:
hello:
description: Hello world lambda
handler: hello
events:
- http:
path: '/hello-world'
method: get
plugins:
- serverless-plugin-rust
```
```console
serverless deploy
```
## Demo
[](https://asciinema.org/a/646679)
## Examples
- [Basic hello world example](https://github.com/MadebyAe/serverless-plugin-rust/tree/main/examples/hello-world)
- [OpenAI ChatGPT example](https://github.com/MadebyAe/serverless-plugin-rust/tree/main/examples/openai-chatgpt)
- [Workspace example](https://github.com/MadebyAe/serverless-plugin-rust/tree/main/examples/workspace)
## Benchmark
| | | | |
|---------------------|-------------|-----------|--------------|
| Rust (provided.al2) | โ 17.734ms | ๐พ 14MB | โก 1.18ms |
| Go (provided) | โ 59.495ms | ๐พ 19MB | โก 3.14ms |
| Go (1.x) | โ 93.72ms | ๐พ 29.1MB | โก 3.14ms |
| Node.js v16.x | โ 141.038ms | ๐พ 57.2MB | โก 11.18ms |
| Node.js v18.x | โ 250.032ms | ๐พ 64.7MB | โก 8.70ms |
| Java11 | โ 428.539ms | ๐พ 81MB | โก 13.73ms |
โ Avg Cold Start duration ยท ๐พ Avg Memory Used ยท โก Avg duration
Source: https://maxday.github.io/lambda-perf
### Important
- ๐ฐ Running this code and examples might result in charges to your AWS account.
- ๐ We recommend that you grant your code least privilege. At most, grant only the minimum permissions required to perform the task.
### Roadmap
- Add Google Cloud compatibility (Experimental)
- Integrate `serverless offline` and `serverless invoke`
---
Made with โค๏ธ in San Francisco