Skip to content

SeMoDe is a tool to support lifecycle activites of Serverless functions on different platforms. Currently automated test generation on AWS Lambda is possible and performance considerations due to the cold start issue are work in progress.

License

Notifications You must be signed in to change notification settings

johannes-manner/SeMoDe

Repository files navigation

SeMoDe - Serverless Monitoring and Debugging

Getting Started

SeMoDe is a research prototype investigating different aspects of Serverless computing. The idea is the combination between a simulation and benchmarking environment as already published. Also further research interests, like performance measurement etc., are integrated in this tool to provide a cli tool for different purposes and platforms.

The tool itself is in an early stage and needs feedback and participation of the GitHub community. Feel free to contribute :)

Prerequisites

  1. Install Docker on your machine to be able to use the simulation and benchmarking facility.
  2. For AWS Lambda, create an AWS account and install the CLI.

Setup

  1. Run npm install in src/main/resources/static/js
  2. Run docker-compose up to start the PostgreSQL database
  3. Run gradlew bootRun to start the prototype and access the front page via `http://localhost:8080/setups

Hardware Calibration feature

introduced in V0.4.

This feature computes a linear regression of your used hardware when working on Linux OS. To run the hardware calibration go to the root directory of this project and execute the following commands.

./gradlew bootJar
java -jar -Dspring.main.web-application-type=NONE build/libs/SeMoDe-*.jar hardwareCalibration

This will run the Spring Boot application in CLI mode without starting a web server.

You can configure the calibration via the following properties, default configuration is also specified here:

-Dsemode.hardware.runs=3    # default is 1    - number how often the calibration is executed before computing a linear regression
-Dsemode.hardware.steps=0.4 # default is 0.1  - increments (cpus) which are used to invoke the LINPACK benchmark

Function Templates

Introduced in V1.1.

Since we use a custom response object to generate data about the VM identification in the cloud, the executing machine and other metadata, we included templates in the corresponding folder for AWS lambda functions implemented in Java and JS. When using these templates, a user can benefit from the data collection process and is able to get the most our of their data.

Publications

About

SeMoDe is a tool to support lifecycle activites of Serverless functions on different platforms. Currently automated test generation on AWS Lambda is possible and performance considerations due to the cold start issue are work in progress.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published