All Projects → mduesterhoeft → kotlin-graalvm-custom-runtime-demo

mduesterhoeft / kotlin-graalvm-custom-runtime-demo

Licence: other
Demo for a AWS Lambda functions written in Kotlin using GraalVM and custom runtimes

Programming Languages

kotlin
9241 projects
shell
77523 projects
CSS
56736 projects

Projects that are alternatives of or similar to kotlin-graalvm-custom-runtime-demo

kotlin-graalvm-custom-aws-lambda-runtime-talk
This is the demo code for a talk on improving cold startup times for JVM-based lambdas using GraalVM and Custom AWS Lambda Runtimes.
Stars: ✭ 24 (+4.35%)
Mutual labels:  aws-lambda, graalvm
aws-appsync-iot-core-realtime-dashboard
This sample application demonstrates a React based web dashboard receiving real-time updates from IoT sensors. The solution is built with AWS AppSync, AWS Amplify, Amazon Location Service, and AWS IoT Core technologies.
Stars: ✭ 75 (+226.09%)
Mutual labels:  aws-lambda
backend
Easily host entire web applications on a single AWS Lambda function using Serverless Components
Stars: ✭ 16 (-30.43%)
Mutual labels:  aws-lambda
aws lambda deploy
Automated AWS Lambda Deployment (Python)
Stars: ✭ 40 (+73.91%)
Mutual labels:  aws-lambda
chalice-extended-action
Automated deployment of your Chalice application via Github Actions
Stars: ✭ 18 (-21.74%)
Mutual labels:  aws-lambda
lambda-watchtower
Serverless HTTP(S) Endpoint Monitoring With AWS Lambda & CloudWatch
Stars: ✭ 68 (+195.65%)
Mutual labels:  aws-lambda
aws-appsync-session-manager
AWS AppSync Session Manager - a sample AppSync project
Stars: ✭ 18 (-21.74%)
Mutual labels:  aws-lambda
thundra-agent-nodejs
Thundra Lambda Node.js Agent
Stars: ✭ 31 (+34.78%)
Mutual labels:  aws-lambda
ml at awslambda pydatabln2018
Material for working alongside my workshop session at PyData Berlin 2018
Stars: ✭ 18 (-21.74%)
Mutual labels:  aws-lambda
faas-federation
Enable routing between multiple OpenFaaS gateways or providers
Stars: ✭ 18 (-21.74%)
Mutual labels:  aws-lambda
libvips-lambda
libvips Executable for AWS Lambda
Stars: ✭ 43 (+86.96%)
Mutual labels:  aws-lambda
python-serverless-api
Boilerplate flask app that is portable between different serverless platforms (AWS, Azure, GCP).
Stars: ✭ 19 (-17.39%)
Mutual labels:  aws-lambda
lambda-smush-py
Gain additional code space via cheeky compression for Python AWS Lambda functions defined in-line to CloudFormation templates.
Stars: ✭ 17 (-26.09%)
Mutual labels:  aws-lambda
Prisma-Enhanced-Remediation
Create custom auto-remediation solutions using serverless functions in the cloud.
Stars: ✭ 31 (+34.78%)
Mutual labels:  aws-lambda
Helios
An open source and easy-to-use monitoring tool for your AWS serverless applications.
Stars: ✭ 51 (+121.74%)
Mutual labels:  aws-lambda
redis-examples
Sample applications implemented with serverless Redis
Stars: ✭ 44 (+91.3%)
Mutual labels:  aws-lambda
nightcoreify
Randomly generates nightcore and uploads it to YouTube. A joke that got out of hand.
Stars: ✭ 54 (+134.78%)
Mutual labels:  aws-lambda
aws-lambda-backup
AWS Lambda script to create and remove snapshots of EBS volumes.
Stars: ✭ 39 (+69.57%)
Mutual labels:  aws-lambda
faaskit
A lightweight middleware framework for functions as a service
Stars: ✭ 24 (+4.35%)
Mutual labels:  aws-lambda
ipolyglot
A polyglot kernel for Jupyter notebooks based on GraalVM.
Stars: ✭ 59 (+156.52%)
Mutual labels:  graalvm

AWS Lambda with Kotlin and GraalVM

This project demonstrates how to run a Kotlin serverless function on AWS lambda using GraalVM It takes advantage of the custom lambda runtime to be able to use GraalVM to run the function. This avoids the increased latency on cold startup.

For more information read the post belonging to this repo - https://medium.com/@mathiasdpunkt/fighting-cold-startup-issues-for-your-kotlin-lambda-with-graalvm-39d19b297730

Run the package.sh to create a deployable zip file. This script does the following:

  • build a fat jar of the application
  • use the oracle/graalvm-ce docker image to build a native image
  • package the native image together with the runtime/bootstrap script into build/package/bundle.zip

We are using the serverless framework to deploy the function.

So to package and deploy run:

npm install
./package.sh
npx serverless deploy

To call the endpoint run:

curl  https://<your-api-id-here>.execute-api.eu-central-1.amazonaws.com/dev/greet/some

After calling the function we can look at the logs to get information about the execution time.

npx serverless logs -f hello
#REPORT RequestId: 155aa77e-6f07-4f31-a468-6de06edfd98b  Duration: 23.85 ms      Billed Duration: 300 ms Memory Size: 1024 MB    Max Memory Used: 66 MB  Init Duration: 178.22 ms     
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].