Develop Lambdas with any programming language

Thanks for the feedback. I have another question now.
The alpha currently starts the lambda servers in separate processes. The reason behind this is probably, that the alpha servers are running in a Node environment.
As my implementation runs within Go, we could integrate the lambda more closely within DGraph alpha.
What do you think about that? What risks could that impose?

Options:

  • Run lambda/wasm instances as goroutines within dgraph alpha.
    Advantage: Highest performance gain I would guess. No HTTP/GRPC transmission needed. Direct embedding of wasm runtime within alpha.
    Disadvantage: Might not be separated enough, although I think separation through WASM modules is enough. Potential security risks?

  • Run lambda/wasm instances as goroutines within one external process.
    Advantage: Separation of lambda and alpha - Less impact on malfunction and in terms of security risks.
    Disadvantage: Minimal performance losses due to transmission. Process management.

  • Run lambda/wasm instances as goroutines within multiple external processes.
    This should not be necessary as go automatically uses multiple cores.

I hope I delivered the question understandably. I personally would think about integrating the lambda directly into alpha and run wasm instances within goroutines.

Thanks in advance.