A Weekly Newsletter By Jeremy Daly

Off-by-none: Issue #57

October 1, 2019

Stepping it up with Step Functions…

Welcome to Issue #57 of Off-by-none. Thanks for joining us this week! 🙌

Last week, we watched some videos from ServerlessDays Milan and looked at some awesome new AWS serverless announcements. This week, we’ll make you fall in love with Step Functions all over again (well, maybe), we’ve got lots of exciting serverless news, and plenty of great content from the serverless community.

Lots of amazing serverless stuff to get to, so let’s get right to it. 🚦

Serverless News & Product Announcements 🚀

Announcing Gatsby’s $15M Series A Funding Round
Kyle Mathews has every right to celebrate. Gatsby is an incredibly useful tool that is completely changing the way people are building websites. It’ll be interesting to see what they can do with this new investment.

Zero Configuration Monitoring and Alerts now available for serverless Python apps
Support for Python has been added to the Serverless Framework Dashboard to enable monitoring, alerts, and much more for your Python serverless applications.

Knative v0.9.0
If you’re keeping up with Knative, Mete Atamel will let you know all the new features of the v0.9.0 release.

AWS EventBridge and Epsagon Automated Tracing Integrate
You can now get all of your Epsagon alerts and insights sent to EventBridge. This will allow you to trigger all kinds of workflows from these events.

Workers Sites: Extending the Workers platform with our own serverless building blocks
So this is pretty cool. You can now simulate a file system on top of Workers KV and easily publish static sites to the edge using Cloudflare Workers.

Not so static… Introducing the HTMLRewriter API Beta to Cloudflare Workers
And here is some more Cloudflare Workers serverless goodness.

Lumigo Achieves AWS DevOps Competency Status
Congrats to Erez and the team at Lumigo!

Stackery Launches Global Partner Program to Accelerate Well-Architected Serverless Application Delivery
The Stackery Partner Program is a global initiative to empower solution integrators with application development practices to deliver fully realized serverless applications to customers using the Amazon Web Services (AWS) Well-Architected Framework.

Auto-Tracing for AWS Lambda Calls to Redis Databases
With VPC cold starts being dramatically reduced, I think using Redis with your Lambda workloads will become more prominent. And with IOpipe’s newly added automated tracing support, you’ll have more insights into your Redis interactions.

Serverless Stories 📖

How human behaviour influences the technical approach to a platform ~
A walk-through of how Frank Digital redesigned cancer support services using serverless technology.

An Upgrade: Part 1
Guillermo Fisher is working to upgrade his personal website by continuing to build on his already serverless implementation. He documents his thought process in the first post in this series, and it is a really interesting read.

How I Future-Proofed My Tech Stack
This is worthwhile read from Albert Santalo from 8base. The comments are quite interesting as well. I’ve always advised startups to “not worry about scale” because it often wastes a lot of engineering time that could be better spent on finding product-market fit. But I think that calculus changes when companies adopt serverless.

Serverless Use Cases 🗺

Serverless Mullet Architectures
Tim Wagner, aka the father of AWS Lambda, has an interesting use case using API Gateway WebSockets to coordinate “server-to-server” communication backed by AWS Lambda and DynamoDB.

Using DynamoDB to track changes to DynamoDB
This is an intriguing use case from Dan Moore that uses DynamoDB streams to automatically calculate diffs and write them to another DynamoDB table as an audit log. He deploys it straight from the aws-cli, but I’d recommend using a framework to handle all this for you.

How to create a customized CloudWatch Dashboard with CloudFormation
Here’s a great use case for serverless: build a custom CloudFormation resource using a Lambda function. Andreas Wittig will walk you through how to do it, and show you how to create a customized CloudWatch Dashboard with it.

Running transient servers with serverless
Martin Raag has a good use case for serverless, spinning up and configuring EC2 instances to perform long-running tasks. There are plenty of workloads that still require more traditional solutions, and using Lambda functions to help automate tasks is a great way to get started.

Advanced Serverless Concepts… 🏗

Best Practices for AWS Step Functions
Rowan Udell lays out a bunch of best practices for working with AWS Step Functions. My favorite one is letting Lambda functions fail and bubble up to the state machine. It’s a good way to keep your business logic untethered from the implementation.

SNS, SQS or both?
This is an overview of SNS (Simple Notification Service), SQS (Simple Queue Service) and how they can be used in isolation or together to send persistent and immediate messages.

Serverless: Things I wish I had known before I started – Part 1 – AWS Cognito
Cleriston Bernardes has another interesting post, this time focusing on some of the limitations he’s found with AWS Cognito. Worth looking at if you are considering using this service.

6 strategies for scaling your serverless applications
Preston Holmes from Google explains how Google Cloud Functions scale, and what are some considerations when downstream services might not handle serverless scale. If you’re using Google Cloud for serverless, take a look at the recommendations in this post.

Should you pack the AWS SDK in your deployment artefact?
Yan Cui answers this question for you. If I were you, I’d take his advice. 😉

Lambda Functions Are NOT Fault-Tolerant by Default
This piece by Renato Byrro explains a little bit about Lambda’s retry behavior and why you need to make sure your operations are idempotent.

AWS Developer Tools: Your Ally in Deploying and Maintaining Your Serverless World on AWS
Serkan Özal gives an overview of the most popular tools for building automated test and deployment pipelines with AWS.

Top 10 Serverless best practices
Yan Cui has some more advice for you. If you’re using the Serverless Framework, here are 10 things you should consider doing.

Distributed Tracing
Ran Ribenzaft has a great article that goes into the details of what distributed tracing is, and how you might go about implementing it in your applications. Long story short, use an observability tool that provides distributed tracing out of the box.

If you’re just getting started with serverless… 🐣

Configuring Serverless Framework to work with AWS Lambda
Omal Vindula gives you a quick start guide to downloading and configuring the Serverless Framework.

3 Major Challenges of the Serverless Framework, and How to Overcome Them
Here are some simple tips from Hugo Burbelo that will get you started with the Serverless Framework.

First steps with serverless Python: write to s3 and call other Lambdas
Toby Fee thinks Python isn’t getting enough attention, so here are two simple Python examples that you can use to build a Lambda function.

Serverless Migration: Lift-and-shift
Ryan Jones has another post in his series on Serverless Migration. This time he looks at taking an existing and app and trying to port it to a cloud function. There are some reasons why this likely won’t work, which Ryan explains.

Serverless Migration: Choosing a deployment framework
In his second Serverless Migration post this week, Ryan Jones outlines several serverless deployment frameworks and what they are best suited for.

Serverless Tutorials 🏗

GraphQL API using Serverless + AWS AppSync + DynamoDB + Lambda resolvers + Cognito. [Part 1]
Facundo Fasciolo is working on a multipart tutorial for building a serverless GraphQL API. In part 1, he outlines the “Serverless basic configuration” to get your app setup and working locally with mock data.

Localizing applications with Cloudflare Workers’ new streaming HTML Rewriter ?
We mentioned Cloudflare Workers’ new HTMLRewriter earlier. Here’s a use case and tutorial for it that lets you localize the text on your site based on the user’s geographical location. While this use case might be trivial, there are plenty of other things you can do with it. And… it’s a lot easier that some other cloud provider’s implementations.

Full Stack AWS Application Development (Free Course)
Gareth McCumskey and Serverless, Inc. have a new (free) course on developing serverless applications on AWS with the Serverless Framework. It’s not complete yet, but this should be a great resource to follow along with.

Serverless Security 🔒

PCI DSS and Serverless Demystified
Everything you ever wanted to know about PCI DSS and serverless.

Serverless Reads 🤓

How Red Hat is pioneering a serverless movement
William Markito Oliveria talks about Red Hat’s serverless vision and where they see the future of serverless going. And, surprise, they’re going all in on Kubernetes.

Why #Serverless Is Eating the Stack
Renato Byrro outlines a number of reasons why serverless is becoming the “go to” choice for lots of companies. The reasons he outlines are not new, but everyday we seem to get more and more evidence to support them.

Serverless Data: The Winning Cloud Adoption Strategy
This is a great piece by Venkat Venkataramani that makes the bold claim that “Open Source Software on Cloud Hardware is the New Legacy”, which I totally agree with. Managed service (including managed open source services) take the operational responsibility off your team, and moves it to a dedicated team of cloud professionals, at a fraction of the cost of hiring your own people.

Testing improvements to Lambda VPC Networking
Matt Lewis did some quick tests of the new Lambda VPC networking improvements and the results are amazing!

Why I pick Heroku over AWS Lambda. But not always.
Tim Nolet has a well-written piece on when and why he might choose Heroku over AWS Lambda. There are some good points in here about vendor lock-in, and why it’s probably not something you need to worry about.

AWS Serverless Building Blocks for Microservices
I like reading how other people think about serverless microservices. Ashan Fernando outlines a few ways to use serverless “middleware” to handle service-to-service communication.

The Hidden Problem of Serverless
Toby Fee compares managing serverless applications to the responsibility of taking care of pet birds. I think the comparison is quite apt. 🐦

While you’re waiting for season 4 of Stranger Things… 📽

Episode #16: Serverless Workflows using Step Functions with Rowan Udell
In this episode, I chat with Rowan Udell about the benefits of state machines, the core functionality and advanced features of AWS Step Functions, and some recommendations for building smarter serverless workflows.

Serverless Azure Fundamentals
Part 5 of Jeremy Likness’ Moving from Lambda to Azure Functions (5 Part Series).

How to use AWS Cloud9 (and AWS SAM) to create serverless projects | SAM Series #2
This video shows you how to use the Cloud9 IDE to create, deploy and debug serverless projects using the AWS SAM framework.

API Gateway security mechanisms | Serverless Security
In this video, Marcia Villalba shows us different mechanisms that API Gateway has built-in for providing security for your serverless applications.

Serverless Transformation: An Online Panel Discussion
Ben Ellerby hosts panelists Nader Dabit, Emrah Samdan and Craig Mayhew to discuss a range of serverless topics.

When you’re wondering what the AWS Devs are working on… 👷‍♀️

Not much to announce on the serverless side of things this week, but I’m sure we’ll be seeing a lot more coming soon.

DynamoDBMapper now supports optimistic locking for Amazon DynamoDB transactional API calls
If you’re using Java and DynamoDB, this new update to DynamoDBMapper should make your transactional API calls more reliable.

Serverless Tools 🛠

Who’s the Faastest?
Nuweba launched this cool little tool that shows you which FaaS services and runtimes are the “faastest”.

Edit serverless YAML templates in VSCode like a pro
Pavel Vlasov created an extension for VSCode that does autocompletion and implements some other fancy features when working with AWS SAM, CloudFormation, and serverless.yml files.

How To Work with AWS Lambda in Swift
If you are a Swift developer and want to build Lambda functions using Swift, check out this new custom runtime by Andrea Scuderi.

Thoughts from Twitter 🐦

One of the biggest engineering costs you can reduce is developer-thumb-twiddling. Brought our frontend CI time down from 8 mins to 25 secs by parallelizing on AWS Lambda ( @lamb_ci ). Each Lambda tests every nth file (testing/formatting/linting 3k files over 13 sites). ~ Michael Hart
Using Lambda functions to parallelize tasks (with isolation between them) makes for some pretty fascinating use cases. Michael Hart uses them to run all his CI checks for lambCI, and the increase in speed is incredible.

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.

October 2, 2019 – Deep Dive on Amazon EventBridge (Webinar)

October 3, 2019 – How to Leverage Serverless to Optimize for Cost and Performance (Webinar)

October 7-9, 2019 – Serverlessconf 2019 in New York City

October 14-16, 2019 – Serverless Architecture Conference Berlin

October 24, 2019 –  ServerlessDays Stockholm

October 30, 2019 – Retail at the Scale of Serverless with AWS – Webinar

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 Sam Kroonenburg (@samkroon).  Sam is the CEO and co-founder of A Cloud Guru, an online learning platform that has helped almost a million people learn cloud computing (and pass AWS Certification exams). Sam is a huge fan of serverless and a regular speaker on the subject. Most of the content that acloud.guru creates is available with a subscription, but their blog also has a ton of great community content for free. Sam and his brother, Ryan, also started Serverlessconf, and the 9th edition of it is happening next week in NYC. These events always produce great talks that help people think differently about serverless and continue to drive the ecosystem forward. Thanks for all the work you do for the community, Sam! 🙌

Final Thoughts 🤔

It was another busy week for me as I continue to work on a new serverless project. There have been a lot of learnings from it, so I hope to be able to write about them and share it with you all soon. I just need to find the time! 😬

I’ll be at Serverlessconf next week, so I hope to see some of you there. I’ve got plenty of stickers for Off-by-none and Serverless Chats, so please come and say “Hi!”

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.

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.

Best,
Jeremy

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.