No video

Deploy a SpringBoot 3 API on AWS Lambda in 10 minutes

  Рет қаралды 8,233

James Eastham

James Eastham

Күн бұрын

SpringBoot is the most widely used application framework in Java, but did you know you can your SpringBoot 3 applications built with Java 21 on AWS Lambda in under 10 minutes.
In this video you will dive into taking a brand new SpringBoot 3 API and deploying that to AWS Lambda in under 10 minutes. Then, you will enable Lambda SnapStart to improve the performance of your SpringBoot Lambda functions at startup.
00:00 - Introduction
00:30 - Create a new SpringBoot API
01:10 - The Serverless Java Container
02:10 - Add LambdaHandler class
04:50 - Add a Controller
05:10 - Add an AWS SAM Template
06:40 - Deploy with AWS SAM
Links
AWS Serverless Java Container - github.com/awslabs/aws-server...
AWS Lambda - aws.amazon.com/lambda/
AWS SAM - aws.amazon.com/serverless/sam/
Lambda SnapStart - docs.aws.amazon.com/lambda/la...
SpringBoot on Lambda Playlist - • Deploy a SpringBoot AP...
Web - jameseastham.co.uk
Twitter - / plantpowerjames
LinkedIn - / james-eastham

Пікірлер: 47
@woper522
@woper522 6 ай бұрын
Hey James!... I just subscribed, please keep sharing your knowledge in this kind of videos... really concise and easy to understand!.
@serverlessjames
@serverlessjames 6 ай бұрын
It's comments like this that keep me creating content, so thankyou ♥️
@JohnBrosan
@JohnBrosan Ай бұрын
Hi James, this is exactly what I needed as well. Your tutorial really simplifies everything! Thank you again, and I subbed!
@oscar8500
@oscar8500 8 ай бұрын
I really enjoy your videos! In every video I learn bits and bits that leads me to be better!
@serverlessjames
@serverlessjames 8 ай бұрын
Glad to hear it ♥️
@lesedi44
@lesedi44 8 ай бұрын
This is exactly the type of content I need right now. I am a little under a month with AWS and the only thing I am struggling with is connecting all the services together. Things like having a EC2 instances in private and public subnets and connecting them together. Also architecture design. I understand your mainly a severless Java channel, so I'll probably have to figure it out some other way if you can't do it.
@serverlessjames
@serverlessjames 8 ай бұрын
Glad to hear it. Yeah, the content is mainly serverless. One reason being you don't need to worry about EC2 instances and subnets. Is there any other content you'd like to see that would be helpful to your journey?
@rocketbob
@rocketbob 5 ай бұрын
Hi James thanks for putting this video together. For me the next steps are to learn how to do local debugging using SAM, adding authorizers, and deploying with stages thru pipelines. Looking for more tutorials on how to do these things.
@serverlessjames
@serverlessjames 5 ай бұрын
That's good to hear, I can add this to my backlog.
@jhcao23
@jhcao23 4 ай бұрын
will the "serverless-java-container" gracefully handle DB connection (pool) without using AWS RDS Proxy?
@manrique.varela
@manrique.varela 8 ай бұрын
I liked the unedited parts of the video 😄
@serverlessjames
@serverlessjames 8 ай бұрын
Wait, what? 😂 I'm still a little jet lagged. Where exactly are the unedited parts?
@manrique.varela
@manrique.varela 8 ай бұрын
@@serverlessjames I guess you changed the video, I watch a 20 minutes long video
@serverlessjames
@serverlessjames 8 ай бұрын
I trimmed it down, thanks for pointing it out 😀😀
@cristianomuniz7
@cristianomuniz7 8 ай бұрын
Please make another one explaining how I could add multiple routes!
@serverlessjames
@serverlessjames 8 ай бұрын
Sure, I can do that. But it's as simple as defining Spring routes in the same way you always would with Spring ☺️ any tutorial on the internet talking about Spring would work. I'd highly recommend Dan Vega's Spring tutorial as a starting point.
@emmanuelU17
@emmanuelU17 8 ай бұрын
Love the content. Can you make a demo video but deploying this app as a GraalVM native image? If possible setting up a pipeline since we would have to use a custom runtime.
@serverlessjames
@serverlessjames 8 ай бұрын
Yeah absolutely. GraalVM has been on my list to look into for a little while now anyway 👌☺️
@pavanmadiraju
@pavanmadiraju 7 ай бұрын
Is there code to create the subnets and VPC's, instead of going thro the prompts and creating them? Looking forward to see how you have configured VpcConfig section. Do we need to setup networking outside this example or the SAM prompts create the required networking also?
@serverlessjames
@serverlessjames 7 ай бұрын
So this code doesn't actually interact with any VPC resources, so it isn't covered here. Typically I would recommend creating your network resources separate from your application stack. And then you'd specify the subnets and security group ID as part of your SAM template in the VPCConfig section.
@HayleighYoung
@HayleighYoung 5 ай бұрын
Hi James! Thank you for the video, I was curious if you could help me troubleshoot here, I am not getting the outputs to appear but the deployment says it was succesful i just do not know how i am supposed to verify this being the case without seeing the outputs, any advice welcome! Thank you!
@serverlessjames
@serverlessjames 5 ай бұрын
Interesting. Could you send me a link to the code sample you've used to deploy? On social media if that's easier.
@AlexSmirnou
@AlexSmirnou 3 ай бұрын
Hey James, great tutorial.. is it working only with ApiGw? Can that lambda be invoked based on SQS Message?
@serverlessjames
@serverlessjames 3 ай бұрын
Yes, absolutely. I'm going to revisit Java + Lambda at some point in the near future. Watch this space ☺️
@buma1306
@buma1306 6 ай бұрын
Dear James, thx a lot for that video. Very helpful indeed. 👌May I ask for a big favor? 🙏🏼Would it be possible for you to lay out a springboot3 app in lambda with an api gw in front of it which does session handling in redis and maybe stores a simple object in a relational database - something like Postgres - and for the infrastructure as code I would love to see the usage of cdk instead of sam. Do you think that would be possible? Thx a lot in advance. If not in a complete video maybe some guides, hints or further links would also be highly appreciated. Regards, Mario 🎉
@serverlessjames
@serverlessjames 6 ай бұрын
I can definitely add it to my video backlog ☺️ I've got quite a lot lined up now though so it might be a few weeks. It's a great suggestion for a video though.
@user-re1wo1xi8m
@user-re1wo1xi8m 7 ай бұрын
Hi James, good video! I am hung up on getting the code for the first part of the template.yaml file(First 13 lines). Can you provide the code to the template.yaml file for this video? (Or just the first 13 lines?) Thanks so much!
@serverlessjames
@serverlessjames 7 ай бұрын
If you run a 'sam init' command and go through the quick start wizard, select Java21 and that will give you an example 👍☺️
@user-re1wo1xi8m
@user-re1wo1xi8m 7 ай бұрын
@@serverlessjames Thank you for that!
@SujeetKumar-hh5jz
@SujeetKumar-hh5jz 4 ай бұрын
hey @serverlessjames Thanks a lot for this tutorial i have implemented a similar this in my company just have a doubt in this , Does this support multipart file also in controller for ex( @RequestPart(value = "zipFile", required = true) MultipartFile zipFile) will this work if i add this controller and call using serverless lambda . Waiting for your reply i am stuck in this for 1 week now .
@serverlessjames
@serverlessjames 4 ай бұрын
That's a great question that I don't actually know the answer to. I think you'd have to make some changes in API Gateway to allow the different content type. But I see no reason why it wouldn't work
@SujeetKumar-hh5jz
@SujeetKumar-hh5jz 4 ай бұрын
@@serverlessjames it worked, I had to add multipart/form-data in api gateway setting media type .
@serverlessjames
@serverlessjames 4 ай бұрын
@@SujeetKumar-hh5jz Thanks for letting me know :)
@mumbaimuru
@mumbaimuru 5 ай бұрын
Can you please share your github URL for this demo code?
@serverlessjames
@serverlessjames 5 ай бұрын
That's a good question, I thought I had put it in the description. Give me a few days.
@mumbaimuru
@mumbaimuru 4 ай бұрын
@@serverlessjames waiting for you...
@irrationalPie
@irrationalPie 4 ай бұрын
@@serverlessjames Still waiting. You should at least show the entire template.yml in the video
@kunalsaha8711
@kunalsaha8711 6 ай бұрын
I believe you are using API Gateway infront of your Lambda to recieve the request and proxy the request. Is there a way we can implement a handler class which does not use API Gateway? I want to invoke my springboot controller method directly from my handler class without proxying the request.
@serverlessjames
@serverlessjames 6 ай бұрын
If you were going to do that you probably wouldn't need Spring boot at all?
@kunalsaha8711
@kunalsaha8711 6 ай бұрын
@@serverlessjames I would need SpringBoot as I am building a REST API which resides in my lambda function.
@serverlessjames
@serverlessjames 6 ай бұрын
You could use Lambda function URLs as an alternative to API gateway
@bitsforbits6581
@bitsforbits6581 2 ай бұрын
is aws lambda free, asking as a student for self learning
@serverlessjames
@serverlessjames 2 ай бұрын
There is a very generous free tier yes. Throughout all the KZfaq content and demos I've ever created I've never paid a penny for Lambda compute "The AWS Lambda free tier includes one million free requests per month and 400,000 GB-seconds of compute time per month," - aws.amazon.com/lambda/pricing/
@bitsforbits6581
@bitsforbits6581 2 ай бұрын
@@serverlessjames thanku so much for clarifying this
@AwkwardFX
@AwkwardFX 2 ай бұрын
Why would anyone deploy Spring Boot in AWS Lambda? What's the ideal use case for this?
@serverlessjames
@serverlessjames 2 ай бұрын
Running web applications in a way that scales up and down automatically based on user traffic and you only pay for what you use.
@RAZR_Channel
@RAZR_Channel 3 ай бұрын
Shut up with Double Down CTA : it's 2024 and we know what to do... so get to the point and : Earn it...
Deploy a SpringBoot API on AWS Lambda in 10 minutes
12:16
James Eastham
Рет қаралды 31 М.
D3 LiXiang L6 Машина Года 2025?
15:14
smotraTV
Рет қаралды 120 М.
ПОМОГЛА НАЗЫВАЕТСЯ😂
00:20
Chapitosiki
Рет қаралды 3,5 МЛН
Я не голоден
01:00
К-Media
Рет қаралды 8 МЛН
НЫСАНА КОНЦЕРТ 2024
2:26:34
Нысана театры
Рет қаралды 1,6 МЛН
Атака ВСУ на Курскую область: что происходит?
24:16
BBC News - Русская служба
Рет қаралды 919 М.
This AI Agent with RAG Manages MY LIFE
10:52
Cole Medin
Рет қаралды 2,6 М.
Почему 08.08.2024  - день, который нельзя пропустить | Нумеролог
21:37
Нумеролог Андрей Ткаленко
Рет қаралды 642 М.
Major Bank *JUST NOW* FREAKING OUT | Collapse Warning.
23:27
Meet Kevin
Рет қаралды 51 М.
AWS Lambda SnapStart for Spring Developers
12:13
Dan Vega
Рет қаралды 7 М.
ПОМОГЛА НАЗЫВАЕТСЯ😂
00:20
Chapitosiki
Рет қаралды 3,5 МЛН