#11 Happy 10th Birthday AWS Lambda! 🎉
In this week’s issue, we have more great insights from our Serverless Expert of the week Darryl Ruggles, the spotlight falls on Matthew Bonig, more hints and tips, our weekly poll results, and more!
Welcome
In last week’s article, our Serverless expert of the week was Serverless Hero Sheen Brisals, the spotlight fell on AWS Community Builder Pubudu Jayawardana, and we had some great contributions from the community!
This week, our Serverless expert of the week is Darryl Ruggles, our spotlight falls on AWS DevTools Hero Matthew Bonig, we look at the latest exciting serverless news, service updates, and say a big Happy Birthday to AWS Lambda!
This week’s newsletter is sponsored by Leighton.
A Glimpse into My Week 🎤
This week, I had the fun of a 3-hour exam to re-certify my AWS Certified Solutions Architect Professional certification, which, in all honesty, I went back and forth on about doing.
The reason for the hesitation was I have ten years hands-on experience and evidence through my open-source work on AWS to validate I know what I am doing!
So why did I re-certify? This came down to me being a leader within my organisation, where I am the AWS Community Lead, and I do think it is beneficial for people to gain certifications as long as it is with hands-on, real-world learning and building. That’s when they are valuable!
The other half of the week was a tad frustrating, as I have been seeing a lot of 429s and throttling with Amazon Bedrock, a service I love, and seeing the service quotas set as little as eight requests per minute on some models and regions…how on earth are we expected to build on top of that? Luckily, AWS upped my account to 400 requests per minute, which is now manageable.
📰 Articles that caught the eye
AWS WAF Essentials: Securing Your SaaS Services Against Cyber Threats with Ran Isenberg. This is a great article, and I learned that you can actually put a WAF on AWS Verified Access too!
Steve Morland covers “On the move… Migrating route53 records between accounts…”. I’m really looking forward to part 2 on this, as I have already had a sneak preview of his CLI!
Simplify scaling and data management with Fauna and Cloudflare Workers with Kirk Kirkconnnell. I have added Fauna to my list of services I want to POC with now after reading this article.
Yan Cui does a great article on When to use Light Events vs. Rich Events in Event-Driven Architectures. This is an interesting article as a fan of EDA, and in my opinion, a public domain event should never contain data of other domains (other than entity IDs).
Kieron McKenna has a super cool article on “How to Create a (Nearly) Free Serverless Rate Limiter on AWS”. This is a cool solution and the kind of innovation I love with serverless!
How to Migrate from Serverless Framework to AWS SAM by Mohammed Ismaeel. This is a super useful article, although I would love to know how many people are a tad tied into the serverless plugins ecosystem to make the jump?
🎓 Ask the Expert
Each week I ask a different Serverless expert the same three questions to get their personal insights - this week we have Cloud Solutions Architect and Serverless Expert, Darryl Ruggles:
1. What is one common mistake you see teams making when implementing serverless solutions, and how can they avoid it?
I think that people who read about serverless technologies sometimes have a mindset that everything they implement in their architecture has to be using purely serverless tools.
I love using Lambda functions, API Gateway, Step Functions, DynamoDB, and all the other core AWS serverless components whenever I can, but as a Cloud Solutions Architect, I have learned that you have to look at all the options available to you. You may get requirements for your project that outline the core functionality and performance objectives, which restrict what services you may be able to use. You could have unknowns or indeterminate behaviour where using something like Lambda functions for core compute won't work due to possible total execution times exceeding 15 minutes or resource requirements exceeding what you can have with Lambda. You could have requirements where only a relational database will work or have to build API interfaces that won’t work with AWS's API Gateway.
Using other compute options like building container images to run with Fargate compute on the Elastic Container Service (ECS) or using an Aurora Postgres database may work better in some of these cases. Not being able to only use pure serverless components does not mean you have failed as a serverless developer or architect. You need to be able to take a look at the requirements you are given and all the tools available and put together an approach that best fits the specific case.
2. Which serverless tool or service are you most excited about right now, and why?
Amazon EventBridge is my favourite serverless tool right now. It just opens up so many possibilities to build event-driven solutions on AWS. Even one of the main three components it has: Buses, the Scheduler, and Pipes on their own would make a super useful service, but all of these together make a very powerful offering.
One of the most important parts of EventBridge to me is that it receives events for almost all AWS API calls and state changes. I have used this to drive observability tooling around service status, monitoring of security-related events, transitions of ECS tasks throughout their lifetimes and so many other use cases.
The EventBridge Scheduler combined with access to just about any AWS service via the SDK with Lambda calls or the other supported integrations, gives you endless possibilities to chain together actions on schedules. I use the scheduler for many routine tasks as I love automating as much as possible.
3. What is your favourite trick or tip when working with serverless that the readers may find interesting?
I'm a big proponent of using Infrastructure as Code (IaC) tooling but with respect to AWS developers, I suspect I'm a bit of an outlier as I like using Terraform for IaC with most AWS resources I configure.
I know that using the Cloud Development Kit (CDK) (or even straight CloudFormation templates) is probably much more common with most AWS Serverless people. My second favourite IaC tool with AWS is the Serverless Application Model (SAM). I started out using Terraform with Kubernetes projects outside of AWS and became more used to the workflow it offers. I used it for internal Kubernetes setups and then when I started using more IaC with AWS it just seemed natural to use it there too.
The AWS provider for Terraform is very well done and offers support for pretty much every config option. We also use Elastic Kubernetes Service (EKS) clusters in some of our deployments and it's great to be able to use one Terraform stack that manages all the AWS resources as well as all the Kubernetes pieces. Sometimes it can be a bit clunky in Terraform to package up serverless components like Zip files for Lambda functions, and API Gateway specs, but there are multiple approaches you can take to accomplish it all.
🚀 New Releases
This week, things started to look a little more like pre:Invent, although the start of the week was very quiet!
⭐ The highlight for me is the latency improvements on Amazon EventBridge and the DynamoDB team are on fire with two major changes!
Announcing new APIs for Amazon Location Service Routes, Places, and Maps.
AWS CodePipeline open source starter templates for simplified getting started experience.
AWS B2B Data Interchange introduces generative AI-assisted EDI mappings.
Amazon OpenSearch Service now supports 4th generation Intel (C7i, M7i, R7i) instances.
AWS CloudTrail Lake enhances log analysis with AI-powered features.
Peek inside your AWS CloudFormation Deployments with timeline view.
Amazon EventBridge announces up to 94% improvement in end-to-end latency for Event Buses.
Amazon DynamoDB introduces warm throughput for tables and indexes.
Amazon S3 now supports up to 1 million buckets per AWS account.
Amazon DynamoDB reduces prices for on-demand throughput and global tables.
Announcing Infrastructure as Code template generation for AWS Step Functions.
💡 Quick Hints & Tips
Each week I share quick hints or tips based on things I notice in day-to-day engineering life:
⭐ [Tip 1] - When working with AWS Lambda, many engineering teams see the deployment of functions as an all-or-nothing thing, and over the years, I have not seen many teams using progressive deployments. Many people don’t realise you can combine Lambda Aliases and Code Deploy to produce blue-green weighted deployments, which I cover in detail in the following article.
⭐ [Tip 2] - For many of us AWS architects we need to convey not just architecture decisions as diagrams, but sometimes user journeys, data models, and much more besides!
One thing I am finding myself doing more and more is using AI models such as ChatGPT, Amazon Bedrock, or Claude, to generate Mermaid diagrams for me based on natural language prompts, which allow me then to share with teams. This article covers this in detail.
✖️ Tweet of the Week
This week’s tweet comes from the fantastic Julian Wood, where he discusses the 10th birthday of AWS Lambda! I honestly don’t know how my career would have turned out if this service didn’t exist, as it was moving an EC2 cron job to Lambda functions, which sparked the curiosity and enthusiasm in me all of those years ago!
There are some great links in the tweet thread with discussions from the founding visionaries who created AWS Lambda, links to AWS articles, and some thoughts from the AWS Heroes! Go check it out!
🎙️ YouTube & Podcasts
Prompt Engineering vs RAG vs Fine-tuning: The $100 Billion Vertical AI Showdown.
Does Co-Development With AI Assistants Improve Code? With Dave Farley.
Insights on How Team Topologies Drive Organizational Success with Manuel Pais.
Exploring CodePipeline V2: Real-World Deployment Challenges and New Features 2024.
🗳️ Poll of the Week
In last week’s poll, we asked the question, “Do you ever choose Kubernetes for new greenfield work?“. I’m not really that surprised by the numbers, with 67% of people stating they wouldn’t, 22% saying they would, and 11% sitting on the fence saying ‘it depends’.
I'm probably more surprised that 22% said yes, as I have personally never needed K8s in greenfield solutions when there are no constraints, and only with the 11% if an organisation is already using it and we are looking at migrations, or using the existing infrastructure for new services.
This week, we ask the question, “Does AWS need a fully serverless SQL-based database offering?“. When I say fully serverless, I mean fully serverless, something like Neon.
I would love to hear your thoughts using the comments button below!
🗣️ Inspirational Quotes and Thoughts
This week’s quote comes from Dr Werner Vogels, Amazon CTO:
“We architect our applications for failure because failure is the only guarantee in distributed systems.”
- Werner Vogels
I love this quote as this should be the mental model in my opinion when architecting any solution:
What can break, where, and how?
How do we mitigate this failure?
How do we make system failure observable and be notified of faults as they happen?
Many times, this potential failure can be mitigated through service features, which can then be abstracted away into common defaults in reusable infrastructure blocks (especially when using the AWS CDK). This leads us nicely to the next section.
⭐ Spotlight
This week’s spotlight falls on AWS DevTools Hero Matthew Bonig.
Matthew is the Chief Cloud Architect at Defiance Ventures, an AWS DevTools Hero, Speaker, Blogger, and co-author of The CDK Book. Matthew is somebody I personally have learned a huge amount from through his fantastic content and experience sharing, especially the CDK Book and some of his excellent talks. Thank you for all you do in our community!
You can grab a copy of The CDK Book below:
👋🏼 Wrapping Up
Thank you for reading the latest Serverless Advocate Newsletter!
For anybody attending re:Invent this year, please reach out if you would like to grab a coffee and chat about all things serverless!
If you want to find out a little more about me, please have a look at:
https://www.serverlessadvocate.com/
See you next time,
Lee