Since joining fourTheorem earlier this year I’ve worked with AWS and the Serverless framework a lot, here are some of the best learning resources I’ve found:
Serverless Stack
Serverless Stack’s guide to the Serverless Framework is a comprehensive and well laid out resource on setting up a project.
The guide details how to set up a fullstack note-taking webapp using Lambda, DynamoDB, Cognito, Amplify, and S3. The project uses React, but the important bits are explained clearly enough to be followed along with any frontend framework. The guide even sets up a billing system with the Stripe API, making it a great way to prototype a potential business project very quickly.
Serverless Stack also provides fantastic standalone pages that explain some of the more confusing ideas in serverless applications, like IAM Roles, Cognito user and identity pools, and stages.
Complete Coding
There’s not much to say here except that Complete Coding has the best Serverless AWS tutorials on the internet.
The videos are concise, use best practices, and usually come with a git repo in the description which is very helpful. Complete coding is always the first place I go to when I need to refresh my understanding of anything AWS or Serverless.
SLIC Starter
SLIC Starter is a checklist application that can be used to bootstrap any serverless project.
While Serverless Stack’s guide sets up some services such as cognito through the AWS console, SLIC is configured entirely by code. By using this “Infrastructure-as-Code” approach, the project can easily be version controlled, deleted, or deployed on another AWS account.
I find that SLIC is a great resource for seeing how certain best practices should be done in a serverless way:
- Define resources as code (not in the console)
- Separate resources and functions
- Build systems from smaller loosely coupled services
- Fully automate the CICD pipeline
SLIC starter was created by the team at fourTheorem and it’s open source so contributions are welcome by everyone!
Get in touch to share your thoughts.