Go Serverless

Open-source Go projects categorized as Serverless | Edit details

Top 23 Go Serverless Projects

  • tidb

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

    Project mention: Comparing Nginx Performance in Bare Metal and Virtual Environments | news.ycombinator.com | 2021-10-29

    I do agree with you in that regard, however, that's also a dangerous line of thinking.

    There are attempts to provide horizontal scalability for RDBMSes in a transparent way, like TiDB https://pingcap.com/ (which is compatible with the MySQL 5.7 drivers), however, the list of functionality that's sacrificed to achieve easily extensible clusters is a long one: https://docs.pingcap.com/tidb/stable/mysql-compatibility

    There are other technologies, like MongoDB, which sometimes are more successful at a clustered configuration, however most of the traditional RDBMSes work best in a leader-follower type of replication scenario, because even those aforementioned systems oftentimes have data consistency issues that may eventually pop up.

    Essentially, my argument is that the lack of good horizontally scalable databases or other data storage solutions is easily explainable by the fact that the problem itself isn't solvable in any easy way, apart from adopting eventual consistency, which is probably going to create more problems than it will solve in case of any pre-existing code that makes assumptions about what ways it'll be able to access data and operate on it: https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu...

    To that end, i'd perhaps like to suggest an alternative: use a single vertically scalable RDBMS instance when possible, with a hot standby if you have the resources for that. Let the architecture around it be horizontally scalable instead, and let it deal with the complexities of balancing the load and dealing with backpressure - introduce a message queue if you must, maybe even an in-memory one for simplicity's sake, or consider an event based architecture where "what needs to be done" is encapsulated within a data structure that can be passed around and applied whenever possible. In my eyes, such solutions can in many cases be better than losing the many benefits of having a single source of truth.

    Alternatively, consider sharding as a possibility, or, alternatively, do some domain driven design, figure out where to draw some boundaries and split your service into multiple ones that cover the domain with which you need to work with. Then you have one DB for sales, one for account management, one for reports and so on, all separated by something as simple as REST interfaces and with rate limits or any of the other mechanisms.

    If, however, neither of those two groups of approaches don't seem to be suitable for the loads that you're dealing with, then you probably have a team of very smart people and a large amount of resources to figure out what will work best.

    To sum up, if there are no good solutions in the space, perhaps that's because the problems themselves haven't been solved yet. Thus, sooner or later, they'll need to be sidestepped and their impact mitigated in whatever capacity is possible.

  • OpenFaaS

    OpenFaaS - Serverless Functions Made Simple

    Project mention: Flunked out of FAANG (zing!) and realized that my 6 years of experience have been spent with my head firmly lodged within my ass. Below is my plan to unfuck myself. Feedback appreciated. | reddit.com/r/ExperiencedDevs | 2022-01-21

    Learning Kubernetes (K8s) for me was about getting pissed off enough at Bezos for all the money he was making off of me lol. I wanted to have my own little infrastructure that I control but without having to babysit it. I tried Docker Swarm, which was nice but wasn’t translating into professional-grade cluster experience. I found a project called Open FAAS that let me deploy my own Lambda/serverless. It ran on K8s. So, I followed a few tutorials on K3s (a lightweight version of K8s for the pi) and deployed it with K3sup. The OpenFAAS project, K8s, and Docker are written in Golang, so I learned some of that with A Tour Of Go. After branching out into the K8s world for a bit, I decided to get my Certified Kubernetes Application Developer (CKAD). I took this Udemy course and passed the test on the first go. You’ll learn just about everything you’ll need to know about K8s from that experience.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • dapr

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

    Project mention: Azure Container Apps - CI/CD deployments (Video Demo) | dev.to | 2022-01-11

    Azure Container Apps is a container orchestration platform for deploying modern applications and microservices. With Azure Container Apps you can deploy your containerized apps without the need to take on the overhead of managing the infrastructure of the underlying systems. This service is still in preview, but provides you with the ability to use your preferred language or framework to build microservices with support for Distributed Application Runtime (Dapr). There's also scaling of your containers with Kubernetes Event-Driven Autoscaling (KEDA).

  • Pulumi

    Pulumi - Developer-First Infrastructure as Code. Your Cloud, Your Language, Your Way 🚀

    Project mention: Learn About Infrastructure as Code in 5 Minutes and Why You Should Use It | dev.to | 2022-01-21

    Pulumi is an open-source multilingual development platform that lets you manage your cloud infrastructure with code. It provides any cloud deployment functionality, cloud management. Pulumi offers the freedom to use any supported programming language you like. With Pulumi, you can view all existing environments and the changes you make to them. In addition, you can easily customize their configurations to protect your data.

  • 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.

  • fission

    Fast and Simple Serverless Functions for Kubernetes

    Project mention: Serverless : Exécuter ses containers directement comme des fonctions avec Fission et Rancher RKE2 … | dev.to | 2022-01-04

    Fission

  • fn

    The container native, cloud agnostic serverless platform.

    Project mention: Java Serverless on Steroids with fn+GraalVM Hands-On | dev.to | 2022-01-18

    Install fn (refer to https://fnproject.io/ for latest instructions)

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • crossplane

    Your Universal Control Plane

    Project mention: Helm chart dependency lifecycle management | reddit.com/r/kubernetes | 2022-01-16

    Crossplane is basically a Kubernetes native replacement for Terraform. Functionally similiar to using the TFC operator, but avoids the need for an external tool to manage the infrastructure.

  • serving

    Kubernetes-based, scale-to-zero, request-driven compute (by knative)

    Project mention: Kubernetes-based, scale-to-zero, request-driven compute | reddit.com/r/golang | 2021-11-28
  • nuclio

    High-Performance Serverless event and data processing platform

    Project mention: Azure function alternative | reddit.com/r/selfhosted | 2021-08-24

    And surfing the web i've found this: https://github.com/nuclio/nuclio

  • keda

    KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes

    Project mention: Is there a way to have the service spin up a new pod with each request? | reddit.com/r/kubernetes | 2022-01-23

    Sounds like you want queue based scaling. Maybe give https://github.com/kedacore/keda a try?

  • space-cloud

    Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes

    Project mention: Firebase Alternative for iOS | reddit.com/r/iOSProgramming | 2021-09-04
  • gloo

    The Feature-rich, Kubernetes-native, Next-Generation API Gateway Built on Envoy

    Project mention: How to choose the best versioning mechanism? | reddit.com/r/devops | 2022-01-23

    A similar approach can be seen here: solo.io/gloo

  • kubevela

    The Modern Application Platform.

    Project mention: Top 200 Kubernetes Tools for DevOps Engineer Like You | dev.to | 2022-01-15

    HybridK8s Droid - Intelligence foor your favourite Delivery Platform Devtron - Software Delivery Workflow for Kubernetes Skaffold - Easy and Repeatable Kubernetes Development Apollo - Apollo - The logz.io continuous deployment solution over kubernetes Helm Cabin - Web UI that visualizes Helm releases in a Kubernetes cluster flagger - Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments) Kubeform - Kubernetes CRDs for Terraform providers https://kubeform.com Spinnaker - Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. http://www.spinnaker.io/ werf - GitOps tool to deliver apps to Kubernetes and integrate this process with GitLab and other CI tools Flux - GitOps Kubernetes operator Argo CD - Declarative continuous deployment for Kubernetes Tekton - A cloud native continuous integration and delivery (CI/CD) solution Jenkins X - Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Tekton, Knative, Lighthouse, Skaffold and Helm KubeVela - KubeVela works as an application delivery control plane that is fully decoupled from runtime infrastructure ksonnet - A CLI-supported framework that streamlines writing and deployment of Kubernetes configurations to multiple clusters CircleCI - A cloud-based tool that helps build continuous integration and continuous delivery pipelines to Kubernetes.

  • IronFunctions

    IronFunctions - the serverless microservices platform by

    Project mention: Tron deposit | reddit.com/r/ledgerwallet | 2021-04-27

    The ledger Tron proxy is not working so you will have your money but the ledger live can't see it. I'm not sure if anyone has logged a ticket, but I do believe if you go into developer options in ledger live you can make it connect directly to iron.io and that will resolve it. Only works on desktop though. I'm also getting some other errors randomly so perhaps there are some bigger issues. Anyway, I'd suggest the dev option to check it out.

  • wild-workouts-go-ddd-example

    Go DDD example application. Complete project to show how to apply DDD, Clean Architecture, and CQRS by practical refactoring.

    Project mention: Project references for REST APIs | reddit.com/r/golang | 2021-08-20

    This blog talk a lot about clean architecture. Also they have an example project where they show how to create a proyect using Domain-driven design.

  • faasd

    A lightweight & portable faas engine

    Project mention: Any Easy to use self hosted cloud function service ? | reddit.com/r/serverless | 2022-01-10

    Have you seen faasd from openfaas? Easier to setup and doesn‘t require a full blown kubernetes cluster: https://github.com/openfaas/faasd

  • faas-netes

    Serverless Functions For Kubernetes

    Project mention: Developing a NextJS app on OpenFaaS | dev.to | 2021-11-10

    The first step in deploying an application to OpenFaas is to deploy the OpenFaaS platform to Kubernetes. I use Helm and Terraform to create the OpenFaaS deployment. OpenFaaS provides a helm chart

  • fx

    A Function as a Service tool makes a function as a container-based service in seconds. (by metrue)

  • ThreatMapper

    🔥 🔥 Open source cloud native security observability platform. Linux, K8s, AWS Fargate and more. 🔥 🔥

    Project mention: ThreatMapper: Gestión de vulnerabilidades en tiempo de ejecución 💯 | reddit.com/r/u_esgeeks | 2021-12-20
  • OPS

    ops - build and run nanos unikernels

    Project mention: Nanos: A kernel designed to run one and only one application | news.ycombinator.com | 2021-12-03

    You an also build from source here: https://github.com/nanovms/nanos && https://github.com/nanovms/ops .

    There are also packages available through AUR/homebrew and the like: https://ops.city/downloads .

    The script is only there facilitate the 'install' such as ensuring you have qemu installed locally or assessing whether you have kvm/hvf rights/etc.

    Also, I don't think this is documented yet but you can target various PRs/builds with ops via this way:

    ops run /bin/ls --nanos-version d632de2

  • open-lambda

    An open source serverless computing platform

    Project mention: Automatically Spinning Up Containers on POST Request from Web server | reddit.com/r/docker | 2021-04-23
  • yomo

    🦖 Serverless Streaming Framework for Low-latency Edge Computing applications, running atop QUIC protocol, as Metaverse infrastructure, engaging 5G technology.

    Project mention: Enjoy the most lightweight AI inference | dev.to | 2021-07-08

    YoMo is a programming framework enabling developers to build a distributed cloud system (Geo-Distributed Cloud System). YoMo's communication layer is made on top of the QUIC protocol, which brings high-speed data transmission. In addition, it has a built-in Streaming Serverless “streaming function”, which significantly improves the development experience of distributed cloud systems. The distributed cloud system built by YoMo provides an ultra-high-speed communication mechanism between near-field computing power and terminals. It has a wide range of use cases in Metaverse, VR/AR, IoT, etc.

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 2022-01-23.

Go Serverless related posts

Index

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

Project Stars
1 tidb 30,193
2 OpenFaaS 20,956
3 dapr 16,692
4 Pulumi 11,167
5 up 8,457
6 fission 6,720
7 fn 5,055
8 crossplane 4,556
9 serving 4,295
10 nuclio 4,256
11 keda 4,122
12 space-cloud 3,361
13 gloo 3,258
14 kubevela 3,124
15 IronFunctions 2,957
16 wild-workouts-go-ddd-example 2,073
17 faasd 1,963
18 faas-netes 1,891
19 fx 1,695
20 ThreatMapper 1,051
21 OPS 825
22 open-lambda 751
23 yomo 729
Find remote Serverless jobs at our new job board 99remotejobs.com. There are 3 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
OPS - Build and Run Open Source Unikernels
Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.
github.com/nanovms