#06 ClickOps to IaC with AI
In this week’s issue, we have more great insights from our serverless expert of the week Steve Morland, more hints and tips, our weekly poll results, and even more!
Welcome
In last week’s issue, we had great insights from our Serverless expert of the week Omid Eidivandi, we saw just how much is going on in the EDA space, our weekly poll results, and even more!
This week, our Serverless expert of the week is Steve Morland, CTO at Leighton; we see AWS creating a ClickOps to IaC service using Amazon Q, more hints and tips, our weekly poll results, and more!
This weeks newsletter is sponsored by Leighton.
📰 Articles that caught the eye
I wrote an article for Northern Insight magazine titled “Integrating AI: Opportunities and Challenges”. It is great to write something for an actual printed magazine - so looking forward to getting my hands on it.
Other articles from the community:
Marcos Henrique covers chunking in AI - The Secret Sauce You're Missing.
Eyal Estrin discusses Unpopular opinion about “Moving back to on-prem”.
Marko covers Revolutionizing Serverless Development with Lambda Live Debugger.
Designing Serverless Integration Patterns for Large Language Models (LLMs) by Chris McPeek.
🚀 New Releases
Announcing general availability of Console to Code to generate code.
Amazon Bedrock Model Evaluation now supports evaluating custom models.
Amazon OpenSearch Serverless introduces a suite of new features and enhancements.
AWS CodePipeline introduces new general purpose compute action.
AWS Application Composer is now AWS Infrastructure Composer.
🎓 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 and CTO, Steve Morland:
1. What is one common mistake you see teams making when implementing serverless solutions, and how can they avoid it?
Testing. Testing will probably be a theme over the following few questions. The possibilities and paradigm shift of building serverless applications offer teams great flexibility and ownership when it comes to testing.
You can write extensive test scripts for an application's end-to-end flow, validate throughout the infrastructure that your application is doing what it should, and build your tests so that you can pinpoint the fault quickly and act on it. Is this data in this database? Is it the right shape? Has it got the correct values? Has the service produced an event? Is its schema what we expect?
Without embracing the ability to test everything in a serverless environment, you will not get the most out of it.2. Which serverless tool or service are you most excited about right now, and why?
Since AWS released EventBridge, it has simplified building genuinely unbound event-driven applications. In the past, using queues and topics to tie together services added complexity and rigidity to our building and integration. Need to go across accounts? No problem! Need to send an event to an API? No problem!
EventBridge took all that away, it added different challenges, like testing the async nature of events, but leaning into that and building tooling to support our teams has paid off.
EventBridge has been partly responsible for a greater uptake of EDA.
A close second is Cloud Development Kit, which stands head and shoulders above other IaC approaches. I've seen teams get to grips with CDK much quicker than other tools, and the teams are excited when using it. It empowers a "platform team" approach to building infrastructure, with common approaches becoming easy-to-share patterns that can accelerate product development.3. What is your favourite trick or tip when working with serverless that the readers may find interesting?
Building delivery pipelines that use ephemeral environments. If you've been working within tech for a long time, you've seen some bad implementations of continuous delivery, all of which introduce complexity and risk.
Delivery pipelines for serverless applications are a real boost to quality, agility, and speed of delivery. Building a complete environment for a feature, committing code to it, running tests, and validating all in isolation greatly aids the developers in doing their jobs properly.
As quality and speed increase, confidence increases, which can help develop the cadence of regularly delivering high-accuracy work.
💡 Quick Hints & Tips
Each week I share quick hints or tips based on things I notice in day-to-day engineering life:
⭐ [Tip 1] My first tip this week is the following command in an npm script when working with the AWS CDK which will get the current branch name and use it as the stage variable for your app (this works for both ‘develop’ and ‘feature/pr-123’ examples)
"deploy": "STAGE=$(git rev-parse --abbrev-ref HEAD | sed 's/^feature\\///') cdk deploy --all"
This means we can run npm run deploy anywhere and always get our ephemeral stacks building and deploying correctly without setting the STAGE variable manually. This means our stacks are now named ‘stateless-stack-develop’ etc
⭐ [Tip 2] Did you know when using the AWS CDK we can embed Amazon CloudWatch dashboards into our custom L3 constructs so we never need to think about, or forget to create them? The following article covers this in detail: Auto-Generated AWS CloudWatch Dashboards using the AWS CDK with example code repo.
🎙️ YouTube & Podcasts
James Eastham covers “Observability in an Asynchronous World“ from AWS Community Summit.
Unlocking the Hidden Power of Serverless for your GenAI Apps Brian Hough.
DynamoDB to Postgres - Opinionated notes on the state of databases by Allen Helton and Pete Naylor.
Step Functions + containers in Serverless Office Hours with Eric Johnson.
Martyn Kilbryde covers Zero to Production Serverless: 8-Week Real-World Journey.
✖️ Tweet of the Week
This tweet from Luca Mezzalira really made me smile this week, and please click on the image to read the full text as this guy’s efforts are simply amazing and he is one of the nicest people you will meet.
The best part:
“I might be getting older, but this brief, unexpected encounter really made me appreciate how much I love this community and how lucky I am to have people like him as part of it. Never turn your back on the community; you can never go wrong!“
I have had similar experiences recently that I find mind-blowing, and it really makes you feel that your constant efforts and late nights are worth it.
Recently, I had three people tell me separately that I was mentioned by name in two different talks at the AWS Community Summit in Manchester. People advocating for your work when you are not even in the same room shows the power of our community!
🗳️ Poll of the Week
Firstly, in last week's poll, we asked the question, “In your organisation, are you currently embedding AI into your products?“ with 75% of people saying yes and the other 25% saying no.
This is super interesting as I see a lot of companies looking for a problem to solve with AI, and the majority falling back to basic chatbots as they have no real use case.
There is nothing worse than a CEO asking an organisation to sprinkle some AI into their products to keep up with the Joneses.
If you said yes last week, what are the cool solutions that you are building with AI?
In this week’s poll, we ask the question “Should Technical/Solutions Architects be hands-on?“. Feel free to add more information in the comments as I would love to get your thoughts!
🗣️ Inspirational Quotes and Thoughts
This week’s inspirational quote comes from John Johnson:
"First, solve the problem. Then, write the code."
– John Johnson
There have been so many times over the past few years when working with engineering teams where they have dived straight into the code and implementation without understanding the actual problem statement or domain properly, and ultimately took longer to deliver the feature or solution overall (many times with rework).
Taking time to understand the problem before coding, whether that be speaking to customers or domain experts for clarification, or doing a spike to make an unknown ‘known’, in my experience, makes you slow down temporarily in the short-term to move quickly and substantially across the remainder of the change.
⭐ Spotlight
This week’s spotlight falls on James Eastham, Developer Advocate at DataDog.
James is an international speaker (and a very engaging speaker at that!), content creator including blogs, YouTube videos, and live streamer over at Believe In Serverless; who is an expert in event-driven systems, rust, .NET, serverless, AWS, and way more besides! He regularly shares a plethora of amazingly useful content for the community, and has done for a very long time! Thank you for all you do my friend!
👋🏼 Wrapping Up
Thank you for reading the latest Serverless Advocate Newsletter!
For anybody attending Re: Invent this year who wants to meet and talk about all things Serverless, AI, DDD, EDA, and Team Topologies, drop me a line on social media - I want to meet as many people this year as possible!
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