I am currently using AWS services with GitHub for version control. My backend is built with Node.js, the frontend uses TypeScript, and the database is hosted on DynamoDB. I would like to create a CI/CD pipeline where the backend is deployed via Lambda and the frontend via Amplify. Could you please advise on how to set up this pipeline and whether CloudFormation is required?
You should always use CloudFormation (or terraform) to deploy infrastructure. Trying to set up interconnected infra of any complexity using the console is a fool’s game.
First and foremost, you can always remove everything you deployed, forgetting nothing. This is important if it’s you that’s paying for the resouces.
There are other benefits such as you can version control the IaC scripts in a github repo. When you make mistakes you can roll back to a previously working version. When you want to change something, you tweak the script a bit and redeploy. Only what you changed is updated without rebuilding everything, or having to scroll through loads of consoles to find the right setting.
You can probably get a starter template from your favorite LLM, then tune it/fix any bugs.