Faast.js

无服务器批处理计算变得简单。「Serverless batch computing made simple.」

Github星跟蹤圖

License CircleCI codecov semantic-release FOSSA Status

Faast.js makes regular functions callable as serverless functions on AWS Lambda. It handles the details of uploading your code, creating cloud infrastructure, and cleaning up. Scale up your functions to a thousand cores in seconds :rocket:

Faast.js is a pure library with no service dependencies, operational overhead, or unnecessary complexity.

Installation

Faast.js requires node version 8+.

$ npm install faastjs

Example

First write the functions you want to run in a serverless function. Make sure to export them:

// functions.ts
export function hello(name: string) {
    return "hello " + name;
}

Use faast.js to turn this into a serverless function:

// main.ts
import { faast } from "faastjs";
import * as funcs from "./functions";

(async () => {
    const m = await faast("aws", funcs);
    const { hello } = m.functions;
    const result = await hello("world!");
    console.log(result);
    await m.cleanup();
})();

Make 1000 concurrent calls if you like:

const promises: string[] = [];
for (let i = 0; i < 1000; i++) {
    promises.push(hello(`world ${i}!`));
}
await Promise.all(promises);

How much did that cost...?

const cost = await m.costSnapshot();
console.log(`$${cost.total()}`);

Relax. It's just half a penny:

$0.00420858

Features

  • Frictionless. Faast.js takes care of packaging your code, setting up IAM roles, and other infrastructure complexity. Run your code on a thousand cores in seconds. All you need is an AWS account.
  • Scalable. Use serverless functions to scale your batch jobs up to thousands of cores.
  • Cost-effective. Understand and optimize your workload costs in real time. Pay only for compute time actually used.
  • Ephemeral. No clusters or services to manage. Faast.js creates the infrastructure it uses on the fly and cleans up when it's done.
  • Productive. First class support for TypeScript and JavaScript. Type safety, documentation, and extensive testing are part of our DNA.
  • Local. Built-in support for AWS Lambda and local processing mode when you don't have network access. Switch with one line of code.

Ready to learn more?

Check out our getting started documentation.

Work through some examples

Review the detailed API documentation.

Join our discord channel.

Follow us on twitter.

Contributing

See contributing.

主要指標

概覽
名稱與所有者faastjs/faast.js
主編程語言TypeScript
編程語言TypeScript (語言數: 3)
平台
許可證Apache License 2.0
所有者活动
創建於2018-05-08 19:41:24
推送於2025-06-26 01:44:27
最后一次提交2025-06-26 01:44:25
發布數242
最新版本名稱v8.0.75 (發布於 )
第一版名稱v1.0.0 (發布於 2019-04-23 09:15:03)
用户参与
星數1.5k
關注者數15
派生數42
提交數3k
已啟用問題?
問題數28
打開的問題數6
拉請求數1640
打開的拉請求數3
關閉的拉請求數105
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?