Off-by-none: Issue #234

May 16, 2023

Only have a few minutes? Check out this week's MOST POPULAR links as chosen by our email subscribers.

Is serverless the key to conversational programming? 🤔

In our previous issue, the Internet overreacted to sound Prime Video’s refactor, AppSync got private API support, and Ampt was ready for your Serverless Cloud apps. This week, AI is on everyone’s roadmap, we think about DynamoDB costs, and we converse about conversational programming. Plus, there’s a whole bunch of amazing content from the serverless community. Let’s get started!

Serverless News & Announcements 📣

AWS had a few interesting serverless announcements this past week. AWS Lambda now supports AWS X-Ray tracing for SnapStart-enabled functions, Amazon SNS now supports faster automatic deletion of unconfirmed subscriptions, Amazon CloudFront announces one-click security protections, and Amazon Kinesis Data Firehose added support for document ID that is auto-generated by Amazon OpenSearch Service.

They also introduce Cedar, an open-source language for access control. There seems to be quite a bit of praise for this, but I haven’t had much of a chance to really dive in.

In other cloud news, it looks like AI is continuing to dominate everyone’s roadmaps. Google Goes Gaga for AI Developer Tools at their recent Google I/O conference. Cloudflare introduced Constellation to bring AI to the Cloudflare stack and Cursor, the Cloudflare AI Assistant. John Graham-Cumming also wrote an interesting post about how AI will transform the who and how of programming.

Ampt introduced GitHub Integration, giving developers CI/CD out of the box, and Sagar Chauhan announced his first book called “Building Serverless Applications on AWS : A Step-by-Step Guide.”

Serverless Concepts 🏗

How you should think about DynamoDB costs
Alex DeBrie shares some excellent insight on how to plan and design for cost considerations when using DynamoDB.

Serverless Speed Test: Comparing Lambda, Step Functions, App Runner, and Direct Integrations
Allen Helton compared several serverless services to see which ones responded the fastest. As he mentions, I’m not sure App Runner was given a fair shake, because a) it requires some tweaks, and b) it’s generally better at serving sustained versus spiky workloads.

AWS Code Pipelines are region-bound
Did you know this? Well, thanks to A.E. Veltstra, now you do.

Dodging the Lambda Pinball with DDD
Haiko van der Schaaf comments on the recent Thoughtworks Radar that warns of “Lambda Pinball” when building highly granular serverless architectures. Well-designed apps can avoid this.

Serverless Tutorials 👷‍♀️

Serverless Empowers Accessibility: Convert Text to Speech with Amazon Polly
Ran Isenberg shows how he automates the creation of audio versions of his blog posts, why it’s important, and how you can do it, too.

Let’s Architect! Designing serverless solutions
A nice collection of AWS talks that explore a few different serverless solutions.

Multiprocessing in AWS Lambda
Eduardo Marcos shares a very cool implementation of multi-threaded Node Lambdas to increase the throughput of a high velocity data pipeline.

AWS Lambda for the containers developer
Chris Greenwood and Massimo Re Ferre try to demystify Lambda for those more familiar with containers and show how “Lambda Magic” is really a straightforward contract between the application and the service.

Serverless Lightweight Clean Code Approach
Lee Gilmore shares an opinionated example of a lightweight “clean code” Lambda function architecture as opposed to collocating multiple architectural layers into a single function.

Learn serverless on AWS step-by-step – Step Functions
Very in-depth tutorial from Pierre Chollet that gives you a great overview of Step Functions.

Serverless Reads 🤓

Why the fuss about conversational programming
Simon Wardley points out the disconnect between describing programs as text using LLMs that lack context-awareness versus having a conversation with a graphical representation. It makes a lot of sense to me.

The Value Flywheel Effect Book — 9 reasons to read the first excerpt
This book is really good, but if you need reasons beyond my recommendation, take a look at this.

Serverless, a CTO’s Perspective
Benjamen Pyle shares his perspective in the wake of the Prime Video uproar. Instead of just another rebuttal, he comments on several reasons why he considers serverless for his team.

Thoughts on conversational programming 🗣️🤖

I’ve been following along with Simon Wardley’s thoughts on conversational programming for quite some time. It’s a very interesting concept and, when you really think about it, seems as though it’s an inevitability. Machines have been synthesizing human input in different forms for decades, and with the recent innovation and ubiquity of AI and LLMs, it seems as though the reality of this should be just around the corner. Maybe.

Most of what we’ve seen with LLMs used to create cloud apps have been iterative loops generating CloudFormation/CDK/Pulumi/etc. There is a lot of end user knowledge still required, and given the amount of control ceded to the developer, likely a major security and compliance concern for SecOps teams. I’m sure that with the right training and prompts, LLMs will get there, but even so, the team owns the output and are responsible for the management and optimization of the resources these tools create.

As Simon points out, I’m also not convinced that assistive AI technologies generating text-based instructions is the ultimate destination. What concerns me even more is the level of trust cloud architects and operators would need to give some of these systems if they have direct access to the underlying primitives, network configurations, security protocols, and user data repositories. As I said, I’m sure they can be trained to do this, but I’m not sure I would necessarily want them to.

The question I still ask is, how much of what these things do needs to be understood by the prompt engineer? It’s certainly fine to build a UI component, Flappy Bird clone, or help you write a complex regex, but when real customers (and their lawyers) are potentially at risk, does the calculus change? And don’t get me wrong, for those that use it to generate code snippets and configurations they could generally write themselves, I’m all for it. I just worry that someone with less experience won’t be able to ask it the right questions.

We often talk about guardrails to protect developers from themselves, and I think conversational programming will need intermediaries to do that effectively (at least for now). Providing simpler abstractions/interfaces for developers that are both HUMAN readable (i.e. auditable) and easily trainable for generative coding solutions seems to make the most sense (at least to me). Whether this is connecting two services with something like Zapier, or designing a social media card with Canva, having a sandbox eliminates most of the risks and provides the contextual-awareness LLMs seem to be missing.

Podcasts, Videos, and more 🎧

Load Testing DynamoDB: Observability and Performance tuning
How do you make sure that DynamoDB has enough capacity? Marcia Villalba shows you how to build a dashboard and load tests DynamoDB using Artillery.

Building real-life asynchronous architectures | Serverless Office Hours
Julian Wood is joined by Anton Aleksandrov and Dhiraj Mahapatro to take you through two use-cases they have worked on to help you understand how EDA and async work in the real-world.

AWS Bites: Can you do private static websites on AWS?
Eoin Shanaghy and Luciano Mammino discuss the challenges of hosting private static websites on AWS. Lots of great info in this one.

New from AWS 🆕

Here are some other noteworthy announcements from AWS:

Serverless Tools 🛠

Momento Redis compatibility clients
Drop-in replacements you can use to move your cache data to Momento with no changes to your application code!

Castore
Castore is a TypeScript library that makes Event Sourcing easy.

baselime/cdk
Define your observability as code using the AWS CDK.

Thoughts from Twitter 🐦

During a recent fireside chat, I was asked what was it like navigating the tech industry as a black person. ~ Kelsey Hightower

Kelsey is an inspiration for so many. This thread is another reminder of how much more work there is left to do.

Upcoming Serverless Events 🗓

May 17, 2023 – AWS Serverless Innovation Day 2023

May 24-25, 2023GlueCon 2023 🗣️

June 7, 2023 – ServerlessDays Paris

June 22, 2023 – ServerlessDays Zurich

September 21, 2023 – ServerlessDays Cardiff

Serverless Star of the Week ⭐️

This week’s star is Matthew Wilson. Matthew (@matt_codes) is a Principal Software Engineer at Instil, where they work to empower and provide modern solutions for non-profits. In addition to being an AWS Community Builder, Matthew participates in local meet-ups and spoke at Serverless Days Belfast in February. His excellent multi-part blog series “Zero to Serverless Car Insurance” is a great resource that we were happy to share with our Off-by-none readers. Thank you for being an active member in the serverless community, Matthew!

Final Thoughts 🤔

I’ll be speaking at GlueCon next Wednesday about “Reimagining the Cloud Developer Experience.” It should be a great conference with the lineup of so many amazing speakers. If you’re in the Boulder/Denver area and want to chat about serverless and cloud, please DM me.

Until next week,
Jeremy

I hope you enjoyed this newsletter. We’re always looking for ideas and feedback to make it better and more inclusive, so please feel free to reach out to me via TwitterLinkedIn, or email.

Previous Issue

Issue #233May 9, 2023

Next Issue

Issue #235May 23, 2023

Sign up for the Newsletter

Stay up to date on using serverless to build modern applications in the cloud. Get insights from experts, product releases, industry happenings, tutorials and much more, every week!

 

This Week's Top Links

We share a lot of links each week. Check out the Most Popular links from this week's issue as chosen by our email subscribers.

 

This Week's Sponsor

Check out all of our amazing sponsors and find out how you can help spread the #serverless word by sponsoring an issue.

 

About the Author

Jeremy is the CEO and Founder of Ampt and an AWS Serverless Hero that has a soft spot for helping people solve problems using serverless. He frequently consults with companies and developers transitioning away from the traditional “server-full” approach. You can find him ranting about serverless on Twitter, in several forums and Slack groups, hosting the Serverless Chats podcast, and at conferences around the world.

 

Nominate a Serverless Star

Off-by-none is committed to celebrating the diversity of the serverless community and recognizing the people who make it awesome. If you know of someone doing amazing things with serverless, please nominate them to be a Serverless Star ⭐️!