0.1.0-alpha.8 โ€ข Published 2 months ago

serverless-plugin-rust v0.1.0-alpha.8

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

Serverless framework plugin for blazingly-fast rust functions.

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