More serverless CDK Patterns for you to explore… 🕵️♀️
Welcome to Issue #98 of Off-by-none. I’m glad you could join us!
Last week, we announced a new way to explore serverless architectures, learned how to debug and load test serverless applications, and we finally got “connection pools” from Lambda. This week, we get more CDK patterns to explore, yet another reason to look at BigQuery, and some updated serverless best practices. Plus, we have plenty of great content from the serverless community.
Serverless News & Announcements 📣
Webinar: Would you like to connect applications like GitLab, Confluent, Zendesk, AWS services together?
You can, using TriggerMesh Bridges which allows you to build intelligent application flows using any service, running in the cloud or on-premises. Join us July 30 to see how easy TriggerMesh makes it connect application flows!
Announcing the FaunaDB Data Manager
The FaunaDB Data Manager (FDM) can assist with a variety of import and export tasks, including copying documents, collections, indexes, functions, and roles from one FaunaDB database, at any particular point in time, to another FaunaDB database, plus a variety of useful data features. It’s still in preview mode, but looks like a useful tool for FaunaDB customers.
Google Cloud announces BigQuery Omni multicloud analytics solution
So this sounds way too good to be true, but if I can actually query my AWS data using BigQuery without worrying about data transfer costs or duplicating data, that’s pretty amazing. This could be a game changer.
Serverless Spotlight – Sign up to be a guest
I’m launching a new web series called Serverless Spotlight that will “Shine a light on the people who make serverless awesome!” The episodes are 5-10 minutes, and will feature people like you sharing what they are working on in serverless. Commercial, open source, blog post, whatever, we want to hear from you. Be sure to sign up to be a guest.
AWS Serverless Customer Success
Not convinced that serverless is ready for primetime? These customer success stories should help change your mind. AWS recently launched a “Serverless Customer Success” page that highlights a series of case studies that show the positive impact of serverless on companies ranging from startups to enterprises.
Serverless Stories 📖
How I Built a Serverless AWS Lambda Twitter Bot in NodeJS in a Single Day
Spencer Pollock walks through his journey building a Twitter Bot using AWS Lambda. It’s fun following someone’s thought process like this. I would use Parameter Store for my Twitter credentials instead of storing them in a file that’ll likely get checked into git, but for a quick and dirty first go, it’ll do.
The Cloud Resume Challenge, or How I Learned to Stop Worrying and Love the Cloud
Kudos again to Forrest Brazeal for starting the Cloud Resume Challenge. There are several people writing about their experiences, but I found this one from Antonio Lo Fiego to be incredibly enlightening. He doesn’t seem to agree that “… the latest version [of the] SAM CLI makes serverless development easier for developers.” His well-placed JT GIF perfectly encapsulates the way many people new to serverless feel.
How I built a zero cost serverless scraper
Anshaj Khare explains how he built a Twitter scraper using cloud native GCP tools. This post makes me wonder about the differences in the developer experience between GCP and other clouds.
Serverless Use Cases 🗺
Convert HTML to Markdown with a serverless function
Michael Vigor outlines a simple use case that I certainly wouldn’t want to set up and maintain a server for. I love little one-off services like these that are easy to build with FaaS, and enable developers to build things quickly without all the red tape.
A rock-paper-scissors app with gesture detection and voice
Who would have thought of serverless Rochambeau? The cloud advocates at Microsoft, that’s who. This uses a bunch of Azure native services (not 100% serverless), but still a pretty interesting application of the technologies.
How We Automatically Create And Delete Environments For Developers
Gavin Cornwell has written before about automation using Step Functions, but in this post he shows how his team creates an environment when feature branches are created, and then deletes the environment when the branch is removed.
Serverless Concepts 🏗
CDK Patterns at 20! Let’s Walk Through all 20 Serverless Patterns for AWS
Matt Coulter has done an amazing job on the CDK Patterns site and repository and has consolidated all 20 patterns into a comprehensive blog post. There are so many amazing ideas to explore with this, so make sure you check it out.
AWS Serverless Application Lens — A Summary
Amulya Rattan Bhatia attempts to summarize the Well-Architected Serverless Application Lens whitepaper. It’s a much shorter read and does a good job covering the most important points. If you don’t have time to read the whitepaper, this should at least get you headed in the right direction.
Are Lambda-to-Lambda calls really so bad?
This recent post by Yan Cui started a bit of a debate on Twitter regarding his recommendation to put an API Gateway in between inter-service, synchronous calls that ultimately map to a Lambda function. I’m personally a big fan of using synchronous Lambda-to-Lambda calls using the SDK (when appropriate) to reduce overhead and complexity, but Yan makes a lot of really good points why not to do this. Serverless best practices are constantly evolving, so you’d be wise to follow this debate.
Lambda Execution Leaks: A Practical Guide
Dori Aviram points out the problem when unresolved promises leak into your Node-based Lambda functions. This is probably more common than you think, and can be a massive pain to debug. This post outlines what can cause this issue and some ways to mitigate it.
Serverless Tutorials 👷♀️
Monitor & Debug Serverless with 30-Second Auto-Instrumentation
Complete observability over your serverless environment with no code changes required. With one-click distributed tracing, Lumigo lets you effortlessly find & fix issues in serverless and microservices environments. Get serverless-specific smart alerts before they impact performance or cost. Sign up for a free account and get up & running in minutes.
The Serverless LAMP stack part 3: Replacing the web server
Benjamin Smith and Matthieu Napoli (the creator of Bref) show you how to build serverless PHP applications without needing a web server. Matthieu also explains how the implementation of FastCGI Process Manager inside of Lambda helps makes this possible.
Integrating Amazon EventBridge and Amazon ECS
Jakub Narloch shows you how the new EventBridge to API Gateway target enables new use cases. Even if ECS isn’t your thing, you can use this to route events to webhook consumers, map inter-service communication contracts, and even handle complex integration tests.
Get More Out Of Lambda Authorizers- Use Response Context
Adrin Mukherjee outlines a scenario that uses custom authorizers to pass additional context into your Lambda functions that can be used for calls to downstream services. It’s a powerful pattern, and with the integration into Secrets Manager, you can apply a lot of security best practices, including automatic credential rotation.
Creating low-latency, high-volume APIs with Provisioned Concurrency
Even though James Beswick craps on my Lambda Warmer project (😂 totally kidding, I don’t actually use it anymore), he does a great job explaining how Provisioned Concurrency can ensure predictable start-up times to latency-sensitive Lambda functions. And if your workload really needs this, a 75% reduction in your slowest execution times is a compelling reason to spend the extra money.
Explore Serverless On Alibaba Cloud With SLS Framework
Thinking about going serverless on the Alibaba cloud? The Serverless Framework has got you covered, and the Serverless Guru team has provided us with this straightforward tutorial to get you started.
Multipart uploads with S3 pre-signed URLs
Great tutorial by Shahar Yakov that walks you through the detailed steps of initiating a multipart upload to S3, generating pre-signed URLs for all the parts, and then stitching them all back together to complete the process.
Serverless Reads 🤓
Serverless: a backend thing that gives superpowers to frontend developers
Another fun post by Slobodan Stojanović that explains how serverless can give frontend developers the power to make their applications more interactive and highly scalable using modern techniques, rather than relying on traditional servers.
Why we didn’t choose QLDB for a healthcare app
Yan Cui has a great article that simply points out the pros and cons of Amazon’s Quantum Ledger Database, and explains why his client decided it wasn’t quite ready for their application.
How to pick the right Compute Savings Plan for Serverless Workloads on AWS
If you’re interested in saving some money on your AWS serverless workloads (and who doesn’t like saving money?), they check out this post by Michael Bahr that outlines how Compute Savings Plans work, and when they might be right for you.
How to design Serverless Apps like a Pro using *Interactive* Serverless Reference Architectures 🚀🔥
Farrah Campbell wrote up a piece on the Serverless Reference Architecture project (which she and Stackery were instrumental in getting off the ground). We’re working on more patterns and content, so stay tuned for more serverless!
For the commuter… 🚎
Episode #57: Building Serverless Applications using Webiny with Sven Al Hamad
In this episode, I chat with Sven Al Hamad about how Webiny makes building serverless applications easier, why everyone from small startups to large enterprises should be choosing serverless, whether or not Webiny could be a WordPress killer, and much more. Watch on YouTube
Good Morning Serverless with Tom McLaughlin
I had a blast chatting with Tom McLaughlin on his Good Morning Serverless Show last week. It airs every Thursday morning at 8:30 am ET, and he’s always looking for guests, so be sure to sign up.
DynamoDB with Alex DeBrie
Alex DeBrie seems to be the hardest working man in DynamoDB right now 😂, making the rounds on the podcast circuit. He has a great interview with Jeff Meyerson on the Software Engineering Daily podcast that you definitely should check out.
New from AWS 🆕
Announcing the New Version of the Well-Architected Framework
Not specific to serverless, but it’s great to see the Well-Architected Framework evolving based on customer feedback and experience. More on it here.
Amazon Comprehend launches real time Custom Entity Recognition
This is a great update that allows you to identify terms that are specific to your domain in real time. If you’ve ever worked with NLP, you’ll know how important this is.
Docker and AWS collaborate to help deploy applications to Amazon ECS on AWS Fargate
Great news for those still using containers for parts of your workload. You can now use Docker Desktop and Docker Compose to deploy containers on Amazon Elastic Container Service using the AWS Fargate launch type. No need for third-party tools anymore.
Amplify CLI adds support for Lambda layers to easily share code & assets across Lambda functions
Amplify CLI now makes it easy to use Lambda layers to share code & assets across various Lambda functions. Plus, you can add existing Lambda layers to your Lambda functions by referencing existing Lambda layer ARNs.
Amazon Athena adds support for managing data catalogs using AWS CloudFormation
No more using the console or APIs to register your data sources. You can now create, update and delete your data sources using the AWS CloudFormation
Amazon DocumentDB (with MongoDB compatibility) adds support for cross-region snapshot copy
This is a nice feature for all you MongoDBers out there. You can now copy a snapshot to another region for the purpose of disaster recovery, security, or to populate a development/test environment.
Amazon Keyspaces now enables you to back up your table data continuously by using point-in-time-recovery (PITR)
And for all your Cassandra(ers), PITR provides you with continuous backups of your Amazon Keyspaces table data to help you protect against accidental writes or deletes. When enabled, it’ll back up your table data automatically with per-second granularity and then you can restore your table data to any second in time in the preceding 35 days. Crazy.
Serverless Jobs 👩💻
Serverless Engineer – stedi.com
At Stedi, we’re working in one of the biggest markets on the planet – EDI, the technological backbone of the physical product economy. We’re building a next-generation platform: a ubiquitous commercial trading network to automate the trillions of dollars in B2B transactions exchanged by nearly every company on Earth. If you’re interested in what we’re building and how we’re building it, we’d love to hear from you.
Have a job listing you’d like to share? Please contact me for more information.
Upcoming Serverless Events 🗓
There are a lot of upcoming serverless events, webinars, livestreams, and more. If you have an event you’d like me to mention, please email me.
July 27/28, 2020 – ServerlessDays Virtual
July 30, 2020 – Building Intelligent Application Flows in the Cloud and On-premises with TriggerMesh (Webinar)
September 3, 2020 – ServerlessDays Warsaw
October 1-2, 2020 – ServerlessDays Hamburg 2019
Serverless Star of the Week ⭐️
There is a very long list of people that are doing #ServerlessGood and contributing to the Serverless community. These people deserve recognition for their efforts. So each week, I will mention someone whose recent contribution really stood out to me. I love meeting new people, so if you know someone who deserves recognition, please let me know.
This week’s star is Gal Zabib (@GalZabib). Gal is the co-founder and CEO of Altostra, an intuitive serverless development platform that helps developers build modern cloud applications. Altostra allows for quicker serverless adoption by automating development workflows, which is incredibly helpful for teams looking to hit the ground running. Gal’s background in software engineering and leading R&D certainly has given her great insight into the needs of teams looking to adopt serverless. Thank you, Gal, for making it easier for other teams to adopt serverless quickly and confidently! 🙌
Final Thoughts 🤔
Remember last week when I said it was getting harder and harder to narrow down all the amazing serverless posts? Well, it was even harder this week. If I didn’t include your post, please feel free to shoot me a DM and I’ll be happy to retweet it. The amount of serverless content and ideas being generated is incredible, which is a great sign for serverless adoption. Keep the posts coming, and I’ll keep working to find additional ways to amplify them.
Until next week,
P.S. If you like this newsletter, and think others would too, please do me the honor of sharing it with friends and coworkers who are interested in serverless.
Share this newsletter with your friends and coworkers!
Off-by-none is a weekly email newsletter that focuses on the technical details of building applications and products in the cloud using serverless technology. Together we can become better developers and product people by making fewer mistakes as we learn from each other. Off-by-none is the idea that we can become exceptional at what we do, if we are willing to put in the work. Join me on this journey as we help the community work to develop best practices, share our ideas, and learn to build better cloud-based software.
I respect your privacy and I will NEVER sell, rent or share your email address.