Git Product home page Git Product logo

aws-lambda-java-workshop's Introduction

Java on AWS Lambda Workshop

This project contains the code for the Java on AWS Lambda workshop. You can find the content and instructions for the workshop here.

You will learn how to build cloud-native Java applications, best practices and performance optimizations techniques and how to migrate your existing Java application to AWS Lambda.

Architecture & Lab Overview

In this module you will learn how to bring your traditional Java Spring application to AWS Lambda with minimal effort and iteratively apply optimizations to get the best out of your Serverless Java experience. You will get an overview of best practices, performance trade-offs and the design considerations for each step to be able to make well-informed decisions when bringing enterprise Java applications to AWS Lambda.

Unicorn Store

In this module you will create an application in plain Java and apply AWS Lambda Java best practises. The goal is to understand how you can optimize your Java applications and run it more efficiently. In addition, we’ll introduce GraalVM native images and modify the existing application to gain up to 80% performance improvement during cold-starts.

Unicorn Location API

In this module you will learn how SnapStart addresses Java function performance. You will learn how to enable SnapStart with infrastructure as code, how to customize your snapshot behavior with runtime hooks and identify potential refactoring areas with automated tooling. Lastly, you will apply additional best practices for performance tuning and snapshot creation. After this module you will be able to make well-informed decisions when using SnapStart for your Java based AWS Lambda functions.

Unicorn Stock Broker API

Security

See CONTRIBUTING for more information.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

aws-lambda-java-workshop's People

Contributors

amazon-auto avatar deki avatar dependabot[bot] avatar github-actions[bot] avatar lefkarag avatar maschnetwork avatar muellerc avatar stevrobu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

aws-lambda-java-workshop's Issues

Initial Infrastructure setup doesn't work on a Windows machine

Running the infrastructure-setup.sh doesn't work on a Windows machine. The issue is with the cdk.json file and how the app is specified. Currently, it is set to:

./mvnw -e -q compile exec:java

This fails on Windows due to the forward slash.

If I run a brand new cdk init app --language=java on a Windows machine the cdk.json file is set to:

mvn -e -q compile exec:java

Propose updating the default to support Windows, Mac and Linux.

Error while runnning setup.sh in Cloud9

I encountered a problem while working on the workshop using Cloud9 with admin access IAM role. The script ./setup.sh failed to resize the EBS volume on EC2. I checked the service role that was created by Cloud9 - AWSServiceRoleForAWSCloud9, and I found out that it was missing the permission for DescribeVolumeModifications. How can I fix this issue? as service role cant be edited.

Another issue , after I comment out resize in setup.sh, I am able to proceed further and continue the unicorn -store lab but while running setup-infrastructure.sh, I get deployment failed.
Error : Unable to resolve AWS account to use , how do I set which account to use through Cloud9 environment ?
Need help with fixing this issue too.

GraalVM sample for a restful spring application.

Hey I have been trying to convert and deploy software/unicorn-store-spring to graalvm native image to lambda but I can't figure it out yet. I have been at it for some days now so if a sample can be made. Thank you in advance.

com.unicorn.store.StreamLambdaHandler not found

Hi,
I am trying the workshop code and focusing only on the Unicorn store Spring part.

After setting up infra, I have run

./deploy.sh spring

This has deployed the components. And when invoking the prod api gateway url - getting this error:

Class not found: com.unicorn.store.StreamLambdaHandler: java.lang.ClassNotFoundException
java.lang.ClassNotFoundException: com.unicorn.store.StreamLambdaHandler
at java.base/java.net.URLClassLoader.findClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at java.base/java.lang.Class.forName(Unknown Source)

I cannot find this class in the repository. Can you please advise on this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.