Motivation ● AWS Lambda and the Serverless Framework make it easy to write small functions and deploy them to the cloud… ● … but not in Haskell ● Aim: to make it as easy to do serverless programming in Haskell as it is in NodeJS or Python ●
Serverless plugin ● Provides a NodeJS wrapper that spawns your Haskell executable ● Hooks up pipes for input, output and logging ● At the moment it will spawn a new exe on each invocation ● Future plan: keep the exe running so that it can handle multiple invocations
Embedded events ● Some event types (e.g. SNS, APIGateway) have stringified JSON or Base64 embedded within string values in the JSON ● TextValue and Embedded
Conclusion ● We have several Lambdas at SEEK using this ● GitHub https://github.com/seek-oss/serverless-haskell ● Also on npm, hackage and stackage ● Future extensions: ○ Allow more than one Lambda invocation ○ Allow multiple functions per project ○ Expand the supported event types ● We would love to get more users ● Pull requests invited