[{"data":1,"prerenderedAt":152},["ShallowReactive",2],{"content-svc-lambda-paved-path-java-replatforming-introduction":3},{"markdown":4,"frontMatterAttributes":5,"bodyRaw":20,"menu":21,"menuType":147,"isCollapseableMenu":23,"nextDocItem":38,"previousDocItem":148,"contributorPaths":149,"contentName":151,"slug":33,"readingTime":30},"\u003Cp>\u003Cstrong>Replatforming Guidance\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Are you looking to migrate your Java application to a more scalable and cost-effective solution? AWS Lambda might be the answer you&#39;re looking for. By replatforming your application to AWS Lambda, you can take advantage of the many benefits that serverless computing has to offer.\u003C\u002Fp>\n\u003Cp>One key benefit of replatforming to AWS Lambda is increased flexibility. With Lambda, you only pay for the compute time you use, and the service automatically scales to handle the demands of your application. This means you don&#39;t have to worry about overprovisioning resources, and you can easily handle sudden spikes in traffic without any extra configuration.\u003C\u002Fp>\n\u003Cp>Another advantage of replatforming to AWS Lambda is cost savings. Since you only pay for the compute time you use, you can potentially reduce your infrastructure costs compared to running your application on a server, virtual machine, or container service. This can lead to significant cost savings over time, especially if your application has unpredictable usage patterns.\u003C\u002Fp>\n\u003Cp>Finally, replatforming to AWS Lambda can save you time and effort compared to refactoring your application. With the lift and reshape approach, you can migrate your application with minimal code changes, allowing you to quickly take advantage of the benefits of serverless computing without investing significant time and resources into refactoring.\u003C\u002Fp>\n\u003Cp>The following pages give practical guidance on how to migrate an application currently running on a server, virtual \nmachine (VM), or a container service to \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Flambda\u002F\">AWS Lambda\u003C\u002Fa> with minimal code changes. In \n\u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fprescriptive-guidance\u002Flatest\u002Fmigration-retiring-applications\u002Fapg-gloss.html\">migration terms\u003C\u002Fa>, \nthis approach is called replatforming or lift and reshape. This allows customers to take advantage of all the benefits \nthat serverless brings while not incurring the time and expense of refactoring.\u003C\u002Fp>\n\u003Cp>There are many components to consider when approaching a migration. Each will have many solutions. In this guide, you \nwill learn the architectural changes involved and suggested approaches. This will help you adapt the approach to your \nown ways of working if required.\u003C\u002Fp>\n",{"title":6,"order":7,"callout":8,"prerequisite":12,"resources":15},"Introduction",1,{"title":9,"description":10,"link":11},"Workshop","The workshop gives you a step-by-step guide of how to migrate a Spring Boot application to Lambda using the AWS Serverless Java Container library.","https:\u002F\u002Fcatalog.workshops.aws\u002Fjava-on-aws-lambda\u002Fen-US\u002F01-migration",[13,14],"Some understanding of Java","Some Understanding of AWS Lambda",[16],{"link":17,"text":18,"type":19},"https:\u002F\u002Faws.amazon.com\u002Flambda\u002F","Learn more about Lambda","text","**Replatforming Guidance**\n\nAre you looking to migrate your Java application to a more scalable and cost-effective solution? AWS Lambda might be the answer you're looking for. By replatforming your application to AWS Lambda, you can take advantage of the many benefits that serverless computing has to offer.\n\nOne key benefit of replatforming to AWS Lambda is increased flexibility. With Lambda, you only pay for the compute time you use, and the service automatically scales to handle the demands of your application. This means you don't have to worry about overprovisioning resources, and you can easily handle sudden spikes in traffic without any extra configuration.\n\nAnother advantage of replatforming to AWS Lambda is cost savings. Since you only pay for the compute time you use, you can potentially reduce your infrastructure costs compared to running your application on a server, virtual machine, or container service. This can lead to significant cost savings over time, especially if your application has unpredictable usage patterns.\n\nFinally, replatforming to AWS Lambda can save you time and effort compared to refactoring your application. With the lift and reshape approach, you can migrate your application with minimal code changes, allowing you to quickly take advantage of the benefits of serverless computing without investing significant time and resources into refactoring.\n\nThe following pages give practical guidance on how to migrate an application currently running on a server, virtual \nmachine (VM), or a container service to [AWS Lambda](https:\u002F\u002Faws.amazon.com\u002Flambda\u002F) with minimal code changes. In \n[migration terms](https:\u002F\u002Fdocs.aws.amazon.com\u002Fprescriptive-guidance\u002Flatest\u002Fmigration-retiring-applications\u002Fapg-gloss.html), \nthis approach is called replatforming or lift and reshape. This allows customers to take advantage of all the benefits \nthat serverless brings while not incurring the time and expense of refactoring.\n\nThere are many components to consider when approaching a migration. Each will have many solutions. In this guide, you \nwill learn the architectural changes involved and suggested approaches. This will help you adapt the approach to your \nown ways of working if required.\n",[22,34,55,84,101,113,137],{"title":6,"collapsible":23,"isCollapsed":23,"content":24},false,[25],{"title":6,"order":7,"callout":26,"prerequisite":27,"resources":28,"time":30,"path":31,"id":32,"link":33},{"title":9,"description":10,"link":11},[13,14],[29],{"link":17,"text":18,"type":19},"2 min","introduction","introduction.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fpaved-path\u002Fjava-replatforming\u002Fintroduction",{"title":35,"collapsible":23,"isCollapsed":36,"content":37},"Access patterns",true,[38],{"title":39,"order":40,"callout":41,"resources":42,"learningGoals":50,"time":30,"path":52,"id":53,"link":54},"Access Patterns",2,{"title":9,"description":10,"link":11},[43,47],{"link":44,"type":45,"text":46},"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Faws-lambda-web-adapter","Repo","AWS Lambda Web Adapter",{"link":48,"text":49,"type":45},"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Faws-serverless-java-container","AWS Serverless Java Container",[51],"To learn the different approaches to replatforming REST APIs on Lambda","access-patterns","access-patterns.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fpaved-path\u002Fjava-replatforming\u002Faccess-patterns",{"title":56,"collapsible":23,"isCollapsed":36,"content":57},"SnapStart",[58],{"title":59,"youtubeVideoID":60,"order":40,"callout":61,"resources":64,"learningGoals":79,"time":30,"path":81,"id":82,"link":83},"Performance - SnapStart","ZbnAithBNYY",{"title":9,"description":62,"link":63},"Learn how SnapStart addresses Java function performance, how to enable SnapStart with IaC, and how to customize your SnapStart behavior with runtime hooks.","https:\u002F\u002Fcatalog.workshops.aws\u002Fjava-on-aws-lambda\u002Fen-US\u002F03-snapstart",[65,69,72,76],{"link":66,"text":67,"type":68},"https:\u002F\u002Fserverlessland.com\u002Fpatterns\u002Fapigw-lambda-snapstart","API Gateway to Lambda with SnapStart","Pattern",{"link":70,"type":68,"text":71},"https:\u002F\u002Fserverlessland.com\u002Fpatterns\u002Fapigw-lambda-rds-snapstart","REST API with Amazon API Gateway, Amazon RDS and AWS Lambda with SnapStart",{"link":73,"type":74,"text":75},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fstarting-up-faster-with-aws-lambda-snapstart\u002F?ref=serverlessland","Blog","Starting up faster with AWS Lambda SnapStart",{"link":77,"type":74,"text":78},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Freducing-java-cold-starts-on-aws-lambda-functions-with-snapstart\u002F?ref=serverlessland","Reducing Java cold starts on AWS Lambda functions with SnapStart",[80],"Learn how Lambda SnapStart improves first invoke latency","snapstart","snapstart.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fpaved-path\u002Fjava-replatforming\u002Fsnapstart",{"title":85,"collapsible":23,"isCollapsed":36,"content":86},"Performance",[87],{"title":85,"youtubeVideoID":88,"order":40,"callout":89,"resources":91,"learningGoals":95,"time":97,"path":98,"id":99,"link":100},"sVJOJUD0fhQ",{"title":9,"description":90,"link":11},"Learn how to optimize Java Lambda functions.",[92],{"link":93,"type":74,"text":94},"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Foptimizing-aws-lambda-function-performance-for-java\u002F?ref=serverlessland","Optimizing AWS Lambda function performance for Java",[96],"How to optimization your Java function","1 min","performance","performance.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fpaved-path\u002Fjava-replatforming\u002Fperformance",{"title":102,"collapsible":23,"isCollapsed":36,"content":103},"Observability - Logging ",[104],{"title":105,"order":40,"callout":106,"learningGoals":107,"time":109,"path":110,"id":111,"link":112},"Observability - Logging",{"title":9,"description":10,"link":11},[108],"How to meet your logging requirements with Lambda","4 min","observability-and-logging","observability-and-logging.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fpaved-path\u002Fjava-replatforming\u002Fobservability-and-logging",{"title":114,"collapsible":23,"isCollapsed":36,"content":115},"Observability - Metrics",[116],{"title":114,"order":40,"callout":117,"resources":121,"learningGoals":131,"time":133,"path":134,"id":135,"link":136},{"title":118,"description":119,"link":120},"Watch the video","AWS Lambda Powertools: Lessons from the road to 10 million downloads.","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=dH2GP6Lydj8",[122,125,128],{"link":123,"text":124,"type":45},"https:\u002F\u002Fawslabs.github.io\u002Faws-lambda-powertools-java\u002Fcore\u002Fmetrics\u002F","Lambda Powertools for Java - Metrics",{"link":126,"text":127,"type":45},"https:\u002F\u002Fawslabs.github.io\u002Faws-lambda-powertools-java\u002F","Lambda Powertools for Java",{"link":129,"text":130,"type":45},"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Faws-embedded-metrics-java","EMF Client Library",[132],"How to efficiently write metrics with Lambda","3 min","metrics","metrics.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fpaved-path\u002Fjava-replatforming\u002Fmetrics",{"title":138,"collapsible":23,"isCollapsed":36,"content":139},"Health checks",[140],{"title":141,"order":40,"learningGoals":142,"time":97,"path":144,"id":145,"link":146},"Health Checks",[143],"To understand when to use health checks with Lambda","health-checks","health-checks.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fpaved-path\u002Fjava-replatforming\u002Fhealth-checks","LESSON",null,[150],"content\u002Fcontributors\u002Fmark-sailes.json","Java Replatforming",1792146901223]