The Serverless @multicloud library provides an easy way to build Serverless handlers in NodeJS using a cloud agnostic library that can then be deployed to supported cloud providers.
In addition to a normalized API the @multicloud library supports reusable middleware pipeline similar to the Express framework
The following is a list of the currently support cloud providers:
The Azure package contains Azure specific implementations of core components. See Azure readme for additional information
The AWS package contains AWS specific implementations of core components. See AWS readme for additional information
The Core package is required for all installations. It contains all base implementations as well as the core framework runtime. See Core readme for additional information
Serverless @multicloud library for Node can be installed via NPM
# Installs core components as as well as run-time dependencies for Azure & AWS
npm install @multicloud/sls-core @multicloud/sls-azure @multicloud/sls-aws --save
const { App } = require("@multicloud/sls-core");
const { AzureModule } = require("@multicloud/sls-azure");
const { AwsModule } = require("@multicloud/sls-aws");
const app = new App(new AzureModule(), new AwsModule());
module.exports.handler = app.use([], async (context) => {
const { req } = context;
const name = req.query.get("name");
if (name) {
context.send(`Hello ${name}`, 200);
}
else {
context.send("Please pass a name on the query string or in the request body", 400);
}
});
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
Welcome, and thanks in advance for your help! Please follow these simple guidelines 👍
Serverless is licensed under the MIT License.
All files located in the node_modules and external directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms in the MIT License.