15 Open Source Projects to get started with Serverless Applications Part II

AuthorJeevan Dongre

March 15, 2021

serverlessopensource

15 Open Source Projects to get started with Serverless Applications Part II

In our last edition of best open-source platforms to get started with serverless, we had covered few of the best out there. In this part, we are adding a few more to the list.

Midway

Midway is a Node.js framework used for building Serverless Services, traditional server-side applications, microservices and minor programs. It was written by typescript, which uses the IoC injection mechanism to decouple the application’s business logic and make large Node.js applications more straightforward and more natural.

Midway can use koa, express or EggJS as the primary web framework. It also provides essential solutions for independent use such as Socket.io, GRPC, Dubbo.js, and RabbitMQ.

Besides, Midway is also a Node.js serverless framework for front-end/full-stack developers. Build applications for the next decade. It can run on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/container. Easily integrate with React and Vue.

Features

  • Sophisticated group Middleware Architecture and compatibility
  • Scalable plug-in capabilities and group plug-in Ecology
  • Good application layering and decoupling capability
  • Good development experience for the future
  • Support Egg plug-ins and koa middleware

License: MIT License

https://github.com/midwayjs/midway

AWS Chalice

Chalice is a framework for writing serverless apps in python. It allows you to quickly create and deploy applications that use AWS Lambda.

Here are some of the features AWS Chalice provides,

  • A command-line tool for creating, deploying, and managing your app
  • A decorator based API for integrating with Amazon API Gateway, Amazon S3, Amazon SNS, Amazon SQS, and other AWS services.
  • Automatic IAM policy generation

License: Apache-2.0 License

https://github.com/aws/chalice

Claudia.js

Claudia makes it easy to deploy Node.js projects to AWS Lambda and API Gateway.

It automates all the error-prone deployment and configuration tasks and sets everything up the way. JavaScript developers expect out of the box. This means that you can quickly get started with Lambda and API Gateway and focus on solving critical business problems instead of dealing with AWS deployment workflows, which is a significant plus.

License: MIT License

https://github.com/claudiajs/claudia

StreamAlert - Serverless, Realtime Data Analysis Framework

StreamAlert is a serverless, real-time data analysis framework which empowers you to ingest, analyse, and alert on data from any environment, using data sources and alerting logic you define. Computer security teams use StreamAlert to scan terabytes of log data every day for incident detection and response.

Features

  • Rules are written in Python; they can utilise any Python libraries or functions.
  • Ingested logs and generated alerts can be retroactively searched for compliance and research.
  • Serverless design is cheaper, easier to maintain, and scales to terabytes per day.
  • Deployment is automated: simple, safe and repeatable for any AWS account.
  • Secure by design: least-privilege execution, containerised analysis, and encrypted data storage
  • Merge similar alerts and automatically promote new rules if they are not too noisy
  • Built-in support for dozens of log types and schemas
  • Built-in collection of broadly applicable community rules
  • Fully open-source and customisable: add your log schemas, rules, and alert outputs

License: Apache-2.0 License

https://github.com/airbnb/streamalert

Midday - A Node.js middleware engine for AWS Lambda

Middy is a straightforward middleware engine that allows you to simplify your AWS Lambda code when using Node.js.

If you are used to web frameworks like Express, you will be familiar with the concepts adopted in Middy, and you will be able to get started very quickly.

A middleware engine allows you to focus on your Lambda’s strict business logic and then attach additional common elements like authentication, authorisation, validation, serialisation, etc. in a modular and reusable way by decorating the main business logic.

License: MIT License

https://github.com/middyjs/middy

Jets

Jets is a Ruby Serverless Framework. Jets allows you to create serverless applications with a beautiful language: Ruby.

Jets includes everything required to build an application and deploy it to AWS Lambda.

It is vital to understand AWS Lambda and API Gateway to understand Jets conceptually. Jets map your code to Lambda functions and API Gateway resources.

  • AWS Lambda is Functions as a Service. It allows you to upload and run functions without worrying about the underlying infrastructure.
  • API Gateway is the routing layer for Lambda. It is used to route REST URL endpoints to Lambda functions.

License: MIT License

https://github.com/boltops-tools/jets

Architect - The simplest, most powerful way to build serverless applications

Architect helps you to build ultra-scalable database-backed web apps on AWS serverless infrastructure with complete local, offline workflows, and more.

License: Apache-2.0 License

https://github.com/architect/architect

Faast.js

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

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

License: Apache-2.0 License

https://github.com/faastjs/faast.js

Serverless-artillery

Combine serverless with artillery, your services’ latency and you get serverless-artillery (a.k.a. slsart).

Serverless-artillery makes it easy for you to quickly test your services for performance and functionality, easily and without having to maintain any servers or testing infrastructure.

Use Cases:

  1. If you want to know if your services (either internal or public) can handle different traffic load amounts (i.e. performance or load testing).
  2. If you want to test if your services behave as you expect after deploying new changes (i.e. acceptance testing).
  3. If you want to continually monitor your services over time to ensure your services’ latency is under control (i.e. monitoring mode).

License: Apache-2.0 License

https://github.com/Nordstrom/serverless-artillery

Antstack Blog Post
Antstack Blog Post

Are you planning to go to serverless? AntStack is a cloud computing service and consulting company primarily focusing on Serverless Computing. We help companies get up and running with serverless, and we’ll make sure that there are no limits.

Keep track of our socials and connect with us - LinkedIn