Skip to content

san99tiago/aws-fastapi-lambda

Repository files navigation

🎺 AWS CDK FASTAPI LAMBDA 🎺


Overview 🔮

This is a custom example API project deployed on AWS with the following specifications:

This project was inspired by the following videos:

The information of this repository is based on many online resources, so feel free to use it as a guide for your future projects!.

How to run this project? 💫

All projects are well commented (even over-commented sometimes for clarity).

The necessary commands to deploy/destroy the solution can be found at:

Note: please update the commands based on your needs (account, region, etc...)

AWS CDK ☁️

AWS Cloud Development Kit is an amazing open-source software development framework to programmatically define cloud-based applications with familiar languages.

My personal opinion is that you should learn about CDK when you feel comfortable with cloud-based solutions with IaC on top of AWS Cloudformation. At that moment, I suggest that if you need to enhance your architectures, it's a good moment to use these advanced approaches.

The best way to start is from the Official AWS Cloud Development Kit (AWS CDK) v2 Documentation.

Dependencies 🚦

The dependencies are explained in detail for each project, but the most important ones are Node, Python and the AWS-CDK libraries.

My advice is to primary understand the basics on how CDK works, and then, develop amazing projects with this incredible AWS tool!.

Software dependencies (based on project)

  • Visual Studio Code
    Visual Studio Code is my main code editor for high-level programming. This is not absolutely necessary, but from my experience, it gives us a great performance and outstanding extensions to level-up our software development.

  • NodeJs
    NodeJs is a JavaScript runtime built on Chrome's V8 JavaScript engine programming language. The community is amazing and lets us handle async functionalities in elegant ways. In this case, we need it for the main "CDK" library, that is built on top of NodeJS.

  • Python
    Python is an amazing dynamic programming language that allow us to work fast, with easy and powerful integration with different software solutions. We will use the Python CDK libraries.

Libraries and Package dependencies (depending on the scenario)

  • CDK CLI (Toolkit)
    To work with the CDK, it is important to install the main toolkit as a NodeJs global dependency. Then, feel free to install the specific language AWS-CDK library (for example: aws-cdk.core).

  • AWS CLI
    The AWS Command Line Interface (AWS CLI) is a unified tool to manage your AWS services. We will use it for connecting to our AWS account from the terminal (authentication and authorization towards AWS).

Special thanks 🎁

  • Thanks to all contributors of the great OpenSource projects that I am using.

Author 🎹

Santiago Garcia Arango

Curious DevOps Engineer passionate about advanced cloud-based solutions and deployments in AWS. I am convinced that today's greatest challenges must be solved by people that love what they do.

LICENSE

Copyright 2023 Santiago Garcia Arango.