AWS Lambda Runtime API


(Gal Cohen) #1

Amazon recently introduced the Lambda Runtime API which should make it easier to use any programming languages to write Lambda functions.This could be a great way to grow Swift in some interesting server side directions. Anyone looking into this yet? If so, I'd love to join in and help.

Announcement:

Docs:
https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html


(Adrian Zubarev) #2

Yeah a broader support for serverless Swift would be amazing. I personally wait until Google would announce Swift support for Google Cloud Functions (especially for Firebase). I really hope that when stable ABI comes out that more platforms and tools will adopt Swift (one tool on my wish list is Unity3D; here Windows support would also be necessary). When the two mentioned tools would support Swift it would already feel like the world is finally conquered, at least to me.


(Gal Cohen) #3

I agree. As of now AWS has by far the largest market share, so a strong presence there could have a big influence on adoption of Swift outside mac/iOS. I think the sooner we get proper tooling for Swift up there, the sooner we can "conquer the world" :smile:

With this new API adoption seems a little more "native" to the platform than the previous methods others have used (have a small nodejs script execute a Swift binary and pass it the lambda arguments)


(Ted Kremenek) #4

I just wanted to say that I agree with this point. I think the Swift project growing support for AWS Lambda would be really great for the Swift on Server ecosystem.


(Simon Pilkington) #5

The project that I am part of - Smoke Framework (https://github.com/amzn/smoke-framework) - will hopefully be adding an integration to make it possible to use the framework in a Lambda, both as a simple Lambda function or as a Lambda Proxy[1].

[1] https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html

We also have some AWS service integrations - SmokeAWS (https://github.com/amzn/smoke-aws), SmokeAWSCredentials (https://github.com/amzn/smoke-aws-credentials) and SmokeDynamoDB (https://github.com/amzn/smoke-dynamodb). These libraries should already work with the new runtime API to be able to make use of other AWS services.

There is also a question around supporting compilation for Lambda environments which run on Amazon Linux 2017.03 which we will need to look into.


(Kohki Miki) #6

I implemented draft version of AWSLambdaRuntime.

However It have not been run on AWS yet.
I can't make a binary without any libraries due to a swiftc's issue.
I'm working on about this issue.