Git Product home page Git Product logo

lamed's People

Contributors

lvh avatar sergey-latacora avatar

Watchers

 avatar  avatar

lamed's Issues

Make Lamed into a native-image Lambda layer that could be deployed with a lambda

The easiest way to deploy a custom runtime would be to compile the runtime code into a layer that will call the lambda. A user of lamed could then just add the lamed runtime as a lambda layer without any changes to their code. The aws bash custom runtime example ends with this setup.

The tricky part of this is how to call functions between two native-image executables.

Implementation tasks:

  • figure out how/if it's possible for a GraalVM native image executable call a function in another native image executable
  • make lamed read and use the _HANDLER and other env vars to call the client function
  • move bootstrap to lamed
  • example lambda deployment

The awslabs C++ and rust runtimes may or may not be useful examples.

Add handler api that exposes in/out streams to the lambda

It's faster to prototype code using the java runtime, and the standard way to write a lambda handler in clojure is to implement RequestStreamHandler interface with the following signature:

(defn -handleRequest
  [this in-stream out-stream context]
...

Lamed should have a method that takes a method with the above signature and appropriately pipes input/output data

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.