https://github.com/harshvaragiya/lambdafn
a self-hosted service to run AWS Lambda Functions on your infrastructure
https://github.com/harshvaragiya/lambdafn
aws aws-lambda faas faas-platform golang lambda
Last synced: 2 months ago
JSON representation
a self-hosted service to run AWS Lambda Functions on your infrastructure
- Host: GitHub
- URL: https://github.com/harshvaragiya/lambdafn
- Owner: HarshVaragiya
- License: apache-2.0
- Created: 2021-09-20T17:44:13.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-10-12T19:12:58.000Z (over 4 years ago)
- Last Synced: 2025-12-17T17:18:21.581Z (6 months ago)
- Topics: aws, aws-lambda, faas, faas-platform, golang, lambda
- Language: Go
- Homepage:
- Size: 503 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LambdaFn
An open source, self-hosted service to run AWS Lambda Functions on your own hardware.
**This project is to learn more about Golang, FAAS and cloud computing**

- [Installation Instructions - INSTALL.md](INSTALL.md)
## Project
- This project is to try creating a service which can work like AWS Lambda / Google AppEngine
- All code executions happen on your own hardware. Docker is used to manage containers that run code
- It would lack the trigger integrations that AWS Provides with its lambda functions
- It would allow user to build a lambda function via AWS Cloudformation templates (drop in replacement)
- It would allow users to execute the lambda and send events via an HTTP REST API
## Working

## Goals
The service should allow executing the following:
- Binary on the server running the service
- Code written as Lambda zip running inside container on the server
- Container to be executed on the server (or kubernetes cluster)
## ToDo List
- [x] Implement Code Execution on server as a service
- [x] Implement Function as a service inside container
- [x] Integrate HTTP REST API to allow creation of lambda functions and executing them
- [x] Create client binary to allow creating and invoking lambda functions
- [ ] Reformat existing code to use storage package. Create S3 backed local source code cache.
- [ ] Dockerize the whole service (currently looks out of scope due to the nature of storage service)
- [ ] Implement Hot & Cold Containers with timeouts
- [ ] Implement Container Running as a service
### Future Goals
- [ ] Implement and Integrate an HTTP Proxy (like API Gateway) to allow functions to respond to REST calls
- [ ] Implement methods to monitor resource utilisation by functions
- [ ] Implement Authentication / Authorization on the HTTP REST API