kyma
kyma copied to clipboard
[POC] Java runtime for kyma serverless
Description
- [ ] Prove that Kyma serverless would be capable to build, package and serve a java application as a function.
- [ ] Measure the performance metrics:
- cold start time
- success request rate
- [ ] Prove that function logs are possible to collect via kyma log collector ( loki )
- [ ] Verify if function execution would be traceable via java specific opentelemetry SDK
Assumptions
- For the sake of the POC lets try to draw inspiration from frameworks like fission java runtime or quarkus
- user provides source code for the function (single file with user function ( class ) that overrides a method with access to request data and context)
- user provides dependency asset (compatible with contemporary build tools like gradle or maven)
- design the objects that are passed to the user handler (i.e request, context, tracer, etc.. )
- base on latest LTS Java version (Java 17)
- base on JDK designed for fast execution (https://www.graalvm.org/)
Reasons
Having java as function runtime may increase kyma adoption among teams with a strong dedication to Java ( i.e team skillset ) Java is widely adopted language among many developers ( incl. those on kyma customers side ). It might help transforming big monolithic enterprise java applications into micro-service architecture and delivering parts of it as functions.
Attachments
- https://fission.io/docs/usage/languages/java/
- https://quarkus.io/guides/funqy
Hello. Great to see you're looking into serverless java functions! Do you plan to include Fission or will you build your own implementation, just "inspired" by fission?
I want to suggest considering support for newer than 1.8 JDK versions and possible usage of GraalVM for faster execution.
Great to see movement in right sap->kyma-java direction :)
Hello. Great to see you're looking into serverless java functions! Do you plan to include Fission or will you build your own implementation, just "inspired" by fission?
@osigge we dont plan to bring fission as part of kyma serverless. we already have all the mechanics for building container and deploying it on k8s. We will look into different runtime approaches (dockerfile basically) used in different FaaS solutions to see which one best suits kyma
This issue or PR has been automatically marked as stale due to the lack of recent activity. Thank you for your contributions.
This bot triages issues and PRs according to the following rules:
- After 60d of inactivity,
lifecycle/stale
is applied - After 7d of inactivity since
lifecycle/stale
was applied, the issue is closed
You can:
- Mark this issue or PR as fresh with
/remove-lifecycle stale
- Close this issue or PR with
/close
If you think that I work incorrectly, kindly raise an issue with the problem.
/lifecycle stale
This issue or PR has been automatically closed due to the lack of activity. Thank you for your contributions.
This bot triages issues and PRs according to the following rules:
- After 60d of inactivity,
lifecycle/stale
is applied - After 7d of inactivity since
lifecycle/stale
was applied, the issue is closed
You can:
- Reopen this issue or PR with
/reopen
- Mark this issue or PR as fresh with
/remove-lifecycle stale
If you think that I work incorrectly, kindly raise an issue with the problem.
/close
@kyma-bot: Closing this issue.
In response to this:
This issue or PR has been automatically closed due to the lack of activity. Thank you for your contributions.
This bot triages issues and PRs according to the following rules:
- After 60d of inactivity,
lifecycle/stale
is applied- After 7d of inactivity since
lifecycle/stale
was applied, the issue is closedYou can:
- Reopen this issue or PR with
/reopen
- Mark this issue or PR as fresh with
/remove-lifecycle stale
If you think that I work incorrectly, kindly raise an issue with the problem.
/close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
This issue or PR has been automatically marked as stale due to the lack of recent activity. Thank you for your contributions.
This bot triages issues and PRs according to the following rules:
- After 60d of inactivity,
lifecycle/stale
is applied - After 7d of inactivity since
lifecycle/stale
was applied, the issue is closed
You can:
- Mark this issue or PR as fresh with
/remove-lifecycle stale
- Close this issue or PR with
/close
If you think that I work incorrectly, kindly raise an issue with the problem.
/lifecycle stale
This issue or PR has been automatically marked as stale due to the lack of recent activity. Thank you for your contributions.
This bot triages issues and PRs according to the following rules:
- After 60d of inactivity,
lifecycle/stale
is applied - After 7d of inactivity since
lifecycle/stale
was applied, the issue is closed
You can:
- Mark this issue or PR as fresh with
/remove-lifecycle stale
- Close this issue or PR with
/close
If you think that I work incorrectly, kindly raise an issue with the problem.
/lifecycle stale
This issue or PR has been automatically closed due to the lack of activity. Thank you for your contributions.
This bot triages issues and PRs according to the following rules:
- After 60d of inactivity,
lifecycle/stale
is applied - After 7d of inactivity since
lifecycle/stale
was applied, the issue is closed
You can:
- Reopen this issue or PR with
/reopen
- Mark this issue or PR as fresh with
/remove-lifecycle stale
If you think that I work incorrectly, kindly raise an issue with the problem.
/close
@kyma-bot: Closing this issue.
In response to this:
This issue or PR has been automatically closed due to the lack of activity. Thank you for your contributions.
This bot triages issues and PRs according to the following rules:
- After 60d of inactivity,
lifecycle/stale
is applied- After 7d of inactivity since
lifecycle/stale
was applied, the issue is closedYou can:
- Reopen this issue or PR with
/reopen
- Mark this issue or PR as fresh with
/remove-lifecycle stale
If you think that I work incorrectly, kindly raise an issue with the problem.
/close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.