Serverless Spring: Deploy serverless functions to any platform using Spring Cloud Function

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 พ.ย. 2024

ความคิดเห็น • 47

  • @pradeepjoshi6611
    @pradeepjoshi6611 ปีที่แล้ว

    i was trying to run serverless application in AWS lambda but failing every time , but your tutorials work for me . thanks a lot

  • @EklakDangaura
    @EklakDangaura ปีที่แล้ว +1

    Short and quick with great information. Thank you .🎉

  • @tkoz-dev
    @tkoz-dev 2 ปีที่แล้ว +6

    Thanks Dan, this was super informative and will be helpful on my next project.

    • @DanVega
      @DanVega  2 ปีที่แล้ว

      Glad it was helpful!

  • @mtc539
    @mtc539 ปีที่แล้ว +8

    Hey Dan, I don't see the purpose of adding Spring Web as a dependency for a serverless function. My understanding is that functions are supposed to be short-lived programs, so deploying something to AWS Lambda which listens for HTTP requests seems counter-intuitive to me.
    Is Spring Web only needed for the internal Spring Cloud Function "magic" to happen?

  • @kappaj01
    @kappaj01 2 ปีที่แล้ว +1

    Interesting - as is and the startup time is 3.6 sec's. Much faster than my previous experience running SpringBoot as a Lambda. Really battle to get it to 23 secs. But, that was with a lot of JPA and other Spring related configuration.
    With Spring Native it is another story altogether - sub second startups!
    Will be very interesting to test this with SpringBoot 3.0 optimization.

    • @DanVega
      @DanVega  2 ปีที่แล้ว +2

      Thank you for the feedback. I will work on getting an example together using Spring Boot 3 and compiling this down to a native image. Normal execution times haven't been a huge issues, it's usually just the cold start time which again we can now greatly improve.

  • @RossieHoorn
    @RossieHoorn ปีที่แล้ว

    This is really powerfull. I am going to play with serverless spring for sure.

  • @laerciopaula1989
    @laerciopaula1989 ปีที่แล้ว

    Really nice and easy to follow tutorial! Thank you for creating it!

  • @jamesrooney931
    @jamesrooney931 10 หลายเดือนก่อน

    09:31 Create Supplier Function
    10:36 Create Consumer Function
    11:34 Test function via HTTP
    14:23 Deploying Spring Cloud functions
    15:13 Add AWS dependency
    17:09 Deploy Functions on AWS
    18:33 Create function URL on AWS

  • @shixulin4110
    @shixulin4110 ปีที่แล้ว

    thx for all your contents, really concise and helpful

  • @joseantoni034
    @joseantoni034 ปีที่แล้ว +1

    Very interesting, thanks Dan!

    • @DanVega
      @DanVega  ปีที่แล้ว

      Thank you!

  •  ปีที่แล้ว

    Great tuto. Thanks Dan!!

  • @MichalGebauer
    @MichalGebauer 2 ปีที่แล้ว +1

    Thanks Dan. I think AtomicInteger is bit misleading, considering the way how AWS scales out and kills lambda instances. Anyway, good video.

  • @light.yagami787
    @light.yagami787 ปีที่แล้ว

    Really helpful. Thank you so much

  • @sivaa12
    @sivaa12 2 ปีที่แล้ว +1

    Thank you Dan!

    • @DanVega
      @DanVega  2 ปีที่แล้ว

      Thank you for watching!

  • @DheerajSingh
    @DheerajSingh 10 หลายเดือนก่อน

    Could you please also create a video on how to call the multiple functions through the API gateway? Also, where are we set the spring.cloud.function.definition in the API gateway to dynamically route to the function.

  • @smoke86it
    @smoke86it ปีที่แล้ว +2

    Thanks Dan. This is very interesting, but it looks like that it just support GET and POST methods. Is there a way to use it in a RESTful way supporting other HTTP verbs like PUT, PATCH and DELETE ?

    • @togerait
      @togerait 4 หลายเดือนก่อน

      Hi! I have the same question, could you answer me if you have it? Thanks a lot.

  • @kismet333music
    @kismet333music ปีที่แล้ว

    This was a really awesome video, cannot stress that enough. I have used what I learned here and made my own spring cloud/lambda implementation.
    I am running into one problem though. My app deals with the client uploading a file and sending it to my spring backend. I was previously using MultipartFile in my spring boot app but now I am having trouble attempting this with the new spring cloud framework. Any chance you can do a video or a small example of how to do this?
    Thanks!

  • @thevagabond85yt
    @thevagabond85yt ปีที่แล้ว

    Dan my Man

  • @desarrollojava
    @desarrollojava 2 ปีที่แล้ว +1

    This is an exceptional announcment.
    Stil need the Dockerfile? or we'll say "look ma' no docker file!"?

    • @DanVega
      @DanVega  2 ปีที่แล้ว

      You don't need a docker file to build a serverless function in Java. Currently you can just use the maven shade plugin to create an uber jar.

  • @bwest-dev6241
    @bwest-dev6241 ปีที่แล้ว

    Hi Dan, In relation to the deployment what would we need to change if we want the lambda to be accessible by another service (AWS) or through an AWS API Gateway. Am right in assuming the approach shown here works because of the spring-cloud-web that is included in the jar?

  • @DHA508
    @DHA508 2 ปีที่แล้ว

    Thanks Dan

  • @tytech6047
    @tytech6047 ปีที่แล้ว

    Very nice 👍👍

  • @Andrey_landauuu
    @Andrey_landauuu ปีที่แล้ว

    Thanks for the tutorial. Unfortunately, after adding a db-functionality to this project (model-repository-service with spring-data-jpa + data in application.properties) in AWS Lambda I keep getting "Spring Boot Lambda Startup multiple times" error. No idea, what have i done wrong, because locally everything works just fine :(

  • @btk467
    @btk467 ปีที่แล้ว

    Nicely done. Thanks Dan.
    A little wrinkle, maybe be it is just me. I am getting "{"timestamp":"2023-10-03T03:26:30.174+00:00","status":405,"error":"Method Not Allowed","path":"/create"}"
    Anyone had this error? Any remedy?
    Thanks in advance.

    • @togerait
      @togerait 4 หลายเดือนก่อน

      you need to use POST or GET method

  • @springbootprogramming
    @springbootprogramming 2 ปีที่แล้ว +1

    Thanks!

    • @DanVega
      @DanVega  2 ปีที่แล้ว

      You bet!

  • @mshohag4229
    @mshohag4229 ปีที่แล้ว

    Thanks for creating such an awesome contant. Can you please make something serverless using jpa repository and using aws mysql.

  • @MohamedElsayed-tc5yg
    @MohamedElsayed-tc5yg ปีที่แล้ว

    Thank you

    • @DanVega
      @DanVega  ปีที่แล้ว

      You're welcome

  • @orhn
    @orhn 2 ปีที่แล้ว +1

    What if we want to pass path param/query param or body?

    • @DanVega
      @DanVega  2 ปีที่แล้ว

      I'm not sure if you can but also not sure why you would want to? If you're sending data as part of post request you should be sending it via request body.

    • @orhn
      @orhn 2 ปีที่แล้ว

      @@DanVega Ah you mean parsing the body as json right? That make sense

    • @sagarbhat3884
      @sagarbhat3884 2 ปีที่แล้ว +1

      @@DanVega But what if we want to pass a query or path param for a GET transaction? How can we achieve that using Spring Cloud Functions.

    • @kismet333music
      @kismet333music ปีที่แล้ว

      @@sagarbhat3884 I ran into this problem too. I wasn't sure what to do but I just ended up changing my method to a POST and adding the path param as the body.

  • @guangweizhang2814
    @guangweizhang2814 10 หลายเดือนก่อน

    Mark: In 2024-01-31, no more "spring_cloud_function_definition", please use "spring.cloud.function.definition"

  • @aaajojoaaa
    @aaajojoaaa ปีที่แล้ว

    I tried to do the same thing as when you did here , but I got this exception: Class not found: org.springframework.cloud.function.adapter.aws.FunctionInvoker: java.lang.ClassNotFoundException
    java.lang.ClassNotFoundException: org.springframework.cloud.function.adapter.aws.FunctionInvoker. Current classpath: file:/var/task/

    • @aaajojoaaa
      @aaajojoaaa ปีที่แล้ว

      I don't know how to fix it

  • @KyleTran-ek5nb
    @KyleTran-ek5nb ปีที่แล้ว

    Hi Dan, thanks for the video; it is very well done. I'm running into the issue with calling my lambda function, even though I have "spring.cloud.function.definition": "create" in my header. The logs show an NPE at org.springframework.cloud.function.adapter.aws.AWSLambdaUtils.generateMessage(AWSLambdaUtils.java:127)

    • @DheerajSingh
      @DheerajSingh 10 หลายเดือนก่อน

      Did you find any solution to this? Now, I am facing a similar issue