Simple Serverless FastAPI with AWS Lambda

Поділитися
Вставка
  • Опубліковано 19 сер 2024

КОМЕНТАРІ • 94

  • @sahilchhugh2974
    @sahilchhugh2974 3 роки тому +5

    Happiness - Finding such quality content.
    Sadness - Last uploaded video was 3 months ago.

    • @deadbearcode
      @deadbearcode  3 роки тому

      Lol, sorry! I'm working on making more videos. I have been busy with work lately. But I'm working on it! Thanks for watching!

  • @BilalAhmed-nt9gi
    @BilalAhmed-nt9gi 3 роки тому +6

    When this video started I was about to skip it I thought it's Ad. The Quality is just super super great (Y) Thanks man

    • @deadbearcode
      @deadbearcode  3 роки тому +1

      Man that's awesome! Thanks so much for the support!

    • @sanjeethflautist
      @sanjeethflautist 3 роки тому +1

      Completely agree... one making video would be good.. so that we can learn how to create good content

    • @deadbearcode
      @deadbearcode  3 роки тому +1

      I could be open to that 🤔 Maybe on a different channel.

  • @BilalAhmed-nt9gi
    @BilalAhmed-nt9gi 3 роки тому +2

    I usually don't subscrib to youtube... and here just subscribed in first 20 - 30 seconds.

  • @JoshPeak
    @JoshPeak 2 роки тому +1

    Hey this tutorial got me up and running using the new Lambda Function URLs so I could skip the API Gateway section. Love how I can test locally and same code deploys to the cloud. Legend!

  • @pmsoltani
    @pmsoltani 3 роки тому +1

    I've just created my AWS account and had absolutely no idea how to navigate the console. Your tutorial saved my day (or week). BTW... the video quality is 😎🚀

    • @deadbearcode
      @deadbearcode  3 роки тому

      So glad to hear! The console is definitely a little overwhelming at first lol. Thanks!

  • @waqaskhalidobeidy2673
    @waqaskhalidobeidy2673 3 роки тому +4

    This was a great walkthrough of FastAPI and AWS Lambda integration. Loved it. Congrats you have just earned a new subscriber!

    • @deadbearcode
      @deadbearcode  3 роки тому

      Glad you liked it! Thanks for subscribing!

  • @pratikkotian1729
    @pratikkotian1729 3 роки тому +2

    This is a really super fun and simple AWS Lambda with Python and FastAPI tutorial. Thanks Man :D

    • @deadbearcode
      @deadbearcode  3 роки тому

      Awesome glad you enjoyed it! Thanks for wstching :)

  • @RayTawil-en1ws
    @RayTawil-en1ws Рік тому

    Fantastic video! You did a fantastic job making it followable quickly without too much details but while at the same time helping the viewer understand what each step is doing. I forward this video to every person I need to get ramped up on deploying FastAPI to Lambda!

  • @jackrorystaunton4557
    @jackrorystaunton4557 3 роки тому +2

    awesome! very helpful info on that apirouter for keeping things organized/scalable

  • @WellLairyDrift
    @WellLairyDrift 3 роки тому +3

    Great tutorial! Got me up and running as a total AWS noob in a couple of hours. Well done!

    • @deadbearcode
      @deadbearcode  3 роки тому +1

      Thank you! AWS can be pretty overwhelming at times so i’m happy to hear it helped!

  • @jugsma6676
    @jugsma6676 3 роки тому +1

    I am waiting for another series when the application connects with the database from AWS lambda, hope to see that soon.
    And, btw this video is great, liked.

    • @deadbearcode
      @deadbearcode  3 роки тому +1

      Hey thanks for watching and the like! I have one like that in the works!

  • @ramil17998
    @ramil17998 3 роки тому +4

    That was a really good tutorial, thanks for that! Would be cool to see how the process of updating the api would look like (from some local change to redeploy). Good job!

    • @deadbearcode
      @deadbearcode  3 роки тому

      Heres a walkthrough of setting up a cicd pipeline for it! ua-cam.com/video/aTYhOTBK2kE/v-deo.html

    • @ramil17998
      @ramil17998 3 роки тому +1

      @@deadbearcode reading my mind! That's a subscribe sir :)

    • @deadbearcode
      @deadbearcode  3 роки тому

      Awesome!

  • @draytond
    @draytond 3 роки тому +1

    Superb tutorial. Looking forward to more high quality videos. Cheers!

    • @deadbearcode
      @deadbearcode  3 роки тому

      Thanks! I’m Working on some more stuff!

  • @maximussnow
    @maximussnow 3 роки тому +2

    This is Great ! Do share some FastAPI tutorials

    • @deadbearcode
      @deadbearcode  3 роки тому +1

      Awesome glad you liked it! I’m planning on it!

  • @jonmonts7412
    @jonmonts7412 3 роки тому +1

    Great tutorial and video production quality. Hope to see more from you.

  • @csvidzz
    @csvidzz 3 роки тому +2

    Quality content!
    Keep it up bro

  • @ThePirateHistory
    @ThePirateHistory 3 роки тому

    Despite that this is about Serverless, this is the best intodaction in fastapi that I have seen, everything is adequate, structuring, clearly, tell me where to read about such structurization? and it would not be necessary to make endpoints, folders for user, and there let's make the endpoints file and then collect everything in the endpoints file? Well, let's say user can have models, and so on!

  • @ajaybharti6847
    @ajaybharti6847 2 роки тому +1

    Loved your tutorial!

  • @abhijeetbedagkar3143
    @abhijeetbedagkar3143 2 роки тому +2

    What are the benefits / challenges of running another web framework inside lambda to handle routing vs when routing could be achieved through api gateway

  • @kuntiechan
    @kuntiechan Рік тому

    very detailed and easy to follow. thank you!

  • @Cal97g
    @Cal97g 3 роки тому +1

    Underrated content

  • @bazzinga204
    @bazzinga204 3 роки тому +2

    This is absolutely brilliant! Subscribed for more :D

  • @shashwatrathod1342
    @shashwatrathod1342 3 роки тому +1

    Thank you so much! Great video.

  • @gopietz
    @gopietz 2 роки тому +2

    Whats the advantage of using Lambda with FastAPI instead of defining endpoints in Python directly within Lambda?

  • @sharifahmed1925
    @sharifahmed1925 3 роки тому +1

    Great tutorial! Thank you!
    Please can you create more tutorials for FastAPI :)

  • @nabillahssini
    @nabillahssini 2 роки тому

    Thank you so much, you are amazing !

  • @sntshkmr60
    @sntshkmr60 2 роки тому +4

    Hi Sean, very nice tutorial. I have been looking up the internet on how to run my Flask/FastAPI application on Lambda lately and this tutorial clears many doubts.
    Until now, it's clear that I don't need multiple Lambdas to map to each endpoint of my API server. Still, I have couple doubts still in my mind related to Serverless/Lambda and FastAPI. I'll go ahead and ask it out.
    1. Lambda responds to the endpoint it receives. Is the FastAPI server always running in the background? Or does it starts every time the function is invoked?
    2. How does Lambda in this case handles global state? This question again is where Lambda always keeps running the FastAPI server or starts when invoked.

    • @user-hn1cy5ee5l
      @user-hn1cy5ee5l 2 роки тому

      It's just invoking a handler, lambda doesn't start uvicorn and mangum is needed to convert incoming "event" from lambda to something FastApi can understand

  • @snap-reviewsdotcom
    @snap-reviewsdotcom 9 місяців тому

    Great tutorial thanks. But what about the 30sec and 6MB data limit for a Lambda function? If you have long-running functions or need to return huge datasets, this won't work, right? To solve the 6MB limit you'd have to implement streaming using AWS Lambda Streaming (Lambda InvokeWithResponseStream API) using the Lambda Web Adapter. That would be a good tutorial!

  • @johnboscor
    @johnboscor Рік тому +1

    /docs link doesn't work when deployed through api gateway. Any solutions for that?

  • @TheDiscoMole
    @TheDiscoMole 3 роки тому +4

    Nice vid, but what is the point of FastAPI, doesnt the lambda spin up for each route request? Making it essentially synchronous?

  • @sarahasad8707
    @sarahasad8707 3 роки тому

    Well described.

  • @cristian-bull
    @cristian-bull 3 роки тому +1

    You saved my ass. Thank you sir

  • @climentea
    @climentea 3 роки тому +1

    It's less hassle with AWS Chalice framework

  • @ko-Daegu
    @ko-Daegu 3 роки тому

    5:58 the routers reminds me with flask blueprints

  • @manoelramon8283
    @manoelramon8283 Рік тому

    now comes the question... for real and high scalable application, would you really link your API gateway with a lambda considering the cost will be way higher than running uvicorn in a regular ECS or EC2?

  • @ko-Daegu
    @ko-Daegu 3 роки тому +2

    At the end of the tutorial is really great but would be a bit better if you show us why are you doing what you are doing basically specially for those who’s new to Amazon AWS in general but I guess you assuming someone who knows enough Ans just want things up Ans running maybe

    • @deadbearcode
      @deadbearcode  3 роки тому +1

      Thanks for the watch. The big benefit is the savings on cost. With Lambdas you only pay for each request instead of paying for having an EC2 instance constantly running.

    • @snap-reviewsdotcom
      @snap-reviewsdotcom 9 місяців тому

      @@deadbearcode but Lambda functions have 2 restrictions: 30 second timeout and a 6MB data return limit. So this solution doesn't work for all use cases.

  • @demianpelos
    @demianpelos 3 місяці тому

    Isn't the point of lambdas server less that you don't need flask or fastapi? Is so you can develop locally in fast API and then deploy into lambdas? And Why do we need gateway? (Most of the time we do the app. Put Into a docker container and ecr) Super thanks for this tutorial :) the other way I have done is not a fast API is just a file with a function and I pointed the handler of lambda to that file/function inside the ZIP file

  • @drich188
    @drich188 Рік тому

    Can you comment on the costs this type of deployment incurs? If I leave a connection open or am waiting for a backend function to return, am I gonna have a big bill waiting? Lambda is all about quick, small invocations right? Is there a safety measure worked in that addresses this?

  • @abulfahadsohail466
    @abulfahadsohail466 Рік тому

    Please anyone have idea while testing the fastapi on aws lambda I am getting module not found due to tkinter.?

  • @prateeksrivastava7877
    @prateeksrivastava7877 Рік тому

    Cool Video, thanks a lot, just want to know if we update our code, then do we need to follow all the steps from zip till upload?

  • @vagifk2864
    @vagifk2864 2 роки тому

    I have seen that they were puting uri routes inside of API gateway... here we used only one, defining routes within Lambda, just wandering which way is better?

  • @therocketmanprince682
    @therocketmanprince682 3 роки тому

    Nice video . upload more videos please

  • @nikhilk8454
    @nikhilk8454 3 роки тому

    Good tutorial. But
    Rest API has a time out of 30 seconds. What should I do if my lambda takes more than 30 seconds to fetch some data like read data from a huge dynamodb table.
    Lambda has 15 min timeout but the api will timeout.
    How do we fix this. Please create a tutorial for this scenario.

  • @firdousbhat3339
    @firdousbhat3339 2 роки тому

    The actual lambda implementation starts at 8:08

  • @wesleyong2970
    @wesleyong2970 2 роки тому

    I have quite many libraries in my python venv. As such my zip file exceeds the lambda deployment size limit :( Any workaround for this?

  • @bindera_zlaya_nata
    @bindera_zlaya_nata 3 роки тому

    How it will work when 2 simultaneous requests arrived ? Any benefits from async/await and eventloop ?

  • @samarthhadawale4905
    @samarthhadawale4905 3 роки тому +1

    Thank you so much for this awesome tutorial! I just had one question. Suppose I'm trying to get the data from my dynamoDB table using this FastAPI-Lambda function. What should I do next? Instead of receiving just the messages, I would like to invoke the data.

    • @deadbearcode
      @deadbearcode  3 роки тому +1

      Glad you liked it! There is a great AWS SDK for Python called Boto3. You can use Boto3 to interact with just about any AWS resource with Python.
      Here is an AWS walkthrough:
      docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.Python.html
      and here are the Boto3 docs:
      boto3.amazonaws.com/v1/documentation/api/latest/index.html

    • @samarthhadawale4905
      @samarthhadawale4905 3 роки тому +1

      @@deadbearcode Thank you so much for your help man! God bless you.

  • @tech4028
    @tech4028 3 роки тому +1

    Thank you! Really nice that you're using tools like FastAPI.
    I'd like to see how to deploy a python selenium script (web scraper) on AWS Lambda. I really want to schedule my python (selenium) scripts but don't know how. Also, cron jobs somehow don't work for me on my own MacOS and I'd like to deploy on it on a remote server.
    I'd really love to see that. Keep the good work up!
    PS: Is there a way for under 18 y/o to get access to AWS?

    • @deadbearcode
      @deadbearcode  3 роки тому

      That's an interesting one! I haven't messed with Selenium much I may have to look into it. Lambdas are great for cron jobs you can pretty easily configure them to run when you want.

  • @abdulrafay1951
    @abdulrafay1951 2 роки тому

    That was quick, just a question.
    Lambda vs Nginx and PM2
    Does it matter on which platform we want to host? Like is there could be any speed differences or anything else?

  • @KG-dg4gt
    @KG-dg4gt 2 роки тому

    POST Method is Forbidden 403!!

  • @ghlim592
    @ghlim592 2 роки тому

    hi thanks for sharing good tutorial
    can I ask one thing?
    "errorMessage": "Unable to import module 'app.main': No module named 'fastapi'",
    "errorType": "Runtime.ImportModuleError",
    "stackTrace": []
    I have this error message after I run the proxy test.
    how can I solve it?

  • @sanfilmstudio
    @sanfilmstudio 3 роки тому

    Whythere are so much folders such as api/api_v1/blabla?
    It's a rare case IRL, it may confuse the beginners.

  • @TeaSpoon2008
    @TeaSpoon2008 2 роки тому

    How do you see the logs once you app is up on a lambda?

  • @dbelliston
    @dbelliston 3 роки тому +1

    great stuff - curious if you looked into getting .zip size smaller? - its hitting about 10MB for me :(

    • @deadbearcode
      @deadbearcode  3 роки тому

      No, I haven't been able to look into that yet. Let me know if you figure something out! Is there a particular issue you're running into with the file size?

    • @JordanCote
      @JordanCote 3 роки тому

      Mine is hitting 30MB without much other dependencies

  • @mchirag82
    @mchirag82 3 роки тому

    Hey!
    I am not able to access the fastapi docs using this method. It says
    fetcherror "undefined/openapi.json"
    How can I enable that?

    • @johnboscor
      @johnboscor Рік тому

      Were you able to figure this out? I am still strugging to find a solution

  • @technicolourmyles
    @technicolourmyles 3 роки тому +1

    Is that your dog whimpering in the background?

    • @deadbearcode
      @deadbearcode  3 роки тому +1

      Haha! Yeah he was a puppy at the time. Although he still whimpers

  • @zameerahmed1775
    @zameerahmed1775 Рік тому

    The music is irritating .... it distracts our attention.