A Weekly Newsletter By Jeremy Daly

Off-by-none: Issue #71

January 7, 2020

Starting off 2020 with a serverless bang… 💥

Welcome to Issue #71 of Off-by-none. Thanks for joining us! 🤘🏻

Last week, we looked at the most popular links from 2019 and I shared some of my plans for 2020. This week, we’ve got lots of great tutorials and some thought-provoking serverless reads, plus plenty of other excellent posts from the serverless community.

Serverless Stories 📖

Troubleshooting While Turning a Pycharm Project into an AWS Lambda Function (Windows)
I really like reading stories like this. Kevin Lin documents the trials and tribulations of converting a project to serverless and, for the new serverless developer, the experience seems to be consistent.

Building Serverless workflows with AWS Step Functions
Mark Carrington has a very detailed post that outlines how Finimize automated database syncing using AWS Step Functions. Lots of code examples and great explanations in here.

How mycrypto.tools uses AWS Lambda Serverless Architecture? And the overview of AWS products/services. (Do you really need Servers?)
Tuna Tore of mycrypto.tools outlines and explains the serverless architecture and tools he used to build his service. I love when people are willing to share the details of their architecture like this, so please keep these coming.

Serverless Use Cases 🗺

Scaling WordPress: Servers vs Serverless
I know that people love WordPress, but jamming it into ephemeral compute still seems like a terrible idea to me. While some traditional architectures can be ported, WordPress, IMO, definitely isn’t one of them. If you’re still running WordPress (like me 😞unfortunately), put it behind CloudFront until you can find a more cloud native solution.

Exploring AWS CDK – Loading DynamoDB with Custom Resources
Matt Morgan uses the AWS CDK to create a custom resource that pre-populates data into an DynamoDB table. Interesting use case, especially when you are spinning up new environments that store configuration data used in your applications.

Create PDF using Chromium Puppeteer in Serverless AWS Lambda
Puppeteer is an excellent utility for controlling the headless version of Chromium. Crespo Wang has updated his demo for using it with Lambda.

How to use S3 to share media with your friends
Never really thought of using S3 to share files with friends and family, but Michael Bahr outlines a pretty simple use case that might even let your non-techie family members use it.

Serverless Concepts 🏗

Amazon Builders’ Library in focus #2: Using load shedding to avoid overload
The AWS Builders’ Library is an amazing resource for cloud architects that want to learn directly from the people who have been building massively scalable systems at Amazon for over a decade. Yan Cui has a new series that is helping to summarize the posts for you. Here is the second post in that series.

Deep dive: 3 ways to invoke AWS Lambda Function
Zahidul Islam gives a good overview of three different invocation models for Lambda: synchronous, asynchronous, and poll-based.

The power of Amazon EventBridge is in its detail
Sheen Brisals put together an excellent primer on EventBridge that will show you all the available options for transforming events and passing the data to consumers.

The Serverless API
Blunt Jackson has an intro into building a serverless API with API Gateway, Lambda, and DynamoDB. Good read for the newbies out there.

Tracing Requests in Serverless Systems with AWS CloudWatch ServiceLens
Helpful post by Joonas Laitio that gives some insights into how the new CloudWatch ServiceLens works, where it’s useful, and where it falls short.

Serverless Tutorials 👷‍♀️

⏱ 10 Minute Tutorial: Creating a Serverless Express Web Server & API
If you want to build a serverless Express app by practically doing nothing, take a look at this tutorial by Nader Dabit. He uses the Amplify Framework, which pretty much does everything for you.

AWS Parameter Store with Python
This seems like a helpful tool for Python developers that need to retrieve multiple parameters at once. The SDKs have a getParametersByPath method that allows you to do this as well, but solving this with a layer might make your life easier.

Building an AWS IoT Core device using AWS Serverless and an ESP32
Here’s something for the true serverless and IoT geek! Moheeb Zara has a great post that shows you how to use serverless and IoT Core to build a device with bi-directional communication. 🤖

Build & Release Serverless Apps with Github Actions
Matt Tyler’s post walks you through setting up an entire CI pipeline using serverless and Github Actions. This could be a very useful alternative to using CodePipeline.

Building a real-time stock monitoring dashboard with AWS AppSync
Very cool post by Jan Michael Go Tan that shows you how to use the Amplify Framework and AWS AppSync to build a real-time serverless application.

Serverless Web Application
Manideep Reddy Gillela shows you how to build a serverless web app, running a simple Python flask API in AWS Fargate and serving content from AWS S3.

Private API endpoints with API Gateway Authorizers and Cognito. Part 3 & Part 4
Saurav Verma’s posts add to his series about building serverless APIs that utilize Cognito authorizers. In parts 3 and 4 he explains private API endpoints and federated identities to provide users temporary access to AWS resources.

Serverless Security 🔒

Orchestrating a security incident response with AWS Step Functions
Benjamin Smith shows you how to implement the callback pattern of an AWS Step Functions Standard Workflow to add a manual approval step into an automated security incident response framework.

Serverless Reads 🤓

Serverless is problematic
This is perhaps one of the most well articulated criticisms of serverless that I’ve ever read. Samantha Atkins lays out a number of highly logical arguments as to why serverless isn’t the silver bullet that many purport it to be. There are several things that I don’t agree with (such as not being able to take advantage of previous invocations, brittleness, and runtime efficiency), but there are lots of things that I do agree with. Most notably, the fragility of the developer toolchain and the maintainability argument. It is most definitely worth the read.

Code-wise, cloud-foolish
Another incredibly insightful edition of Cloud Irregular by Forrest Brazeal. In this piece, he explains why many short term (and short-sighted) architectural and code choices can lead to painful tech debt in the future. He does an excellent job making his case, so be sure to give this a read.

Ask the Expert: 8 challenges teams face when doing serverless
This is a great post that outlines a number of challenges that teams need to consider when adopting serverless. For me, the two most important on this are “underestimating the learning curve” and “not embracing new architectural patterns.” Serverless can get very complex, very quickly, and holding on to old ways of thinking will dramatically slow down your journey.

Yan Cui: All my serverless content in 2019
Yan Cui is probably the most prolific man in serverless, and if you don’t believe me, just check out the treasure trove of serverless posts he produced in 2019.

Simple AWS Serverless Patterns for Building Cost Effective and High Performing Applications
Bill Buckley from CloudZero discusses a few patterns that can be used to build serverless applications. Key here is not to try and “lift and shift” your existing applications to Lambda functions, because this won’t give you the results you’re hoping for.

For the A/V fans… 📽

Episode #30: What to expect from serverless in 2020 with James Beswick
In this episode, I chat with James Beswick about the most popular serverless tools and services that companies are adopting, how built-in cloud features are making apps more resilient, and what serverless will look like in 2020.

Jeremy Daly | CUBEConversation January 2020
Hey look, Ma! I’m on TV (well, sort of). I sat down with Stu Miniman of theCUBE and talked about the future of serverless, and why multi-cloud is a bad idea for most companies.

New from AWS… 🆕

Introducing AWS Systems Manager Change Calendar
AWS announces Systems Manager Change Calendar is a new capability that helps you prevent changes to your AWS resources during important business events. This feels like it was borne out of experience, so I have a feeling someone pushed some code when they shouldn’t have.

Amazon SES now lets you use your existing IP address ranges to send email
You can now BYOIP (Bring Your Own IP) to Amazon SES, which is important for organizations that have already built a reputation around their mail delivery services. It requires a Class C address, so still no dice if you want to move from another provider that issued you a single IP.

Amazon QuickSight launches new analytical functions, Athena Workgroup and Presto VPC connector support
Amazon QuickSight added some cool new math functions (if you’re into that sort of thing), including logarithms, exponents, and square roots. Plus it now supports Athena Workgroups, so you can tie report generation costs back to teams and business units.

Amazon Comprehend launches multi-label custom classification
The Comprehend custom classification was a very cool feature, but limiting it to single labels with multi-class classifications excluded lots of use cases. Now with multi-label, documents can return multiple classifications, opening up lots of possibilities.

Serverless Tools 🛠

Dynobase
I didn’t even know this tool existed. Dynobase is described as a modern, flexible and fast DynamoDB editor. I have to spend some time looking at this.

Peeking into an AWS EventBridge bus
Yan Cui demonstrates the new AWS EventBridge features in the lumigo-cli tool.

S3 Email
This is super cool. S3 Email is an unmanaged email server with unlimited email addresses that also offers the benefit of easily organizing messages by adding the + character to the email names. It uses S3, SES and Lambda and is 100% serverless.

Thoughts from Twitter 🐦

Predictions for #serverless in 2020 ~ Rob Sutter
Rob makes the point that “FaaS fades into the background as service integrations become king.” I think this will happen eventually, but there are still too many people coming into the space that feel more comfortable writing code. IMO, FaaS will remain an important part of serverless for quite some time.

Hey #Serverless folks. Tell me, how do YOU use #AWSLambda in DevOps or Operations? I am curious. ~ Eric Johnson
Good discussion started by Eric here. Lots of interesting DevOps use cases here that are completely peripheral to the monolith. Could give you some ideas for bringing serverless into your organization.

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.

January 20, 2020 – End Cold Starts in Your Serverless Apps with AWS Lambda Provisioned Concurrency

January 24, 2020 – ServerlessDays Belfast (I’m speaking here!)

January 27, 2020 – Device Hacking 101: Build a Serverless Application for an IoT Device

January 31, 2020 – AWS Community Nordics

February 12, 2020 – Remote debugging of live AWS Lambda functions (Workshop at ServerlessDays Cardiff)

February 13, 2020 – ServerlessDays Cardiff (And here!)

February 21, 2020 – ServerlessDays Rome

February 27, 2020 – ServerlessDays Nashville (And also here!)

April 6, 2020 – ServerlessDays Boston

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 Rowan Udell (@elrowan). Rowan is the Cloud Practice Director at Versent, an AWS Premier Consulting Partner in the Asia Pacific region. At Versent, he works with customer and internal teams to deliver change at scale and speed using serverless and AWS native services. Rowan has published video courses on AWS, been a guest on Serverless Chats, and his book, the AWS Administration Cookbook, is filled with great recipes to help you build and administer your cloud environment with AWS. Thank you, Rowan, for your work with AWS and educating the serverless community! 🙌

Final Thoughts 🤔

2020 is already off to quite an incredible start. I was interviewed on theCUBE, I’ve been accepted to speak at several ServerlessDays events, I’ve started recording a number of Serverless Chats episodes (with some awesome guests), and I’ve begun work on a bunch of serverless content and projects. And it’s only January 7th! Lots to come in 2020 that I’m excited to share with all of you, so stay tuned.

I hope you enjoyed this issue of Off-by-none. Please send me your feedback and suggestions as they help to make this newsletter better each week. You can reach me via Twitter, LinkedIn, Facebook, or email and let me know your thoughts, criticisms, or (perhaps) even how you’d like to contribute to Off-by-none.

Cheers,
Jeremy

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.

Sign up below and get Off-by-none delivered to your inbox every Tuesday.

I respect your privacy and I will NEVER sell, rent or share your email address.