# Running
One of the key benefits of Kumologica is its ability to run on multiple platforms and cloud providers, giving you the flexibility to choose the environment that best fits your needs.
Currently, Kumologica supports running serverlessly on all three major cloud providers - Google Cloud Functions, Azure Functions, AWS Lambda.
Since version 3.1.x
, Kumologica Runtime also supports running serverful as a NodeJs application.
You can easily specify the cloud provider to run your flow by setting a simple configuration option in the EventListener node
# AWS Lambda
If you're looking for a powerful, serverless platform to run your Kumologica workflows, AWS Lambda is an excellent choice. With Kumologica's AWS Lambda provider, you can easily deploy and run your flows in the AWS Cloud, taking advantage of all the benefits of serverless computing.
One of the key benefits of using Kumologica's AWS Lambda provider are:
- Out-of-the-box integration with AWS XRay
- Proactive timeout protection
- Friendly Cloudwatch logging format
- Automatic generation of cloudformation and serverless scripts
# Configuration
You can use the cli command: kl build aws to generate a lambda.js
file. This file can also be generated manually and it looks like this:
const { LambdaFlowBuilder } = require('@kumologica/runtime');
const lambdaFlow = new LambdaFlowBuilder('your-flow.json');
exports.handler = lambdaFlow.handler;
# Google Function
# Configuration
To configure your flow to run as an Google Function, you have to create a file index.js
in the root directory as follows:
const { GoogleFuncFlowBuilder } = require('@kumologica/runtime');
const flowBuilder = new GoogleFuncFlowBuilder('your-flow.json');
exports.handler = flowBuilder.handler;
# Azure Function
# Configuration
You can use the cli command: kl build azure to generate a lambda.js
file. This file can also be generated manually and it looks like this:
const { AzureFuncFlowBuilder } = require('@kumologica/runtime');
const flowBuilder = new AzureFuncFlowBuilder('your-flow.json');
exports.handler = flowBuilder.handler;
# NodeJS Beta
# Configuration
To configure your flow to run as a NodeJS application, you have to create a file index.js
in the root directory as follows:
const { NodeJsFlowBuilder } = require('@kumologica/runtime');
new NodeJsFlowBuilder('your-flow.json').listen();
If you want to distribute and run your flow as a Docker container, you can use the following Dockerfile:
FROM node:16-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
ENV PATH /app/node_modules/.bin:$PATH
COPY . .
EXPOSE 1880
CMD ["node","index.js"]