Our serverless superhero this week is Pete Naylor, solutions architect at Momento and all-around smart guy. Pete spent years on the DynamoDB team, where he helped hundreds, if not thousands, of people learn about NoSQL data modeling and optimization. He’s helped me dozens of times and always tells me something about DynamoDB that blows my mind. Thank you, Pete, for everything you do for the community!
In response to recent conversations about getting started with a new serverless app, Andres Moreno published an article about how he speeds up app dev with customized SAM templates. He walks through the different commands you can use with SAM to initialize a project and how you can extend them to fit your needs.
Testing is often a heated debate in the serverless world. There are many ways you can do it, but some people opt to omit it entirely. When it comes to Lambda though, there’s a good opportunity for standardization. Efi Merdler-Kravitz recently released a free workshop on Lambda testing in Python that takes you through a creative scenario as it teaches you best practices. He covers unit testing, mocking AWS services, and how to use SAM to test locally.
Last week I posed a question on Twitter asking if anyone knew how to set up an AWS Amplify project with Cognito federated to Google as an IdP (wow that was a mouthful). Not only did I get some helpful answers, but Michael Liendo went so far as to create an entire working example on how to do it. If that’s not dedicated DA work, I don’t know what is! Thanks Michael!
Lizzie Hard wrote about optimizing AWS Step Functions on the Lego Engineering blog recently. She reminds us about the wonderful capabilities of the service like direct integrations, parallel processing, and conditional logic to make your workflows fast, efficient, and able to handle even the most complex scenarios.
Step Functions now integrates directly with Lambda CloudWatch logs when looking at an execution. This makes troubleshooting faster and easier by keeping you on the same page instead of jumping around tabs. Great DX improvement!
What’s one of the big differences between your POC and production-ready software? How you handle errors. Jeff Chen and Jeff Li from AWS wrote a great article on three error-handling patterns with Lambda. They talk about poll-based invocations, DLQs, and Lambda destinations. The Jeffs tell us why one would be preferable over another and offer code samples of each pattern to get you started.
Lars Jacobsson is an innovator solving the hardest DX problems we have in serverless development. Last week he released support for local debugging of functions in the cloud - including breakpoints! WOW.
⚡️samp-cli (successor to sam-patterns-cli™) now lets you debug your #aws #lambda functions locally, triggered by real #cloud events and run with the same permissions as in the ☁️— Lars (@lajacobsson) July 4, 2023
$ samp local --debug
<invoke function trigger>
Summer is on and the hackathons are here! If you’re looking for a fun summer project, consider participating in the Hashnode and Amplify hackathon running the entire month of July. That’s where I’m spending my free time!