#Serverless

Open-source projects categorized as Serverless

Top 23 Serverless Open-Source Projects

  • GitHub repo Previous Serverless Version 0.5.x

    ⚡ Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! –

    Project mention: Why we moved from Lambda to ECS | reddit.com/r/devops | 2021-04-20

    This was a major show stopper for us.

  • GitHub repo Kong

    🦍 The Cloud-Native API Gateway

    Project mention: Making API keys | reddit.com/r/golang | 2021-04-14
  • GitHub repo tidb

    TiDB is an open source distributed HTAP database compatible with the MySQL protocol

    Project mention: TiGraph: 8,700x Computing Performance Achieved by Combining Graphs + the RDBMS Syntax | dev.to | 2021-04-05

    The three hackers on the TiGraph team are all top developers in the TiDB community:

  • GitHub repo github-readme-stats

    :zap: Dynamically generated stats for your github readmes

    Project mention: Build an awesome GitHub's profile README | dev.to | 2021-04-22

    You can check my GitHub profile and the repo that hosts my README. I've added my dynamic GitHub stats using this repo, there are a lot of more information that you can add in your profiles. Also I've used this site to make the badges displayed for the social networks and the technologies and tools.

  • GitHub repo OpenFaaS

    OpenFaaS - Serverless Functions Made Simple

    Project mention: Why we moved from Lambda to ECS | reddit.com/r/devops | 2021-04-20

    OpenFaaS isn't something I was previous familiar with. Thanks for linking it! In your experience, does it come with much management overhead? Part of what makes Lambda/ECS so appealing is that you can throw a definition (code .zip file or container image) at AWS, and it just runs. With OpenFaaS, it looks like you need to maintain some additional infrastructure (a Kubernetes cluster) to get it working, and that'd give you one more thing to worry about.

  • GitHub repo prisma1

    💾 Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL & MongoDB)

    Project mention: Best ORMs for Node | reddit.com/r/node | 2021-04-22

    Been pointed at prisma by a couple of Node engineers that are far smarter than I. Will be playing around with it over the weekend.

  • GitHub repo firecracker

    Secure and fast microVMs for serverless computing.

    Project mention: AWS releases forked Elasticsearch code. Announces new name: OpenSearc | news.ycombinator.com | 2021-04-12

    Yeah and also what about projects like Firecracker?

    https://github.com/firecracker-microvm/firecracker/

  • GitHub repo dapr

    Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.

    Project mention: Show HN: Encore – Go framework for distributed systems | news.ycombinator.com | 2021-04-14

    Is this something like https://dapr.io/?

  • GitHub repo Zappa

    Serverless Python

    Project mention: Hosting Solutions (free) | reddit.com/r/django | 2021-02-06

    Depending on what you need zappa (https://github.com/Miserlou/Zappa) allows you to run Django in aws lambda which is very cheap (read practically free).

  • GitHub repo cube.js

    📊 Cube.js — Open-Source Analytical API Platform

    Project mention: Any framework to allow end users to create custom reports or dashboards? | reddit.com/r/webdev | 2021-04-16

    Have a look at CubeJs. https://cube.dev/

  • GitHub repo functions-samples

    Collection of sample apps showcasing popular use cases using Cloud Functions for Firebase

    Project mention: Firebase: The google API for building Apps | dev.to | 2021-04-15

    Because of the nature of firebase you don't have direct access to a server, but cloud functions solve that problem. You can export your functions to be called using triggers. So any server side code can be run no stress. Here's the link to the docs P.S you need to be on a paid plan to use Firebase cloud functions.

  • GitHub repo awesome-aws

    A curated list of awesome Amazon Web Services (AWS) libraries, open source repos, guides, blogs, and other resources. Featuring the Fiery Meter of AWSome.

  • GitHub repo examples

    Serverless Examples – A collection of boilerplates and examples of serverless architectures built with the Serverless Framework on AWS Lambda, Microsoft Azure, Google Cloud Functions, and more. (by serverless)

    Project mention: Confused About Database and Hosting | reddit.com/r/learnprogramming | 2021-04-13
  • GitHub repo Pulumi

    Pulumi - Modern Infrastructure as Code. Any cloud, any language 🚀

    Project mention: Pulumi 3.0 | news.ycombinator.com | 2021-04-20

    Excellent topic. [caveat, Pulumi co-founder here]

    Indeed what you say is true of many other "multi-language" platforms. I was an early engineer on .NET at Microsoft, and although it was multi-language from the outset (COBAL.NET was a thing!), the reality is most folks write in C# these days. And yet, you still see a lot of excitement for PowerShell, Visual Basic, and F#, each of which has a rich community, but uses that same common core. A similar phenomenon has happened in the JVM ecosystem with Java dominating most usage until the late 2000s, at which point my impression is that Groovy, Scala, and now Kotlin won significant mindshare.

    I have reasons to be optimistic the infrastructure language domain will play out similarly. There might be "a default language" but I suspect that is more likely to be Python than, say, HCL. One of the things I'm ridiculously excited about is bringing IaC to new audiences -- many folks learn Python at school, not so much for other infrastructure languages. Again, I'm biased. But, even if a default emerges, I guarantee there will be reasons for the others to exist. I for one am a big functional language fan and especially for simple serverless apps, I love seeing that written in F#. And we've had a ton of interest in PowerShell support since many folks working with infrastructure for the Microsoft stack know it.

    I also won't discount the idea of us introducing a cloud infrastructure-specific language ;-). I worked a lot on parallel computing in the mid-2000s and that temptation was always there, but I'm glad we resisted it and instead just added tasks/promises and await to existing languages.

    As to the Pulumi schema, you're right, that's a step we aim to remove soon. For TypeScript, we'll generate it off the d.ts files; for Go we'll use struct tags; and so on. Now that the basic runtime is in place, we are now going to focus there. This issue tracks it: https://github.com/pulumi/pulumi/issues/6804. Our goal is to make this as ridiculously easy as just writing a type/class in your language of choice.

  • GitHub repo up

    Deploy infinitely scalable serverless apps, apis, and sites in seconds to AWS.

    Project mention: Ask HN: Does anyone else find the AWS Lambda developer experience poor? | news.ycombinator.com | 2021-04-18

    I can also recommend serverless.com framework for local development and running lambdas offline.

    AWS provides a docker image for emulating DynamoDB which works great for local dev and will commonly be paired with lambdas.

    Another option I have used recently for implementing node web services is https://github.com/apex/up which also has a nice local dev experience.

  • GitHub repo serverless-application-model

    AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications

    Project mention: Ask HN: Does anyone else find the AWS Lambda developer experience poor? | news.ycombinator.com | 2021-04-18

    This is a great thread and I understand some of the pain points that have been talked about. Serverless changes the model for how we develop and test code. There is a want to have everything local. But it is tough to build and maintain local emulators for all services. With that in mind, I encourage you to change the mindset of bringing the cloud to the developer to bringing the developer to the cloud.

    When building serverless applications, the most tested and iterated upon part of the application is our code which usually resides in a Lambda function. Testing Lambda functions breaks down to to angles. 1) invocation: testing services invoking a Lambda function, and 2) action: what is the Lambda function doing. This is the only part of the application that should be tested locally through local emulation. The rest of the application is best tested in the cloud.

    IMHO the best way to test a Lambda function locally is with AWS SAM: https://aws.amazon.com/serverless/sam/

    For testing invocation:

    A Lambda function can only be invoked through the AWS Lambda service. SAM has three ways to emulate the Lambda service: 1) invoke - locally invoke the Lambda function one time [https://docs.aws.amazon.com/serverless-application-model/lat...] This functionality is helpful if you want to mock invoking a Lambda function from a service like S3, SNS, SQS, etc. Simply add an event. To create the proper event structure, SAM provides a command called generate event. [https://docs.aws.amazon.com/serverless-application-model/lat...] 2) start-lambda - start an emulator of the Lambda service that can be reached via SDK or AWS CLI [https://docs.aws.amazon.com/serverless-application-model/lat...] 3) start-api - start the Lambda service emulator with a basic API Gateway emulator wrapped around it. This creates a local endpoint for each Lambda function that uses an API GW event source [https://docs.aws.amazon.com/serverless-application-model/lat...]

    For testing action:

    Using one of the above commands will invoke a Lambda function. The Lambda function will run locally and provide logs as well as stepping through the code in an IDE like AWS Cloud9 or VS Code. The Lambda function can also call out to service like DynamoDB, SQS, SNS, etc that reside in the cloud. Once the Lambda function is working as expected locally, it's time to deploy to a development environment and run E2E tests.

    One other tool I would suggest it SAM Logs. SAM Logs can output logs for a specific Lambda function from CloudWatch to your terminal. This is a great way to debug async Lambda functions in the cloud.

    I encourage you to visit https://serverlessland.com where we are constantly adding content to help developers with Serverless on AWS. I also have a series of SAM videos at https://s12d.com/sws. Additionally, we host Serverless Office Hours every Tuesday: twitch.tv/aws or youtube.com/serverlessland. During this time we answer any and all serverless related questions.

    Having said all this. Our team is continuing to work towards making the development experience better. Threads like this are critical to our understanding of developer needs and we read them and take them to heart. If you would like to have a longer conversation please reach out to me at [email protected] or @edjgeek on Twitter.

  • GitHub repo chalice

    Python Serverless Microframework for AWS

    Project mention: Any thoughts on chalice for websockets? | reddit.com/r/aws | 2021-03-31

    I use Chalice with websockets, and haven't had any issues. I had to make a slight hack to allow other non-websocket lambdas to be able to send messages on the websocket, but other than that it works without issue. There is a ticket with Chalice open about the sending messages from other Lambdas. https://github.com/aws/chalice/issues/1357

  • GitHub repo Appwrite

    Appwrite is a secure end-to-end backend server for Web, Mobile, and Flutter developers that is packaged as a set of Docker containers for easy deployment 🚀

    Project mention: 100% Open-Source & Self-Hosted Firebase Alternative | reddit.com/r/u_eldadfux | 2021-04-22
  • GitHub repo fission

    Fast and Simple Serverless Functions for Kubernetes

    Project mention: Linux Server for Students to use for Python Coding | reddit.com/r/k12sysadmin | 2021-01-22

    Letting students execute arbitrary python code basically means you need disposable environments, since python can theoretically do fun stuff like delete the root partition. If they are just needing a place to execute, and not to code, I would look at something like https://github.com/fission/fission to give them an experience similar to AWS Lambda. If they need a more fully structured OS, then I would look into containerization via Docker or similar.

  • GitHub repo formidable

    The most used, flexible, fast and streaming parser for multipart form data. Supports uploading to serverless environments, AWS S3, Azure, GCP or the filesystem. Used in production.

    Project mention: AMP CMS: API | dev.to | 2021-01-02

    For the body-parser implementation, we'll use formidable npm module:

  • GitHub repo aws-sam-cli

    CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM

    Project mention: Using container image support for AWS Lambda with AWS SAM and Codebuild/Codepipeline | dev.to | 2021-03-06

    version: 0.2 phases: install: runtime-versions: docker: 18 commands: - wget https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip - unzip aws-sam-cli-linux-x86_64.zip -d sam-installation - sam --version - ./sam-installation/install --update - /usr/local/bin/sam --version pre_build: commands: - aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com build: commands: - cd sources && gradle build - /usr/local/bin/sam build --template-file ${CODEBUILD_SRC_DIR}/sources/sam.yml --region ${AWS_REGION} - /usr/local/bin/sam package --template-file ${CODEBUILD_SRC_DIR}/sources/.aws-sam/build/template.yaml --output-template-file ${CODEBUILD_SRC_DIR}/sources/packaged.yaml --image-repository ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/me.enryold/docker-lambda - /usr/local/bin/sam deploy --template-file ${CODEBUILD_SRC_DIR}/sources/packaged.yaml --stack-name ${PROJECT_NAME}-sam --capabilities CAPABILITY_NAMED_IAM --region ${AWS_REGION} --image-repository ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/me.enryold/docker-lambda

  • GitHub repo OpenWhisk

    Apache OpenWhisk is an open source serverless cloud platform

    Project mention: Nimbella in a nutshell | dev.to | 2021-04-06

    The distinctive feature of Nimbella is that is based on open-source software, Apache OpenWhisk and it is portable among different cloud providers, so you can also install it in your private cloud on-premises.

  • GitHub repo Micronaut

    Micronaut Application Framework

    Project mention: Need advise on Java REST/CRUD architectures for SaaS startup | reddit.com/r/softwarearchitecture | 2021-04-15

    We use Micronaut (micronaut.io). It's pretty forward-thinking. I come from a heavy .NET background and have been impressed by it.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-04-22.

Index

What are some of the best open-source Serverless projects? This list will help you:

Project Stars
1 Previous Serverless Version 0.5.x 39,489
2 Kong 28,729
3 tidb 27,526
4 github-readme-stats 22,354
5 OpenFaaS 19,637
6 prisma1 16,856
7 firecracker 15,067
8 dapr 12,789
9 Zappa 11,771
10 cube.js 10,184
11 functions-samples 9,854
12 awesome-aws 9,184
13 examples 8,798
14 Pulumi 8,185
15 up 8,176
16 serverless-application-model 7,845
17 chalice 7,824
18 Appwrite 6,615
19 fission 6,068
20 formidable 5,843
21 aws-sam-cli 5,502
22 OpenWhisk 5,240
23 Micronaut 4,846