#48 Serverless Document Databases ⚙️
This week, our serverless expert is AWS Community Builder Robert Bulmer, our spotlight falls on Serverless Author Mark McCann, we look at the latest service releases, news, articles, & more!
Welcome
In last week’s issue, our serverless expert was AWS Community Builder Jon Goodall, and our spotlight fell on AWS Serverless Hero AJ Stuyvenberg!
This week, our serverless expert is AWS Community Builder Robert Bulmer, our spotlight falls on Serverless Author Mark McCann, we look at the latest AWS service releases, blog posts, hints and tips, news and more!
This week’s newsletter is sponsored by Leighton.
A Glimpse into My Week 🎤
This week, I published an article titled “Serverless Rules CDK Nag Pack“:
This article focuses on the new Serverless rules Nag Pack for CDK Nag, and the results of me running this against some production-level solutions. Go check it out!
Also, to note, there may or may not be an issue next week as I am on vacation!
📰 Articles that caught the eye
Here are some stand-out articles I read during the week in the World of Serverless, AI, Engineering and Architecture!
⭐ My favourite this week was by Serverless Hero Jimmy Dahlqvist talking about ‘how to re:Invent’ in part of his series!
Jimmy Dahlqvist covers “How to re:Invent, Episode 1 - Vegas, Travel, and Accommodations“.
On the AWS News blog, “How Zapier runs isolated tasks on AWS Lambda and upgrades functions at scale“.
Raghavan Madabusi covers how to build a “Real Estate Buyer AI Assistant - Part 1“.
Seth Orell covers “Serverless Is Not A Primary“ in this great article.
Alexander Sharov has an article on “How to create AWS Serverless Valkey via OpenTofu“.
Ricardo Sueiras has a great article on “Configuring Model Context Protocol (MCP) With Amazon Q CLI“.
🎓 Ask the Expert
Each week, I ask a different serverless expert the same three questions to get their personal insights - this week, we have AWS Community Builder Robert Bulmer:
Opinions are the author’s and do not express the views of their employer.
1. What is one common mistake you see teams making when implementing serverless solutions, and how can they avoid it?
A common mistake I see time and time again is teams thinking their database needs to be serverless. We are fortunate now to have several options when it comes to ‘true’ serverless databases. Aurora Serverless V2, Aurora DSQL and DynamoDB all scale to zero.
When it comes to picking a database, think about what application(s) it will need to serve. Traditional relational databases offer strongly connected, typically generic data models that allow you to create multiple application services off a strict design. Non-relational and denormalised models are much more flexible and instead are able to adapt themselves for a more specific use case, enabling much more efficient and performant querying on well defined access patterns.
With greenfield projects we often see the need for ‘agility’. Denormalised NoSQL databases and more flexible schemas allow teams to build at speed, adapt for changes in requirements and generally provide a quicker approach to the minimal viable product (MVP). One of the most popular choices teams start with is DynamoDB, a managed severless Key Value database. Key Value stores can be excellent when your application can be designed entirely around, as the type suggests, simple key-based queries.
However, often a database needs the ability to query in lots of different ways. Access patterns can change over time, with DynamoDB you may find yourself having to add expensive indexes to cater for these needs. Finding a database that can suit the ever-expanding list of requirements is important. Falling into a key-value store when it’s not suited, only to keep your entire stack ‘serverless’ is generally going to cause problems later on, as the dataset gets larger and change becomes more difficult.
I find teams get stuck as soon as they need to implement pagination and search results with DynamoDB and migration projects can be costly to run. To be clear, in the right use case, it is a fantastic choice! An alternative I have loved since the very early versions is MongoDB and AWS DocDB (a clone) — the document database, with a truly flexible schema that is considerably more forgiving when it comes to amending access patterns.
Now, it’s very early days; however, I’m excited to see where AWS takes DSQL, a distributed relational database, similar to CockroachDB. At the time of writing, it still has a long way to go before I would consider it in production. Remember, serverless is not always the best choice, and in many cases can be more expensive.
Data in any system is critical. Choosing the database is always tricky, think of agility, extensibility and developer experience; be careful of potential steep learning curves for your team to adapt the technology.
2. Which serverless tool or service are you most excited about right now, and why?
Although it was AWS's very first service, introduced in 2004 and launched in 2006, SQS continues to be a cornerstone of modern cloud architectures, often overlooked despite its reliability, simplicity, and versatility.
The versatility of this service still amazes me. Use it for error handling, throttling, change data capture (CDC), Storage-First patterns, message ordering, large payload handling… the list goes on.
It’s incredibly simple to add SQS to your infrastructure as code, and it can often address multiple non-functional requirements (NFRs), like reliability, decoupling, and durability—all at once.
3. What is your favourite trick or tip when working with serverless that the readers may find interesting?
Write code that you would like to inherit.
It’s all too easy, especially in serverless projects, to focus almost exclusively on infrastructure as code, glueing together managed services while application code quality takes a back seat. The highly distributed, event-driven patterns of serverless can tempt us to cut corners on coding standards, or lead to sprawling “Lambda-liths”, monolithic functions that try to do too much.
It amazes me how many times I hear “who on earth wrote this code!? Oh… Me”. Taking the time now to write code you, and your future team, will enjoy maintaining is a gift to everyone.
Think about writing Clean Code and combine it with hexagonal code (ports and adapters). Write clean, maintainable, and testable code. Use recognised patterns, like hexagonal architecture (ports and adapters), to keep business logic isolated from the serverless "plumbing." It may seem like overkill for small functions, but as complexity grows, or as you or someone else has to revisit this code months later, you’ll be grateful for the self-discipline.
✅ Bonus tip: join the hashtag#believeinsls discord! There is a community there to answer any questions you may have without getting overzealous on serverless or without judgment! Check it out!
🧠 Tips & Tricks
This week’s tip is to stream all events or messages to CloudWatch logs when using event-driven architectures in ephemeral environments, when you want to quickly see what payloads have gone through a central bus or topic. Example sudo code could look like this for pushing all events from a central SNS topic:
You can see from the code above that we have an SNS subscription to SQS, and then using Amazon EventBridge Pipes to pipe the messages to CloudWatch logs.
This allows you to quickly see the message and event payload bodies running through your system when developing, debugging, or running e2e tests!
🚀 New Releases
Here are the latest and most interesting releases this week in the AWS World:
⭐ This week, my favourite service release was DocumentDB Serverless going GA, although I did wish it fully scaled to zero.
Amazon SES introduces tenant isolation with automated reputation policies.
Amazon S3 Access Points now support tags for Attribute-Based Access Control.
Amazon CloudWatch and Amazon OpenSearch Service launch pre-built dashboard for AWS Network Firewall.
Amazon CloudWatch launches natural language query generation for OpenSearch PPL and SQL.
Amazon SNS standard topics now support Amazon SQS fair queues.
AWS Lambda response streaming now supports 200 MB response payloads.
Amazon CloudFront introduces new origin response timeout controls.
AWS Backup improves Aurora DSQL multi-Region restore workflow.
🔥 Tip: Check out https://aws-news.com/ for the very latest up-to-date serverless releases as they happen, created by the talented AWS Serverless Hero Luc van Donkersgoed.
👷🏻 Tools & Frameworks
Check out the latest open-source frameworks, news, and tool updates from the past week.
innovation-sandbox-on-aws - The Innovation Sandbox on AWS solution allows cloud administrators to set up and recycle temporary sandbox environments by automating the implementation of security and governance policies, spend management mechanisms, and account recycling preferences through a web user interface (UI).
OSS Serverless - This repository is a maintained alternative to Serverless Framework v3. It exists for those who cannot upgrade to Serverless Framework v4 and is a drop-in replacement for v3.
aws-appsync-events-swift - This library allows you to connect to AWS Appsync Events API in your Apple iOS, macOS and tvOS applications.
agent-dev-toolkit - A development tool for building Generative AI agents with the Strands platform.
kiro-steering-docs (CDK) - CDK specific Kiro steering docs.
✖️ Social of the Week
This week’s social is by Datadog Developer Advocate, James Eastham:
As usual, lots of ‘knowledge bombs’ from James in this great post and video, discussing functions vs containers (spoiler alert - they can complement each other, it doesn’t have to be either/or).
What are your thoughts on this? Feel free to leave a comment below.
🎙️ YouTube & Podcasts
Here are some of my favourite videos and podcasts this week.
⭐ My favourite video this week was on Serverless Office Hours, talking about all things API Gateway security!
Dave Farley discusses “The TRUTH About Great Software Delivery (and Why You’re Missing It)”.
Serverless Office Hours has a great session on ‘Amazon API Gateway Security’.
Logicata podcast has a great issue titled “Season 4 Episode 30: Security, MCPs, and Open Source Perils“.
The Primeagen covers “Dating App Doxes its Own Users“ showing the perils of poor security.
Erik Hanchett talks through ‘Introducing Kiro Agent Hooks: The Future of Intelligent IDEs‘.
Adam Bluhm and Jason Stinson cover ‘The Future of AI is Multi-Agent‘ on the AWS Events show.
Weekly Case Study 🔍
This week’s case study comes from last years re:Invent and the talk “Accelerating content production with generative AI, featuring the NFL“:
The media team at the National Football League (NFL) embraced the power of Amazon Q Business to revolutionise their content production processes. By integrating this cutting-edge technology into their workflow, they significantly accelerated the creation and publication of their media assets, game highlights, social media posts, and graphics while boosting their talented content creators’ productivity.
🗣️ Inspirational Quotes and Thoughts
This week’s inspirational quote or law is by former Chief Technology Officer at Microsoft, Nathan Myhrvold:
“Software is a gas; it expands to fill its container.“
Nathan Myhrvold
I love this quote, as it highlights that software design and engineering should be managed from a complexity and scope perspective, even in agile projects. It is far too easy to design for future requirements that may never be needed, or to over-engineer solutions when simplicity should prevail. I have also seen more and more people being added to a project to bring it over the line, but in doing so, adding a ton of additional complexity, cost, and communication handoffs.
What are your own thoughts and experiences of this quote? Feel free to leave a comment below.
🗳️ Poll of the Week
In last week’s poll, we asked the question “Are you comfortable working with multiple languages in your AWS solutions?”.
We had 50/50 on people either using one language or with a couple, but nobody voted for several languages. Personally, I am comfortable with a few languages, but generally only work with one day-to-day, which is Typescript.
This week, we ask the question, “Do you actively tweak the memory of your Lambda functions based on a tool like Lambda Power Tuning?”.
Feel free to leave a comment below on why you chose your answer and your experiences!
📅 Serverless Events
The following serverless events are upcoming, so mark your calendars.
🎟️ To note, CFP is currently open for the AWS North Community Conference, which I am helping organise, and we also have opportunities for lightning talks throughout the day. Go check it out!
Other fantastic events happening soon:
GOTO Serverless Bengaluru - 8th August 2025
ACD Australia - 15th August 2025
ACD Adria - 5th Sept 2025
AWS Community Day Baltic - 10th Sept 2025
ACD Bay Area - 17th Sept 2025.
ACD Aotearoa - 18th Sept 2025
ACD Poland - 18th Sept 2025
ACD Portugal - 27th Sept 2025
ACD DACH - 7th Oct 2025
ACD Nordics - 10th Oct 2025
AWS North Community Conference - 16th Oct 2025
ServerlessDays Milano - 21st Oct 2025
ServerlessDays Cardiff - 23rd Oct 2025
Serverless Architecture Conference - 20th-22nd Oct 2025
ServerlessDays Sao Paulo - 5th Nov 2025
Do you have any upcoming events that you want to highlight? Message me below!
⭐ Spotlight
This week’s spotlight falls on serverless author and architect, Mark McCann:
Mark is a contributing Author of the world renowned "The Value Flywheel Effect" book, former Principal Software Engineer at Liberty Mutual, author and contributor at ‘The Serverless Edge’, podcast host, and currently at Enterprise Architect at EverQuote. Through the mediums above, Mark has supported the community for many years in sharing his experiences with serverless adoption at scale.
Thank you for everything you do for our amazing community Mark!
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/
See you next time,
Lee