[{"data":1,"prerenderedAt":401},["ShallowReactive",2],{"content-svc-lambda-guides-effectively-running-java-on-serverless-sam":3},{"markdown":4,"frontMatterAttributes":5,"bodyRaw":15,"menu":16,"menuType":392,"isCollapseableMenu":19,"nextDocItem":339,"previousDocItem":326,"contributorPaths":393,"contentName":400,"slug":338,"readingTime":34},"\u003Cp>The \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fserverless-application-model\u002Flatest\u002Fdeveloperguide\u002Fwhat-is-sam.html\">AWS Serverless Application Model (AWS SAM)\u003C\u002Fa>\nis a toolkit that improves the developer experience of building and running serverless applications on AWS.\nAWS SAM consists of two primary parts:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>AWS SAM template specification\u003C\u002Fstrong> – An open-source framework that you can use to define your serverless application\ninfrastructure on AWS.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AWS SAM command line interface (AWS SAM CLI)\u003C\u002Fstrong> –\nA command line tool that you can use with AWS SAM templates and supported third-party integrations\nto build and run your serverless applications.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>SAM Transformation\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>AWS SAM does the complex work of transforming your template into the code necessary to provision your infrastructure\nthrough AWS CloudFormation.\u003C\u002Fp>\n\u003Cp>This is an example of a basic serverless application using SAM.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fassets\u002Fexternal\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fassets\u002Fiac_sam_app.jpg\" alt=\"SAMApp\">\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-yaml\">AWSTemplateFormatVersion: &#39;2010-09-09&#39;\nTransform: AWS::Serverless-2016-10-31\n\nResources:\n  GetProductsFunction:\n    Type: AWS::Serverless::Function\n    Properties:\n      Handler: com.example.GetProductsFunction::handleRequest\n      Runtime: java17\n      Architectures:\n        - arm64\n      MemorySize: 1024\n      Policies:\n        - DynamoDBReadPolicy:\n            TableName: !Ref ProductTable\n      Events:\n        GetProductsEvent:\n          Type: Api\n          Properties:\n            Path: \u002Fproducts\n            Method: get\n\n  ProductTable:\n    Type: AWS::Serverless::SimpleTable\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The following diagram provides an overview of the transformation with SAM.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fassets\u002Fexternal\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fassets\u002Fiac_sam_transformation.jpg\" alt=\"SAMTransformation\">\u003C\u002Fp>\n\u003Col>\n\u003Cli>Define your infrastructure resources such as Lambda functions, Amazon DynamoDB Tables, Amazon S3 buckets, or an\nAmazon API Gateway endpoint in a template.yaml file.\u003C\u002Fli>\n\u003Cli>The CLI command \u003Ccode>sam build\u003C\u002Fcode> builds the application based on the chosen runtime and configuration within the\ntemplate.\u003C\u002Fli>\n\u003Cli>The sam build command populates the \u003Ccode>.aws-sam\u002Fbuild\u003C\u002Fcode> folder with the built artifacts (for example, class files or\njars).\u003C\u002Fli>\n\u003Cli>The sam deploy command uploads your template and function code from the .aws-sam\u002Fbuild folder and starts an AWS\nCloudFormation deployment.\u003C\u002Fli>\n\u003Cli>After a successful deployment, you can find the provisioned resources in your AWS account.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Follow this blog\nto learn more\nabout \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbuilding-serverless-java-applications-with-the-aws-sam-cli\u002F\">Building serverless Java application with the AWS SAM CLI\u003C\u002Fa>.\u003C\u002Fp>\n",{"title":6,"order":7,"authors":8,"resources":10},"AWS SAM",9,[9],"Sonali Jena",[11],{"link":12,"text":13,"type":14},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbuilding-serverless-java-applications-with-the-aws-sam-cli\u002F","Java Serverless AWS SAM CLI","blog","The [AWS Serverless Application Model (AWS SAM)](https:\u002F\u002Fdocs.aws.amazon.com\u002Fserverless-application-model\u002Flatest\u002Fdeveloperguide\u002Fwhat-is-sam.html)\nis a toolkit that improves the developer experience of building and running serverless applications on AWS.\nAWS SAM consists of two primary parts:\n\n- **AWS SAM template specification** – An open-source framework that you can use to define your serverless application\n  infrastructure on AWS.\n- **AWS SAM command line interface (AWS SAM CLI)** –\n  A command line tool that you can use with AWS SAM templates and supported third-party integrations\n  to build and run your serverless applications.\n\n**SAM Transformation**\n\nAWS SAM does the complex work of transforming your template into the code necessary to provision your infrastructure\nthrough AWS CloudFormation.\n\nThis is an example of a basic serverless application using SAM.\n\n![SAMApp](\u002Fassets\u002Fexternal\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fassets\u002Fiac_sam_app.jpg)\n\n```yaml\nAWSTemplateFormatVersion: '2010-09-09'\nTransform: AWS::Serverless-2016-10-31\n\nResources:\n  GetProductsFunction:\n    Type: AWS::Serverless::Function\n    Properties:\n      Handler: com.example.GetProductsFunction::handleRequest\n      Runtime: java17\n      Architectures:\n        - arm64\n      MemorySize: 1024\n      Policies:\n        - DynamoDBReadPolicy:\n            TableName: !Ref ProductTable\n      Events:\n        GetProductsEvent:\n          Type: Api\n          Properties:\n            Path: \u002Fproducts\n            Method: get\n\n  ProductTable:\n    Type: AWS::Serverless::SimpleTable\n```\n\nThe following diagram provides an overview of the transformation with SAM.\n\n![SAMTransformation](\u002Fassets\u002Fexternal\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fassets\u002Fiac_sam_transformation.jpg)\n\n1. Define your infrastructure resources such as Lambda functions, Amazon DynamoDB Tables, Amazon S3 buckets, or an\n   Amazon API Gateway endpoint in a template.yaml file.\n2. The CLI command `sam build` builds the application based on the chosen runtime and configuration within the\n   template.\n3. The sam build command populates the `.aws-sam\u002Fbuild` folder with the built artifacts (for example, class files or\n   jars).\n4. The sam deploy command uploads your template and function code from the .aws-sam\u002Fbuild folder and starts an AWS\n   CloudFormation deployment.\n5. After a successful deployment, you can find the provisioned resources in your AWS account.\n\nFollow this blog\nto learn more\nabout [Building serverless Java application with the AWS SAM CLI](https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbuilding-serverless-java-applications-with-the-aws-sam-cli\u002F).\n",[17,38,64,191,244,301,317,352,374],{"title":18,"collapsible":19,"isCollapsed":20,"content":21},"Introduction",false,true,[22],{"title":23,"order":24,"authors":25,"callout":27,"prerequisite":31,"time":34,"path":35,"id":36,"link":37},"Getting Started",1,[26],"Dhiraj Mahapatro",{"title":28,"description":29,"link":30},"Watch this video","This Devoxx Belgium 2023 presentation shows effectively running Java on Serverless","https:\u002F\u002Fyoutu.be\u002Fu3tgOE8qFjI?t=5549",[32,33],"Understanding of Java","Understanding of AWS Lambda","2 min","1-introduction","1-introduction.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002F1-introduction",{"title":39,"collapsible":19,"isCollapsed":20,"content":40},"History",[41,49,56],{"title":42,"order":43,"authors":44,"time":45,"path":46,"id":47,"link":48},"Evolution of Java",3,[26],"1 min","history","history.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fhistory",{"title":50,"order":51,"authors":52,"time":34,"path":53,"id":54,"link":55},"Evolution of Compute",4,[26],"compute","compute.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fcompute",{"title":57,"order":58,"authors":59,"time":34,"path":61,"id":62,"link":63},"Challenges",5,[26,60],"Maximilian Schellhorn","challenge","challenge.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fchallenge",{"title":65,"collapsible":19,"isCollapsed":20,"content":66},"Best Practices",[67,85,95,101,117,133,151,167,181],{"title":68,"order":69,"youtubeVideoID":70,"authors":71,"callout":73,"resources":76,"time":81,"path":82,"id":83,"link":84},"Lambda Snapstart",6,"ZbnAithBNYY",[72,26],"Vipan Kumar",{"title":28,"description":74,"link":75},"This serverless office hours session dives deeper into Lambda SnapStart.","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Y5b8_KToeDY",[77],{"link":78,"text":79,"type":80},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=IIKe2dx9Ag0","Spring IO (Barcelona)","video","8 min","snapstart","snapstart.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fsnapstart",{"title":86,"order":69,"authors":87,"callout":88,"time":45,"path":92,"id":93,"link":94},"Tiered Compilation",[72],{"title":89,"description":90,"link":91},"Read this blog","This AWS blog explains Tiered compilation in details","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fincreasing-performance-of-java-aws-lambda-functions-using-tiered-compilation\u002F","tiered-compilation","tiered-compilation.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Ftiered-compilation",{"title":96,"order":69,"authors":97,"time":45,"path":98,"id":99,"link":100},"Utilize initialization phase",[26],"init-heavy-lifting","init-heavy-lifting.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Finit-heavy-lifting",{"title":102,"order":69,"authors":103,"youtubeVideoID":104,"resources":105,"time":113,"path":114,"id":115,"link":116},"Using RDS Proxy",[9,26],"ZQOqmMn_8jw",[106,110],{"link":107,"text":108,"type":109},"https:\u002F\u002Faws.amazon.com\u002Fgetting-started\u002Fhands-on\u002Fset-up-shared-database-connection-amazon-rds-proxy\u002F","Shared DB connections with RDS Proxy","user guide",{"link":111,"type":109,"text":112},"https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonRDS\u002Flatest\u002FAuroraUserGuide\u002Frds-proxy.html","RDS Proxy","4 min","rds-proxy","rds-proxy.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Frds-proxy",{"title":118,"order":69,"authors":119,"callout":120,"prerequisite":124,"resources":126,"time":34,"path":130,"id":131,"link":132},"Choice of HTTP Clients",[72,26],{"title":121,"description":122,"link":123},"Read this Blog","This blog explains how AWS CRT HTTP Client offers faster startup time and small memory footprint","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdeveloper\u002Fannouncing-availability-of-the-aws-crt-http-client-in-the-aws-sdk-for-java-2-x\u002F",[125],"Before moving on to HTTP clients, the first and foremost requirement to improve performance in Lambda functions is to upgrade from AWS SDK Java v1 to AWS SDK Java v2 as soon as possible. Version 2 of the AWS SDK was released in Nov 2018 with a lot of performance upgrades.",[127],{"link":128,"type":14,"text":129},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdeveloper\u002Faws-sdk-for-java-2-x-released\u002F","AWS SDK for Java v2","http-clients","http-clients.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fhttp-clients",{"title":134,"order":69,"authors":135,"youtubeVideoID":136,"resources":137,"time":113,"path":148,"id":149,"link":150},"Hexagonal Architecture",[72],"kRFg6fkVChQ",[138,142,145],{"link":139,"text":140,"type":141},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fprescriptive-guidance\u002Flatest\u002Fhexagonal-architectures\u002Fwelcome.html","Hexagonal architecture","guidance",{"link":143,"text":144,"type":14},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fdeveloping-portable-aws-lambda-functions\u002F","Portable Lambda functions",{"link":146,"type":14,"text":147},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fdeveloping-evolutionary-architecture-with-aws-lambda\u002F","Building evolutionary architecture on AWS Lambda","hexagonal","hexagonal.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fhexagonal",{"title":152,"order":69,"authors":153,"youtubeVideoID":155,"resources":156,"time":34,"path":164,"id":165,"link":166},"Powertools for AWS Lambda",[154],"Lavanya Tangutur","dH2GP6Lydj8",[157,161],{"link":158,"text":159,"type":160},"https:\u002F\u002Fgithub.com\u002Faws-powertools\u002Fpowertools-lambda-java","Powertools for AWS Lambda (Java)","github",{"link":162,"type":14,"text":163},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fopensource\u002Fsimplifying-serverless-best-practices-with-aws-lambda-powertools-java\u002F","Best practices with Powertools","powertools","powertools.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fpowertools",{"title":168,"order":69,"authors":169,"youtubeVideoID":170,"callout":171,"resources":175,"time":45,"path":178,"id":179,"link":180},"Lambda Power tuning ",[154,26],"z8wGSykEauI",{"title":172,"description":173,"link":174},"Watch the video","This video covers a variety of AWS Lambda performance and cost optimization techniques including use of Power tuning.","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=z8wGSykEauI",[176,177],{"link":107,"text":108,"type":109},{"link":111,"type":109,"text":112},"powertuning","powertuning.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fpowertuning",{"title":182,"order":69,"authors":183,"resources":184,"time":34,"path":188,"id":189,"link":190},"Using Graviton2",[26],[185],{"link":186,"text":187,"type":14},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fmigrating-aws-lambda-functions-to-arm-based-aws-graviton2-processors\u002F","Using Arm-based Graviton2 processors","graviton","graviton.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fgraviton",{"title":192,"collapsible":19,"isCollapsed":20,"content":193},"Java frameworks",[194,209,218,234],{"title":195,"order":196,"authors":197,"resources":198,"time":34,"path":206,"id":207,"link":208},"Micronaut",7,[154,26],[199,203],{"link":200,"text":201,"type":202},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-java-frameworks-samples\u002Ftree\u002Fmain","Serverless Java Frameworks","GitHub",{"link":204,"text":205,"type":202},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-patterns\u002Ftree\u002Fmain\u002Fapigw-lambda-rds-snapstart","Micronaut with RDS","micronaut","micronaut.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fmicronaut",{"title":210,"order":196,"authors":211,"resources":212,"time":34,"path":215,"id":216,"link":217},"Quarkus",[154,26],[213],{"link":200,"text":214,"type":202},"Quarkus sample application","quarkus","quarkus.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fquarkus",{"title":219,"order":196,"authors":220,"resources":221,"time":113,"path":231,"id":232,"link":233},"Spring",[154,60],[222,223,227],{"link":200,"text":214,"type":202},{"link":224,"text":225,"type":226},"https:\u002F\u002Fcatalog.workshops.aws\u002Fjava-on-aws-lambda\u002Fen-US","Java on AWS Lambda","workshop",{"link":228,"text":229,"type":230},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdevops\u002Fdeveloping-with-java-and-spring-boot-using-amazon-codewhisperer\u002F","Build Spring Boot using Amazon CodeWhisperer","Blog","springboot","springboot.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fspringboot",{"title":235,"order":196,"authors":236,"resources":237,"time":34,"path":241,"id":242,"link":243},"GraalVM Native Image",[154,26],[238,240],{"link":200,"text":239,"type":202},"GraalVM sample application",{"link":224,"text":225,"type":226},"graalvm","graalvm.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fgraalvm",{"title":245,"collapsible":19,"isCollapsed":20,"content":246},"Testing a Java application",[247,264,273,283,292],{"title":248,"order":249,"authors":250,"callout":252,"resources":256,"time":260,"path":261,"id":262,"link":263},"Testing Serverless",8,[251],"Lorenzo Micheli",{"title":253,"description":254,"link":255},"Read the Serverless testing guide","This guide dives deeper into Serverless testing","https:\u002F\u002Fserverlessland.com\u002Ftesting",[257],{"link":258,"text":259,"type":202},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-test-samples\u002Ftree\u002Fmain\u002Fjava-test-samples","Serverless Java test samples","3 min","testing","testing.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Ftesting",{"title":265,"order":249,"authors":266,"callout":267,"resources":268,"time":113,"path":270,"id":271,"link":272},"Unit Testing",[251],{"title":253,"description":254,"link":255},[269],{"link":258,"text":259,"type":202},"unit","unit.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Funit",{"title":274,"order":249,"authors":275,"callout":276,"resources":277,"time":279,"path":280,"id":281,"link":282},"Integration Testing",[251,26],{"title":253,"description":254,"link":255},[278],{"link":258,"text":259,"type":202},"5 min","integration","integration.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fintegration",{"title":284,"order":249,"authors":285,"callout":286,"resources":287,"time":260,"path":289,"id":290,"link":291},"Functional Testing",[251,26],{"title":253,"description":254,"link":255},[288],{"link":258,"text":259,"type":202},"functional","functional.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Ffunctional",{"title":293,"order":249,"authors":294,"callout":295,"resources":296,"time":34,"path":298,"id":299,"link":300},"Load Testing",[26],{"title":253,"description":254,"link":255},[297],{"link":258,"text":259,"type":202},"load","load.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fload",{"title":302,"collapsible":19,"isCollapsed":20,"content":303},"Local Development",[304,311],{"title":305,"order":306,"authors":307,"time":45,"path":308,"id":309,"link":310},"IntelliJ",10,[26],"intellij","intellij.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fintellij",{"title":312,"order":306,"authors":313,"time":45,"path":314,"id":315,"link":316},"Visual Studio Code",[26],"vscode","vscode.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fvscode",{"title":318,"collapsible":19,"isCollapsed":19,"content":319},"Infrastructure as Code",[320,326,332,339],{"title":321,"order":7,"authors":322,"time":34,"path":323,"id":324,"link":325},"CloudFormation",[9],"cloudformation","cloudformation.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fcloudformation",{"title":327,"order":7,"authors":328,"time":279,"path":329,"id":330,"link":331},"AWS CDK",[9],"cdk","cdk.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fcdk",{"title":6,"order":7,"authors":333,"resources":334,"time":34,"path":336,"id":337,"link":338},[9],[335],{"link":12,"text":13,"type":14},"sam","sam.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fsam",{"title":340,"order":7,"authors":341,"resources":342,"time":34,"path":349,"id":350,"link":351},"Terraform",[26],[343,346],{"link":344,"type":202,"text":345},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-patterns\u002Ftree\u002Fmain\u002Fapigw-lambda-snapstart-terraform","Java sample with Terraform",{"link":347,"text":348,"type":109},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fserverless-application-model\u002Flatest\u002Fdeveloperguide\u002Fwhat-is-terraform-support.html","AWS SAM CLI Terraform support","terraform","terraform.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fterraform",{"title":353,"collapsible":19,"isCollapsed":20,"content":354},"Benchmarking",[355],{"title":356,"order":357,"youtubeVideoID":358,"authors":359,"resources":360,"time":45,"path":371,"id":372,"link":373},"Performance Benchmarking",11,"wmEIMWigXGc",[26],[361,363,365,368],{"link":362,"text":225,"type":226},"https:\u002F\u002Fcatalog.workshops.aws\u002Fjava-on-aws-lambda\u002Fen-US\u002F01-migration\u002F02-optimizations\u002Fbenchmark",{"link":200,"text":364,"type":202},"Benchmark: Micronaut, Quarkus, and SpringBoot",{"link":366,"text":367,"type":202},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-graalvm-demo","GraalVM native image on AWS Lambda Benchmarking",{"link":369,"text":370,"type":202},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-kotlin-demo","Benchmark Kotlin on Serverless","benchmark","benchmark.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fbenchmark",{"title":375,"collapsible":19,"isCollapsed":20,"content":376},"Migration",[377],{"title":378,"order":379,"authors":380,"youtubeVideoID":381,"resources":382,"time":45,"path":389,"id":390,"link":391},"Migration Guide",12,[26],"u3tgOE8qFjI",[383,387],{"link":384,"text":385,"type":386},"https:\u002F\u002Fserverlessland.com\u002Fcontent\u002Fservice\u002Flambda\u002Fpaved-path\u002Fjava-replatforming\u002Fintroduction","Java re-platforming guide","Guide",{"link":224,"text":225,"type":388},"Workshop","migration","migration.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fmigration","LIST",[394,395,396,397,398,399],"content\u002Fcontributors\u002Fdhiraj-mahapatro.json","content\u002Fcontributors\u002Fsonali-jena.json","content\u002Fcontributors\u002Flavanya-tangutur.json","content\u002Fcontributors\u002Fvipan-kumar.json","content\u002Fcontributors\u002Florenzo-micheli.json","content\u002Fcontributors\u002Fmaximilian-schellhorn.json","Effectively running Java on Serverless",1792578873965]