#04 Serverless Evolutionary Architecture
This week we have more great insights from Serverless Hero Danielle Heberling, tips and tricks, the latest articles and serverless news, and much, much more!
Welcome
In last week’s newsletter, we discussed the Believe In Serverless community, some amazing insights from Benjamen Pyle, our Serverless expert of the week, and ran a poll on the goto languages we are using in our serverless solutions (results below).
This week we have more great insights, this time from Serverless Hero Danielle Heberling, tips and tricks, the latest articles and serverless news, and much more!
📰 Articles that caught the eye
Ran Isenberg covered his ‘Guide to AWS re:Invent - Tips & Tricks’.
Jimmy Dahlqvist discusses ‘Building a serverless connected BBQ as SaaS - Part 4 - AuthZ’.
Vadym Kazulkin covers ‘AWS SnapStart - Part 26 Measuring cold and warm starts with Java 21 using different garbage collection algorithms’.
Enterprise cloud patterns from the trenches: Hybrid cross-account APIs with Kong and AWS Private Link by Antonio Lagrotteria.
My colleague Jake Bazin discusses 10 Tips for keeping your AWS Lambda functions performant.
🚀 New Releases
AWS CloudFormation Git sync now supports pull request workflows to review your stack changes.
AWS Lambda now supports tagging of Event Source Mappings and Code Signing Config resources.
Jamba 1.5 family of models by AI21 Labs is now available in Amazon Bedrock.
AWS Lambda adds support for Amazon Linux 2023 runtimes in the AWS GovCloud (US) Regions.
AWS Serverless Application Repository now supports AWS PrivateLink.
Amazon S3 to apply a default minimum object size for S3 Lifecycle transition rules.
Amazon SNS now delivers SMS text messages via AWS End User Messaging.
Llama 3.2 generative AI models now available in Amazon Bedrock.
Amazon RDS Performance Insights now supports queries run through Data API.
Amazon Kinesis Data Streams announces support for Attribute-Based Access Control (ABAC).
🎓 Ask the Expert
Each week I ask a different Serverless expert the same three questions to get their personal insights - this week we have Danielle Heberling:
1. What is one common mistake you see teams making when implementing serverless solutions, and how can they avoid it?
I think a large mistake teams make when adopting serverless is assuming that their existing developer workflows translate directly 1:1 to a serverless stack. Serverless truly is a different mindset and a different approach to building applications and some changes in the developer workflow are necessary. Specifically thinking that they can run everything locally and that emulators are drop in replacements for fully testing in the cloud.
To avoid this, I would recommend emulating where you can for a fast developer feedback loop, but know that fully testing in the cloud is necessary to ensure that the environment specific things (mostly permissions and environment variables) are properly configured. Ideally this would mean that each developer has their own cloud account along with at least one pre-prod environment such as dev, staging, QA etc.
2. Which serverless tool or service are you most excited about right now, and why?
I’ve had my eye on Cloudflare and a lot of the new/new-ish services they’ve launched such as workers, durable objects, R2, and D1. Once I have more time, I plan to build some side projects with these services. It looks like they have developer experience at top of mind with service bindings and wrangler.
3. What is your favourite trick or tip when working with serverless that the readers may find interesting?
I taught myself how to write CloudFormation/AWS SAM by using a precursor to AWS Application Composer called Stackery. If you’re looking to level up in CloudFormation and/or AWS SAM, I’d recommend checking out AWS Application Composer by dragging things on the canvas and switching to view the template it generated. There’s no need to memorize but the more you use it and look at the generated templates, the more you’ll remember.
💡 Quick Hints & Tips
Each week I share quick hints or tips based on things I notice in day-to-day engineering life:
[Tip 1] How often are you away from your laptop, maybe out grabbing a coffee and wondering if that CloudFormation stack has deployed, or what your spend is looking like this month? For this, I use the AWS Console Mobile App, which I find a lot of people don’t know exists! It’s great when on the run and wanting to check something quickly!
[Tip 2] How do you typically tag all of your resources in AWS CDK apps, and how do you ensure that the correct tags are always applied? One way is to use a very cool feature of the CDK, which is Aspects, which allows you to iterate over the tree of constructs and apply changes or inspect them (including adding tags!). This article covers what they are, and gives examples of tagging all resources automatically, and also ensuring the correct tags are applied.
🎙️ YouTube & Podcasts
DDD on the frontend - Talysson Oliveira Cassiano - DDD Europe.
Building Real-Time Applications with Cloudflare Durable Objects by James Eastham.
✖️ Tweet of the Week
I loved this tweet from AJ this week, which is essentially looking at building your applications using Lambda Web Adapter so you can deploy the same app to ECS, Lambda, VPS, or anywhere for that matter!
🗳️ Poll of the Week
Firstly, last week’s poll results were in, and most people, it seems from the results, are using NodeJS and TypeScript in their Serverless solutions (92%) predominantly, with Python far behind in second at 8%.
This week, we ask, “Do you shy away from using particular databases on AWS due to the overheads of VPCs and networking?“. Please feel free to add comments below!
🗣️ Inspirational Quotes and Thoughts
This week’s inspirational quote comes from the Amazon CTO, Dr Werner Vogels”
“I always urge builders to consider the evolution of their systems over time and make sure the foundation is such that you can change and expand them with the minimum number of dependencies”
- Amazon CTO, Dr Werner Vogels
Anybody who follows me knows I am a big fan of evolutionary architecture, especially with serverless, and this quote always resonates with me. It goes as far as me doing a video specifically on this topic which you can view here:
⭐ Spotlight
This weeks spotlight falls on Serverless Hero Yan Cui who is one of two people who originally inspired me to get into Serverless on AWS many, many years ago now (the other being the fantastic Jeremy Daly).
Yan produces so much fantastic content between his blog articles, podcast, talks, courses, and more; always tackling and covering the ‘hard parts’ of serverless when others shy away.
I never consume Yan’s content and don’t walk away with learning something new. This is what a real builder looks like, somebody that has hit the hard edges of services and shares the learnings with the rest of the community. Kudos, and thanks for all you do for the community!
👋🏼 Wrapping Up
Thank you for reading the latest Serverless Advocate Newsletter! If you want to find out a little more about me, please have a look at:
https://www.serverlessadvocate.com/
Also a big shout out to the organisers of AWS Community Summit in Manchester last night, what a fantastic event, and great to catch-up with friends new and old.
See you next time,
Lee