Skip to content

quangIO/open-cloud

Repository files navigation

Goal

This is an attemp to make a polyglot web server with minimal configuration

Getting Started

Building

Open-Cloud depends on GraalVM for Polyglot support, refer to their website for installing instruction.

After installed GraalVM (and add it to your $PATH variable), run ./gradlew shadowJar or alternatively, you can get the prebuilt .jar here.

Your first function

TODO

Features

  • Support JVM languages, R, Python, JavaScript, Ruby, and LLVM (executing LLVM is unsafe when using GraalVM CE)
  • Support running WebAssembly (with Asmble, WAVM?)
  • Simple POST, GET
  • Functions interaction
  • Share state between functions (support sessions,...)
  • Predefined common components (rate-limiting, authentication...)
  • Horizontal scale
  • Dashboard

(Help needed)

Performance

Speed is acceptable I guess. This is a micro-benchmark

TODO

Contributing

Open issues if you have any question and please tell me if you actually use this to build something.

Donate