Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.6%) to scientific vocabulary
Repository
ISEL - EfficientFaaS
Basic Info
- Host: GitHub
- Owner: ivansocket
- Language: JavaScript
- Default Branch: main
- Size: 83.5 MB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
EfficientFaaS
EfficientFaaS is an adaptation of the open-souce version of the Google Cloud Platform Functions Framework.
As a need for the Google Cloud Platform Functions Framework, it was found that an adaptation would be possible in order to promote the use of cache services, thus making it possible to take advantage of previous processing of the functions to accelerate the response to future requests. In this way, 3 different caching mechanisms were implemented, In-Process, Out-of-Process and Network, each responding to different needs and bringing different advantages.
NOTE: EfficientFaaS was developed during the context of obtaining the Master's degree at Instituto Superior de Engenharia de Lisboa (ISEL), Lisboa, Portugal with the dissertation titled "Reducing Execution Time in FaaS Cloud Platforms" as the document that best describes the solution.
Modules
For the development of the solution the @google-cloud/functions-framework node module was adapted, and some new modules had to be incremented to the solution.
Adapted Modules
- function_wrappers - Path - (EfficientFaaS/node_modules/@google-cloud\functions-framework\build\src\function_wrappers.js)
New Modules
- cache-provider.js - Path - EfficientFaaS
- functions-manager - Path - EfficientFaaS
- cache_proxy - Path - EfficientFaaS
Configurations
On the ConfigurationFile, 3 properties can be found and changed.
- property - A string that represents the name of the property passed in the JSON body for the request sent by the user
- cachingService - A string that defines the connection that occurs on the cache_proxy module, it can have 3 different values:
- nodeLocal
- redisLocal
- redisRemote
- redisRemoteConnectionString - A string that has the connection parameters for redis remote caching service
Getting Started
In order to run EfficientFaaS directly on your device:
- Install Node.js
- Clone the repo EfficientFaaS
- Adapt the ConfigurationFile.json to your settings, and configure the caching service
- Edit the index.js file and introduce the code that you want to execute when the function is triggered
- Execute EfficientFaaS by running: npx @google-cloud/functions-framework --target={nameOfTheFunction set on index.js} --port {port}
https://github.com/ivansocket/EfficientFaaS.git
GitHub Events
Total
Last Year
Dependencies
- 181 dependencies
- fs ^0.0.1-security
- http ^0.0.1-security
- image-thumbnail ^1.0.15
- node-cache ^5.1.2
- redis ^4.1.0
- request ^2.88.2