[{"data":1,"prerenderedAt":399},["ShallowReactive",2],{"content-svc-lambda-guides-effectively-running-java-on-serverless-cloudformation":3},{"markdown":4,"frontMatterAttributes":5,"bodyRaw":10,"menu":11,"menuType":390,"isCollapseableMenu":14,"nextDocItem":321,"previousDocItem":307,"contributorPaths":391,"contentName":398,"slug":320,"readingTime":29},"\u003Cp>Infrastructure as Code is the practice\nof managing and provisioning infrastructure as developers manage application code.\nInstead of configuring and managing infrastructure manually through the console,\nSDK, CLI, \u003Cem>Infrastructure as Code\u003C\u002Fem> allows\nfor creation, deployment and maintenance of the infrastructure in a programmatic, descriptive, declarative way.\nThis creates modular and reusable components, promoting efficiency, consistency and reducing duplicate efforts.\nFollowing the same rigor of application code development to infrastructure provisioning,\nall configurations containing infrastructure specifications should be defined in a declarative standard,\ndefined under a source control or version management system.\u003C\u002Fp>\n\u003Cp>Here are some of the mechanisms to define Serverless Java applications&#39; Infrastructure as Code:\u003C\u002Fp>\n\u003Ch4>AWS CloudFormation\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fcloudformation\u002F\">AWS CloudFormation\u003C\u002Fa> is a service\nthat allows developers to define and provision infrastructure\nin a template-based approach.\nThe resources along with their dependencies are defined in text files in \u003Ccode>JSON\u003C\u002Fcode> or \u003Ccode>YAML\u003C\u002Fcode> format.\nThe template requires a specific syntax and structure, depending on the types of resources being defined.\nThis template defines a collection of resources as a single unit called a Stack.\u003C\u002Fp>\n\u003Cp>The \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fcloudformation-cli\u002Flatest\u002Fuserguide\u002Fwhat-is-cloudformation-cli.html\">CloudFormation Command Line Interface (CFN-CLI)\u003C\u002Fa>\nis an open-source tool that enables you to develop and test AWS and third-party extensions.\nAn extension is an artifact, registered in the CloudFormation registry,\nwhich augments the functionality of CloudFormation in a native manner.\nThe \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Fintroducing-a-public-registry-for-aws-cloudformation\u002F\">CloudFormation registry\u003C\u002Fa>\nlets\nyou manage extensions,\nboth public and private, such as resources, modules, and hooks that are available for use in your AWS account.\nThe extension types in AWS registry are:\n\u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fcloudformation-cli\u002Flatest\u002Fuserguide\u002Fresource-types.html\">resources types\u003C\u002Fa>,\n\u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fcloudformation-cli\u002Flatest\u002Fuserguide\u002Fmodules.html\">modules\u003C\u002Fa>, and\n\u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fcloudformation-cli\u002Flatest\u002Fuserguide\u002Fhooks.html\">hooks\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Installing the CloudFormation CLI\u003C\u002Fh4>\n\u003Cp>The CloudFormation CLI can be installed using pip from the \u003Ca href=\"https:\u002F\u002Fpypi.org\u002F\">Python Package Index (PyPI)\u003C\u002Fa>.\nRefer to this \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faws-cloudformation\u002Fcloudformation-cli-java-plugin\u002F\">GitHub repository\u003C\u002Fa>\nto install the development plugin for Java.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">pip3 install cloudformation-cli-java-plugin\n\u003C\u002Fcode>\u003C\u002Fpre>\n",{"title":6,"order":7,"authors":8},"CloudFormation",9,[9],"Sonali Jena","Infrastructure as Code is the practice\nof managing and provisioning infrastructure as developers manage application code.\nInstead of configuring and managing infrastructure manually through the console,\nSDK, CLI, *Infrastructure as Code* allows\nfor creation, deployment and maintenance of the infrastructure in a programmatic, descriptive, declarative way.\nThis creates modular and reusable components, promoting efficiency, consistency and reducing duplicate efforts.\nFollowing the same rigor of application code development to infrastructure provisioning,\nall configurations containing infrastructure specifications should be defined in a declarative standard,\ndefined under a source control or version management system.\n\nHere are some of the mechanisms to define Serverless Java applications' Infrastructure as Code:\n\n#### AWS CloudFormation\n\n[AWS CloudFormation](https:\u002F\u002Faws.amazon.com\u002Fcloudformation\u002F) is a service\nthat allows developers to define and provision infrastructure\nin a template-based approach.\nThe resources along with their dependencies are defined in text files in `JSON` or `YAML` format.\nThe template requires a specific syntax and structure, depending on the types of resources being defined.\nThis template defines a collection of resources as a single unit called a Stack.\n\nThe [CloudFormation Command Line Interface (CFN-CLI)](https:\u002F\u002Fdocs.aws.amazon.com\u002Fcloudformation-cli\u002Flatest\u002Fuserguide\u002Fwhat-is-cloudformation-cli.html)\nis an open-source tool that enables you to develop and test AWS and third-party extensions.\nAn extension is an artifact, registered in the CloudFormation registry,\nwhich augments the functionality of CloudFormation in a native manner.\nThe [CloudFormation registry](https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Fintroducing-a-public-registry-for-aws-cloudformation\u002F)\nlets\nyou manage extensions,\nboth public and private, such as resources, modules, and hooks that are available for use in your AWS account.\nThe extension types in AWS registry are:\n[resources types](https:\u002F\u002Fdocs.aws.amazon.com\u002Fcloudformation-cli\u002Flatest\u002Fuserguide\u002Fresource-types.html),\n[modules](https:\u002F\u002Fdocs.aws.amazon.com\u002Fcloudformation-cli\u002Flatest\u002Fuserguide\u002Fmodules.html), and\n[hooks](https:\u002F\u002Fdocs.aws.amazon.com\u002Fcloudformation-cli\u002Flatest\u002Fuserguide\u002Fhooks.html).\n\n#### Installing the CloudFormation CLI\n\nThe CloudFormation CLI can be installed using pip from the [Python Package Index (PyPI)](https:\u002F\u002Fpypi.org\u002F).\nRefer to this [GitHub repository](https:\u002F\u002Fgithub.com\u002Faws-cloudformation\u002Fcloudformation-cli-java-plugin\u002F)\nto install the development plugin for Java.\n\n```bash\npip3 install cloudformation-cli-java-plugin\n```\n",[12,33,59,187,240,297,313,350,372],{"title":13,"collapsible":14,"isCollapsed":15,"content":16},"Introduction",false,true,[17],{"title":18,"order":19,"authors":20,"callout":22,"prerequisite":26,"time":29,"path":30,"id":31,"link":32},"Getting Started",1,[21],"Dhiraj Mahapatro",{"title":23,"description":24,"link":25},"Watch this video","This Devoxx Belgium 2023 presentation shows effectively running Java on Serverless","https:\u002F\u002Fyoutu.be\u002Fu3tgOE8qFjI?t=5549",[27,28],"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":34,"collapsible":14,"isCollapsed":15,"content":35},"History",[36,44,51],{"title":37,"order":38,"authors":39,"time":40,"path":41,"id":42,"link":43},"Evolution of Java",3,[21],"1 min","history","history.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fhistory",{"title":45,"order":46,"authors":47,"time":29,"path":48,"id":49,"link":50},"Evolution of Compute",4,[21],"compute","compute.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fcompute",{"title":52,"order":53,"authors":54,"time":29,"path":56,"id":57,"link":58},"Challenges",5,[21,55],"Maximilian Schellhorn","challenge","challenge.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fchallenge",{"title":60,"collapsible":14,"isCollapsed":15,"content":61},"Best Practices",[62,80,90,96,112,129,147,163,177],{"title":63,"order":64,"youtubeVideoID":65,"authors":66,"callout":68,"resources":71,"time":76,"path":77,"id":78,"link":79},"Lambda Snapstart",6,"ZbnAithBNYY",[67,21],"Vipan Kumar",{"title":23,"description":69,"link":70},"This serverless office hours session dives deeper into Lambda SnapStart.","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Y5b8_KToeDY",[72],{"link":73,"text":74,"type":75},"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":81,"order":64,"authors":82,"callout":83,"time":40,"path":87,"id":88,"link":89},"Tiered Compilation",[67],{"title":84,"description":85,"link":86},"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":91,"order":64,"authors":92,"time":40,"path":93,"id":94,"link":95},"Utilize initialization phase",[21],"init-heavy-lifting","init-heavy-lifting.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Finit-heavy-lifting",{"title":97,"order":64,"authors":98,"youtubeVideoID":99,"resources":100,"time":108,"path":109,"id":110,"link":111},"Using RDS Proxy",[9,21],"ZQOqmMn_8jw",[101,105],{"link":102,"text":103,"type":104},"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":106,"type":104,"text":107},"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":113,"order":64,"authors":114,"callout":115,"prerequisite":119,"resources":121,"time":29,"path":126,"id":127,"link":128},"Choice of HTTP Clients",[67,21],{"title":116,"description":117,"link":118},"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",[120],"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.",[122],{"link":123,"type":124,"text":125},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdeveloper\u002Faws-sdk-for-java-2-x-released\u002F","blog","AWS SDK for Java v2","http-clients","http-clients.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fhttp-clients",{"title":130,"order":64,"authors":131,"youtubeVideoID":132,"resources":133,"time":108,"path":144,"id":145,"link":146},"Hexagonal Architecture",[67],"kRFg6fkVChQ",[134,138,141],{"link":135,"text":136,"type":137},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fprescriptive-guidance\u002Flatest\u002Fhexagonal-architectures\u002Fwelcome.html","Hexagonal architecture","guidance",{"link":139,"text":140,"type":124},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fdeveloping-portable-aws-lambda-functions\u002F","Portable Lambda functions",{"link":142,"type":124,"text":143},"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":148,"order":64,"authors":149,"youtubeVideoID":151,"resources":152,"time":29,"path":160,"id":161,"link":162},"Powertools for AWS Lambda",[150],"Lavanya Tangutur","dH2GP6Lydj8",[153,157],{"link":154,"text":155,"type":156},"https:\u002F\u002Fgithub.com\u002Faws-powertools\u002Fpowertools-lambda-java","Powertools for AWS Lambda (Java)","github",{"link":158,"type":124,"text":159},"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":164,"order":64,"authors":165,"youtubeVideoID":166,"callout":167,"resources":171,"time":40,"path":174,"id":175,"link":176},"Lambda Power tuning ",[150,21],"z8wGSykEauI",{"title":168,"description":169,"link":170},"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",[172,173],{"link":102,"text":103,"type":104},{"link":106,"type":104,"text":107},"powertuning","powertuning.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fpowertuning",{"title":178,"order":64,"authors":179,"resources":180,"time":29,"path":184,"id":185,"link":186},"Using Graviton2",[21],[181],{"link":182,"text":183,"type":124},"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":188,"collapsible":14,"isCollapsed":15,"content":189},"Java frameworks",[190,205,214,230],{"title":191,"order":192,"authors":193,"resources":194,"time":29,"path":202,"id":203,"link":204},"Micronaut",7,[150,21],[195,199],{"link":196,"text":197,"type":198},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-java-frameworks-samples\u002Ftree\u002Fmain","Serverless Java Frameworks","GitHub",{"link":200,"text":201,"type":198},"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":206,"order":192,"authors":207,"resources":208,"time":29,"path":211,"id":212,"link":213},"Quarkus",[150,21],[209],{"link":196,"text":210,"type":198},"Quarkus sample application","quarkus","quarkus.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fquarkus",{"title":215,"order":192,"authors":216,"resources":217,"time":108,"path":227,"id":228,"link":229},"Spring",[150,55],[218,219,223],{"link":196,"text":210,"type":198},{"link":220,"text":221,"type":222},"https:\u002F\u002Fcatalog.workshops.aws\u002Fjava-on-aws-lambda\u002Fen-US","Java on AWS Lambda","workshop",{"link":224,"text":225,"type":226},"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":231,"order":192,"authors":232,"resources":233,"time":29,"path":237,"id":238,"link":239},"GraalVM Native Image",[150,21],[234,236],{"link":196,"text":235,"type":198},"GraalVM sample application",{"link":220,"text":221,"type":222},"graalvm","graalvm.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fgraalvm",{"title":241,"collapsible":14,"isCollapsed":15,"content":242},"Testing a Java application",[243,260,269,279,288],{"title":244,"order":245,"authors":246,"callout":248,"resources":252,"time":256,"path":257,"id":258,"link":259},"Testing Serverless",8,[247],"Lorenzo Micheli",{"title":249,"description":250,"link":251},"Read the Serverless testing guide","This guide dives deeper into Serverless testing","https:\u002F\u002Fserverlessland.com\u002Ftesting",[253],{"link":254,"text":255,"type":198},"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":261,"order":245,"authors":262,"callout":263,"resources":264,"time":108,"path":266,"id":267,"link":268},"Unit Testing",[247],{"title":249,"description":250,"link":251},[265],{"link":254,"text":255,"type":198},"unit","unit.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Funit",{"title":270,"order":245,"authors":271,"callout":272,"resources":273,"time":275,"path":276,"id":277,"link":278},"Integration Testing",[247,21],{"title":249,"description":250,"link":251},[274],{"link":254,"text":255,"type":198},"5 min","integration","integration.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fintegration",{"title":280,"order":245,"authors":281,"callout":282,"resources":283,"time":256,"path":285,"id":286,"link":287},"Functional Testing",[247,21],{"title":249,"description":250,"link":251},[284],{"link":254,"text":255,"type":198},"functional","functional.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Ffunctional",{"title":289,"order":245,"authors":290,"callout":291,"resources":292,"time":29,"path":294,"id":295,"link":296},"Load Testing",[21],{"title":249,"description":250,"link":251},[293],{"link":254,"text":255,"type":198},"load","load.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fload",{"title":298,"collapsible":14,"isCollapsed":15,"content":299},"Local Development",[300,307],{"title":301,"order":302,"authors":303,"time":40,"path":304,"id":305,"link":306},"IntelliJ",10,[21],"intellij","intellij.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fintellij",{"title":308,"order":302,"authors":309,"time":40,"path":310,"id":311,"link":312},"Visual Studio Code",[21],"vscode","vscode.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fvscode",{"title":314,"collapsible":14,"isCollapsed":14,"content":315},"Infrastructure as Code",[316,321,327,337],{"title":6,"order":7,"authors":317,"time":29,"path":318,"id":319,"link":320},[9],"cloudformation","cloudformation.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fcloudformation",{"title":322,"order":7,"authors":323,"time":275,"path":324,"id":325,"link":326},"AWS CDK",[9],"cdk","cdk.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fcdk",{"title":328,"order":7,"authors":329,"resources":330,"time":29,"path":334,"id":335,"link":336},"AWS SAM",[9],[331],{"link":332,"text":333,"type":124},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbuilding-serverless-java-applications-with-the-aws-sam-cli\u002F","Java Serverless AWS SAM CLI","sam","sam.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fsam",{"title":338,"order":7,"authors":339,"resources":340,"time":29,"path":347,"id":348,"link":349},"Terraform",[21],[341,344],{"link":342,"type":198,"text":343},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-patterns\u002Ftree\u002Fmain\u002Fapigw-lambda-snapstart-terraform","Java sample with Terraform",{"link":345,"text":346,"type":104},"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":351,"collapsible":14,"isCollapsed":15,"content":352},"Benchmarking",[353],{"title":354,"order":355,"youtubeVideoID":356,"authors":357,"resources":358,"time":40,"path":369,"id":370,"link":371},"Performance Benchmarking",11,"wmEIMWigXGc",[21],[359,361,363,366],{"link":360,"text":221,"type":222},"https:\u002F\u002Fcatalog.workshops.aws\u002Fjava-on-aws-lambda\u002Fen-US\u002F01-migration\u002F02-optimizations\u002Fbenchmark",{"link":196,"text":362,"type":198},"Benchmark: Micronaut, Quarkus, and SpringBoot",{"link":364,"text":365,"type":198},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-graalvm-demo","GraalVM native image on AWS Lambda Benchmarking",{"link":367,"text":368,"type":198},"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":373,"collapsible":14,"isCollapsed":15,"content":374},"Migration",[375],{"title":376,"order":377,"authors":378,"youtubeVideoID":379,"resources":380,"time":40,"path":387,"id":388,"link":389},"Migration Guide",12,[21],"u3tgOE8qFjI",[381,385],{"link":382,"text":383,"type":384},"https:\u002F\u002Fserverlessland.com\u002Fcontent\u002Fservice\u002Flambda\u002Fpaved-path\u002Fjava-replatforming\u002Fintroduction","Java re-platforming guide","Guide",{"link":220,"text":221,"type":386},"Workshop","migration","migration.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Feffectively-running-java-on-serverless\u002Fmigration","LIST",[392,393,394,395,396,397],"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",1792665272420]