serverless-plugin-rust

0.1.0-alpha.8 • Public • Published

Serverless framework plugin for blazingly-fast rust functions.

serverless-plugin-rust

Status

Build

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:

Install

npm install serverless-plugin-rust --save-dev

Usage

Default serverless.yml config example

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
serverless deploy

Demo

asciicast

Examples

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

Package Sidebar

Install

npm i serverless-plugin-rust

Weekly Downloads

25

Version

0.1.0-alpha.8

License

MIT

Unpacked Size

79.3 kB

Total Files

28

Last publish

Collaborators

  • madebyae