#03 The Serverless Community
This week we have more great insights from Benjamen Pyle, we spotlight Allen Helton and Khawaja Shams for all they do, tips and tricks, the latest articles and serverless news, and much more!
Welcome
In last week’s newsletter, we discussed the countdown to Re:Invent, and some of the tips for surviving it if you are going in person! We also had some amazing insights from Luciano Mammino, our Serverless expert of the week, and ran a poll on the most used IaC frameworks people are using (results below).
This week we have more great insights from Benjamen Pyle, we spotlight Allen Helton and Khawaja Shams for all they do for our community, tips and tricks, the latest articles and serverless news, and much more!
📰 Articles that caught the eye
Firstly, I published my latest article this week called:
Deterministic API Test Harness for AWS Step Function e2e tests
“How to build an API test harness for AWS Step Functions to produce a deterministic hermetic environment for e2e testing, using Jest and Typescript with the AWS CDK.”
Other articles from the community this week are:
Daniele Frasca covers “This stranger EventBus Mesh” in this great article.
Maurice Borgmeier discusses “How to accidentally create read-only DynamoDB items”.
An interesting article from Marco Troisi on “How to Fix Serverless Vendor Lock-In”.
Allen Helton created a great article on scaling community growth with code.
Matt Martz covers The "Backend For Frontend" (BFF) Pattern using the AWS CDK.
An interesting article from AWS titled ‘Reinvent personalization with generative AI on Amazon Bedrock using task decomposition for agentic workflows’.
🚀 New Releases
AWS Cost Management now provides purchase recommendations for Amazon DynamoDB reserved capacity.
Amazon S3 Express One Zone now supports AWS-KMS with customer managed keys.
AWS Chatbot now allows you to interact with Amazon Bedrock agents from Microsoft Teams and Slack.
Amazon Redshift Serverless now supports higher base capacity of 1024 Redshift Processing Units.
Amazon Cognito user pools now offer email as a multi-factor authentication (MFA) option.
Amazon Bedrock Knowledge Bases now supports cross-region inference.
Amazon CloudWatch Synthetics now supports canary tag replication to associated AWS Lambda resource.
🎓 Ask the Expert
Each week I ask a different expert the same three questions to get their personal insights - this week we have Benjamen Pyle:
1. What is one common mistake you see teams making when implementing serverless solutions, and how can they avoid it?
Delaying the adoption of solid observability. Serverless solutions are often event-driven solutions that encourage nano-sized components which are purpose-built and easy to modify and enhance. This natural deconstruction then creates a difficult to manage request chain that as user or system volume increases, tracking performance, errors, and user experience becomes difficult.
Teams that decide early to instrument their code so that they can observe its operational profile in production are more prepared to respond to issues and even predict when to invest in refactors or a change in architectural approach. I find this to be common in both early serverless adopters in addition to teams that have been doing serverless for quite some time. And while tooling matters, it often boils down to culture.
2. Which serverless tool or service are you most excited about right now, and why?
I'm most excited about Momento and the caching solutions they are providing and here's why. Cloud providers greatest delivery to builders over the past 10 years is the hardware, software, and collective computing power that serve as building blocks for developers to take advantage of. Leveraging a cache can greatly reduce load on resource constrained systems and help slow the cost of other consumption-based costs like querying DynamoDB.
Momento has built a service that is possible because of the cloud infrastructure underneath it and has abstracted away the complexity of caching to nothing more than using an SDK in a language of your choice. Momento has something that is highly performant, easy to use, purely serverless, and most importantly for leaders, is cost effective.
3. What is your favourite trick or tip when working with serverless that the readers may find interesting?
I've been coding for over 30 years at this point which means that I started when the internet was very early in its existence. All that to say I love building and testing code locally. This can be difficult to do when your code is cloud native. My tip is then to take advantage of some of the wonderful emulators that allow you to work almost entirely local and then migrate your code up to the cloud when you are ready. My tool of choice is Localstack. I can emulate many different AWS services, test my code with them, and even test the events that fire between different parts of my solution. This also becomes super powerful when you don't have the necessary permissions to fully deploy your stacks in AWS without a proper pipeline. Local emulation is a tip that will accelerate your workflow and give you some more insight into how things are working in the cloud.
💡 Quick Hints & Tips
Each week I share quick hints or tips based on things I notice in day-to-day engineering life:
[Tip 1] Did you know the AWS CDK has lifecycle hooks for postDeploy, postDestroy, preDeploy and preDestroy that you can use in your solutions?
[Tip 2] Did you know when using zsh terminal, you can type … for going up two directories instead of cd ../../
🎙️ YouTube & Podcasts
Sheen Brisals was on the Believe in Serverless live stream covering why serverless is for everyone.
James Eastham covered Serverless Persistence with Cloudflare D1 & Rust.
Episode 10 of the Believe in Serverless podcast covered what happened in the past week, with James and Khawaja.
Theo covered “We stopped using serverless. The results are insane”, and I believe we must share all opinions in the industry, even if the title is a bit click-baity and not entirely true.
✖️ Tweet of the Week
I loved this original tweet from Kelsey Hightower and the various re-tweets and the comments that came off the back of it (including this one from Jean-Michel Plourde):
OK, so the numbers will vary for most people and not necessarily 10%, but as an engineer, this really resonated with me, as I spend a lot of my time understanding the problem we are going to resolve, discussing how we are going to build or amend a solution, speaking to the customer requesting the change, actually removing code, presenting new ideas to the team etc.
I don’t believe for one minute Kelsey was suggesting waterfall approaches or large upfront design, but there is certainly more to resolving a problem than just starting to type code.
What does your day look like currently as an engineer and how do you approach resolving customer needs?
🗳️ Poll of the Week
Firstly, last week’s poll results were in, and most people, it seems, are using the AWS CDK (55% of responses), followed by Terraform (19%), and then leaving an equal remaining split of the Serverless Framework, AWS SAM and SST. This was honestly my gut feeling from working with many different teams across many organisations over the past 2-3 years.
This week we ask the question “What is the prominent language that you build your serverless solutions with?“
Feel free to add in the comments why you answered the way you did!
🗣️ Inspirational Quotes and Thoughts
I thought long and hard about how I am feeling right now about my positive approach to life day to day, and trying to keep that constant belief that if I can believe something, then I can achieve it. These two quotes came to mind:
“Whatever you hold in your mind on a consistent basis is exactly what you will experience in your life." – Tony Robbins
and
“The universe is not outside of you. Look inside yourself; everything that you want, you already are." – Rumi
This mindset first happened around 5 years ago through listening to the works of people like the late Bob Proctor - 100% go check out his (and others) content.
⭐ Spotlight
This week I wanted to highlight two people (well, it’s my newsletter so I am allowed to break my own rules! ha).
I want to shine a spotlight on both Allen Helton and Khawaja Shams, and also say a huge thank you on behalf of the serverless community! As a content creator myself, I know how much work goes into creating content, so the amount of work, time, and investment in setting up and running the Believe In Serverless community must be astronomical! It has been amazing to see the growth of the community, and I have personally benefited massively from the interactions within it! Please go check it out and join the Discord!
👋🏼 Wrapping Up
Thank you for reading the third Serverless Advocate Newsletter! If you want to find out a little more about me, please have a look at:
https://www.serverlessadvocate.com/
If anybody is attending the AWS Community Summit in Manchester next week then hit me up as it would be great to meet as many people as possible!
See you next time,
Lee
Thanks for a great newsletter!
Can you share some more information regarding tip 1 (CDK lifecycle hooks)? My understanding is that this is only for integration tests. How do you use it when deploying a "normal" app?