Go Serverless

Open-source Go projects categorized as Serverless | Edit details

Top 23 Go Serverless Projects

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

  • GitHub repo OpenFaaS

    OpenFaaS - Serverless Functions Made Simple

    Project mention: Building a bare-metal Kubernetes cluster on Raspberry Pi | dev.to | 2021-11-26

    Functions-as-a-Service (eg. OpenFaaS).

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo dapr

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

    Project mention: Azure Service Bus | reddit.com/r/AZURE | 2021-12-02

    This sounds like something you can do with Dapr (https://dapr.io/) It's a microservice architecture that was developed by Microsoft i think and now open-source. It has build in support for communication between services. I don't know your architecture/landscape or the requirements, but maybe this could work for you. If not, yeah queues could work. Setup a listener on startup for the specific queue and you should be good. Keep scaling in mind, I think there was a limit to the number of listeners is possible on a queue (1 per partition or something)

  • GitHub repo Pulumi

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

    Project mention: Pulumi – Manage your infrastructure using TypeScript, Python, Go, C# | news.ycombinator.com | 2021-11-25
  • 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 fission

    Fast and Simple Serverless Functions for Kubernetes

    Project mention: Self hosted vercel alternative ? | reddit.com/r/selfhosted | 2021-08-26

    It's super slow (20-50 rps), please try this instead : https://github.com/fission/fission (few hundreds to few thousands rps)

  • GitHub repo fn

    The container native, cloud agnostic serverless platform.

    Project mention: Serverless functions with FN project | dev.to | 2021-10-06

    Still, for today I would like to talk to you about the FN project, an open-source alternative.

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo crossplane

    Your Universal Control Plane

    Project mention: Kubernetes Cluster API v1.0, Production Ready | news.ycombinator.com | 2021-11-27

    I wonder what this means for projects like https://crossplane.io/, it's a tool that lets you provision cloud resources with Kubernetes manifests. I guess this cluster API is maybe something Crossplane would use under the hood?

    I haven't used Crossplate yet but I like the idea around it and could see things moving into this direction over time.

  • GitHub repo 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
  • GitHub repo 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

  • GitHub repo keda

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

    Project mention: How to scale containers that are unrelated to physical traits like CPU or Memory? | reddit.com/r/kubernetes | 2021-11-07

    I'm not 100% sure if I understand exactly what you're requirements are, but keda for example, allows you to use all kinds of event emitters (databases are one of them) for autoscaling.

  • GitHub repo 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
  • GitHub repo gloo

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

    Project mention: Releasing Gloo 0.4.0 | reddit.com/r/rust | 2021-10-24

    Does it bug anyone else when people come out promoting their "new" thing that has used the name of an existing well established thing? https://github.com/solo-io/gloo like... how hard is it to search and see the name's already taken?

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

  • GitHub repo kubevela

    The Modern Application Platform.

    Project mention: Stronger abstraction for deployments | reddit.com/r/kubernetes | 2021-10-29

    Take a look at https://github.com/oam-dev/kubevela and the open application model

  • GitHub repo faasd

    A lightweight & portable faas engine

    Project mention: Getting Started with Faasd | news.ycombinator.com | 2021-11-20

    I'm the original creator of faasd, and just found this post on the Internet. What I liked was how he discovered faasd and found some unique value in it.

    I wanted to share it all with a broader audience here. His bootstrap is a little bit convoluted, if you check out GitHub, we have a simple installer script and an eBook as a reference manual.

    https://github.com/openfaas/faasd

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

  • GitHub repo faas-netes

    Serverless on Kubernetes with OpenFaaS

    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

  • GitHub repo fx

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

  • GitHub repo ThreatMapper

    Identify vulnerabilities in running containers, images, hosts and repositories

    Project mention: ThreatMapper - Open source runtime Threat Scanner | dev.to | 2021-10-25

    Download, try, and contribute to open source ThreatMapper.

  • GitHub repo 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
  • GitHub repo OPS

    ops - build and run nanos unikernels

    Project mention: OSv Unikernel – Optimizing Guest OS to Run Stateless and Serverless Apps | news.ycombinator.com | 2021-10-09

    This isn't true.

    Both https://nanos.org and https://ops.city are Go unikernels running on Google Cloud. (I'm with NanoVMs that is the maintainer of these projects.)

  • GitHub repo 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 2021-12-02.

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 29,718
2 OpenFaaS 20,717
3 dapr 15,886
4 Pulumi 10,697
5 up 8,426
6 fission 6,620
7 fn 5,030
8 crossplane 4,316
9 serving 4,195
10 nuclio 4,192
11 keda 3,951
12 space-cloud 3,302
13 gloo 3,204
14 IronFunctions 2,957
15 kubevela 2,892
16 faasd 1,900
17 wild-workouts-go-ddd-example 1,872
18 faas-netes 1,861
19 fx 1,676
20 ThreatMapper 842
21 open-lambda 747
22 OPS 746
23 yomo 661
Find remote Serverless jobs at our new job board 99remotejobs.com. There are 6 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com