Discover Packages
github.com/HarshVaragiya/LambdaFn
command
module
Version:
v0.0.0-...-2114318
Opens a new window with list of versions in this module.
Published: Oct 12, 2021
License: Apache-2.0
Opens a new window with license information.
Imports: 1
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
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
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
Implement Code Execution on server as a service
Implement Function as a service inside container
Integrate HTTP REST API to allow creation of lambda functions and executing them
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
Expand ▾
Collapse ▴
Documentation
¶
Copyright © 2021 Harsh Varagiya
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Source Files
¶
Directories
¶
Click to show internal directories.
Click to hide internal directories.