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

AuthorJeevan Dongre

February 23, 2021

serverlessopensource

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

Serverless” is not a buzz term anymore which you might have in your conversations. Let’s get the concept defined and cleared out before we get into our Open Source projects to get started with Serverless Applications.

Serverless or FaaS (Functions-as-a-Service) - as the term might indicate, it’s not really “server-less”. Instead, a public cloud provider provides the servers that will help you deploy, run, and manage your application.

The core focus is not to pull any heavy-weights and leverage services being used as efficiently as possible.

Now let’s dive into some of the best open-source serverless projects which will enable you to get started with serverless.

Zappa - Serverless Python

Zappa makes it super easy to build and deploy server-less, event-driven Python applications (including, but not limited to, WSGI web apps) on AWS Lambda + API Gateway. Think of it as “serverless” web hosting for your Python apps. That means infinite scaling, zero downtime, zero maintenance - and at a fraction of the cost of your current deployments!

License: MIT License

https://github.com/Miserlou/Zappa

Dapr - Any Language, Any Framework, Anywhere

Dapr is a portable, serverless, event-driven runtime that makes it easy for developers to build resilient, stateless and stateful microservices that run on the cloud and edge and embrace the diversity of languages and developer frameworks.

Dapr codifies the best practices for building microservice applications into open, independent, building blocks that enable you to make portable applications with your chosen language and framework of your choice. Each building block is separate, and you can use one, some, or all of them in your application.

Note: Dapr is currently under community development in the alpha phase. Dapr is not recommended for production workloads until the 1.0 stable release.

License: MIT License

https://github.com/dapr/dapr

Up - Deploy in seconds

Up deploys infinitely scalable serverless apps, APIs, and static websites in seconds, so you can get back to working on what makes your product unique.

When it comes to Up, there’s no need to worry about managing or scaling machines, paying for idle servers, worrying about logging infrastructure or alerting. Just deploy your app with $ up, and you’re done!

Up focuses on deploying “vanilla” HTTP servers, so there’s nothing new to learn, develop with your favourite existing frameworks such as Express, Koa, Django, Golang net/HTTP or others.

Up currently supports Node.js, Golang, Python, Java, Crystal, Clojure and static sites out of the box. Up is platform-agnostic, supporting AWS Lambda and API Gateway as the first targets. You can think of Up as self-hosted Heroku style user experience for a fraction of the price, with the security, isolation, flexibility, and scalability of AWS.

License: MIT License

https://github.com/apex/up

Webiny - The easiest way to adopt serverless

When it comes to API? A React app? A complete administration app for your product, website or mobile app? With Webiny you can do all that and then so much more. Your project will be bootstrapped and prepared to develop your next project in just a few moments. With the tools that come out of the box, you’ll be able to immediately deploy your project to the cloud (for now only AWS).

Our plugin-based approach to the whole system will make it easy for you to override, upgrade and tweak the system to fit your needs.

GraphQL API

Webiny’s API layer works as a collection of plugins that process your GraphQL queries. Apps provided by Webiny are deployed as a monolith Lambda function. But that does not prevent you from deploying new Lambda functions with custom code. It’s easy to extend our default setup, add handlers for REST API, or anything you might need.

Frontend layer (SPA)

Webiny’s frontend (SPA) layer is powered by React and Apollo Client. If you ever developed using those tools - you would already know Webiny as their UI library uses Material Components and RMWC to get going with Material faster. You can see all the currently available components in their storybook.

They also provide a pre-rendering service out of the box. It takes care of generating static snapshots of your pages for maximum delivery speed. This service is also powered by Lambda.

Admin app

Webiny provides you with an administration app to kickstart your projects much faster and begin developing features for your clients right away. The entire admin app is based on plugins, and you can customise everything.

Deployment to the Cloud

Use Pulumi IaaC to reliably deploy infrastructure and your code to the cloud. You can also deploy Webiny using native CloudFormation if you will, AWS SAM, or any other tool. Guides on those particular tools will come at a later stage, but it IS possible.

License: MIT License

https://github.com/webiny/webiny-js

Fission: Serverless Functions for Kubernetes

Fission is a fast serverless framework for Kubernetes with a focus on developer productivity and high performance.

Fission operates on just the code: Docker and Kubernetes are abstracted away under regular operation, though you can use both to extend Fission if you want to.

Fission is extensible to any language; the core is written in Go, and language-specific parts are isolated in something called environments (more below). Fission currently supports NodeJS, Python, Ruby, Go, PHP, Bash, and Linux executable, with more languages coming soon.

License: Apache-2.0 License

https://github.com/fission/fission

Serverless Offline - Emulate AWS λ and API Gateway locally when developing your Serverless project

This Serverless plugin emulates AWS λ and API Gateway on your local machine to speed up your development cycles. To do so, it starts an HTTP server that handles the request’s lifecycle like APIG does and invokes your handlers.

Features:

  • Node.js, Python, Ruby λ runtimes.
  • Includes Velocity templates support.
  • Lazy loading of your handler files.
  • And more: integrations, authorisers, proxies, timeouts, responseParameters, HTTPS, CORS, and so on.

License: MIT License

https://github.com/dherault/serverless-offline

Serverless Express

Serverless Express helps you run REST APIs and other web applications using your existing Node.js application framework (Express, Koa, Hapi, Sails, etc.), on top of AWS Lambda and Amazon API Gateway.

License: Apache-2.0 License

https://github.com/vendia/serverless-express

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