A Weekly Newsletter By Jeremy Daly

Off-by-none: Issue #47

July 23, 2019

The Serverless Framework You’ve Been Waiting For… ⚡️

Welcome to Issue #47 of Off-by-none. It’s super awesome that you’re here! 😎

Last week, we took a deep dive into the new Amazon EventBridge service. This week, we look at the new Serverless Framework, we hear some more thoughts about Amazon EventBridge, and, of course, we share lots of amazing content from the serverless community.

There is plenty of great serverless stuff to get to, so let’s jump right in! 🏊‍♀️

When you thought the Serverless Framework couldn’t get any better… 🙌

Unless you’ve been trapped in a cave for the last several years (or maybe work at a datacenter 🧛‍♂️- no offense to the wonderful people who keep our servers running, BTW), you’ve likely heard of the Serverless Framework. In marketing speak, the Serverless Framework lets you “build apps with radically less overhead and cost.” In technospeak, you can easily build and deploy serverless applications running on AWS and other public cloud providers. I’m a huge fan and have been using it since the early days.

The last several months have been pretty exciting as the team at Serverless, Inc. has been working to build a platform that supports enterprises with advanced features and services that cover the full lifecycle of serverless applications. They just announced that they are making it available to everyone, and you can use it for free. There are a ton of great new features (you may have seen some released recently) and an entire platform to build, test, deploy, secure and monitor your serverless applications.

For more information about the new capabilities, check out their overview video or Marcia Villalba’s new episode of Foo Bar that looks at the new dashboards. There’s also an article on TechCrunch (Serverless, Inc. expands free Framework to include monitoring and security) about the release. The serverless ecosystem is expanding rapidly with lots of tools and services to help make building your serverless applications easier. Having these features integrated directly into the deployment platform (that we know and love) is very cool.

When people are still talking about Amazon EventBridge… 🌉

Last week we looked at the new Amazon EventBridge service that was announced at AWS Summit New York. On the day it was announced, Chris Munns from AWS, was speaking at ServerlessDays London. Instead of giving his scheduled talk, he pulled a fast one on the attendees and gave this presentation on EventBridge instead. It’s a great presentation and worth reviewing to understand some of the important concepts of EventBridge.

There have been some more thoughts on EventBridge since last week as well. Darragh O’Grady (aka The Learning CTO) wrote this piece about Why AWS EventBridge Changes Everything, Jerry Hargrove created a nice set of Visual Notes for it, and despite the clickbaity title, Mark Runyon is rather optimistic about its potential in AWS EventBridge: Revolutioning Serverless or CloudWatch Events 2.0?

I promised some more thoughts on this from me as well, and so far I’ve been doing a lot of poking and prodding to see what’s possible. I did have an idea for using the observable nature of events with EventBridge, along with its built-in retry mechanisms to implement the SAGA pattern using an attached resolver service. I got some interesting feedback, and I’m still fleshing out some ideas, so expect some more info on this soon.

In the meantime, if you’re wondering what is the best AWS service to use to manage events in your application, try Jared Short’s AWS Event Source Wizard.

Serverless News & Product Announcements 🚀

Serverlessconf NYC 2019 agenda announced
54 serverless experts speaking over the course of two days. The agenda is now available! I’m speaking on Day 2.

Epsagon Makes Troubleshooting Apache OpenWhisk a Snap
In its latest release, Epsagon now supports tracing for OpenWhisk. I think this is a great tactic for monitoring and observability companies that have been closely tied to AWS and their serverless offerings.

Maintaining peace in your serverless stack with Thundra Alerts!
Thundra’s new alerting functionality builds on top of their powerful querying capabilities. You can now save queries to trigger alerts, set the severity of them, and easily throttle or mute them during an issue.

Monitoring for Serverless Workloads Now Generally Available in Datadog
This new release from Datadog includes visualizing service maps, correlating traces and logs with AWS X-Ray and Cloudwatch Logs, additional support for Python, Node.js, and Go, and more.

Introducing Adobe I/O Runtime: How Serverless at Adobe Will Shape the Future of Digital Marketing and Creativity
This caught my eye a while back, and now that it’s GA, I need to explore it more. But the idea of companies providing serverless compute resources to enable custom workflows for their customers is something I think is very interesting.

Introducing Conference App in a Box
Deploy a themeable, customizable, full stack and cross-platform mobile app for your next event in minutes. Thanks to Nader Dabit.

Serverless Stories 📖

ALB Triggers for a Serverless Web App
Andreea Paduraru discusses the experience the big data team at Hotels.com had when building a new serverless application. They found ALB to be a more suitable solution than API Gateway. Maybe it’s right for your app?

Intermittent RDS Errors When Triggering Lambda Functions
Ethan Bray shares an issue he had that turned out to be a misconfiguration of subnets. Little things like this can be frustrating, so if you’ve ever done something like this, you’re not alone.

How Bank of America Is Using Adobe I/O Runtime to Boost the Efficiency of Its Personalized Offers in Adobe Target
Curious what integrated serverless runtimes can do and how powerful they can be? This piece shows how Bank of America used Adobe’s I/O Runtime to manage personalized offers to its customers.

Serverless Use Cases 🗺

How to extract a HUGE zip file in an Amazon S3 bucket by using AWS Lambda and Python
Working with large files is a common use case. John Paul Hayes outlines a solution in Python that lets you bypass the 500MB Lambda limit.

Build a Serverless API for IoT Devices
Moheeb Zara shows you how to use AWS Lambda and API Gateway to publish messages to an AWS IoT Device.

Connecting existing user database to AWS Cognito
Miki Wawrzyniak needed to use a legacy database with Cognito. I’m not sure this is a common use case, but he presents a solution for you.

If you’re interested in learning some serverless basics… 🏗

Data modeling with Amazon DynamoDB – ADB301 – New York AWS Summit
Alex DeBrie gave a presentation at the New York summit on DynamoDB and data modeling. I wish the video was available for this.

How to Optimize Lambda Memory and CPU
Renato Byrro gives you some details into how choosing the right amount of memory affects the CPU and performance of your Lambda functions.

Understand AWS Serverless architecture in 10 minutes
There are more than 9 services that can trigger Lambda, but Corentin Doue from Theodo gives you a good overview of the most common ones.

Why deploy your Serverless app into multiple AWS accounts?
The team at Seed.run continues with more Serverless Tips, this time outlining the pros of maintaining AWS account segregation.

How to share an API domain between services in a monorepo Serverless app
And in another excellent Serverless Tip from Seed.run, they outline two different ways to have multiple services share the same domain name with API Gateway. I prefer the first method as it significantly reduces coupling, and still provides you with independent APIs for each service.

If you’re just starting your serverless journey… 🐣

What is Serverless and how to use it in practice
Rafael Quintanilha from ButterCMS outlines some basics on serverless architecture, what problems it solves, and when you should use it.

5 tips to choose a serverless vendor
Tips #1, #2 and #5 make sense. I wouldn’t worry too much about vendor lock-in from a FaaS standpoint, as for #4, any public cloud provider will be fine to run your dev and production workloads.

Serverless Tutorials 🏗

Injecting Chaos to AWS Lambda functions with Lambda Layers- RELOADED
Adrian Hornsby’s latency injection layer for Lambda has evolved into a more general failure injection one. This article explains what it is, and how to use it to inject some chaos into your serverless applications.

How to connect SNS to Kinesis for cross-account delivery via API Gateway
Yan Cui outlines a number of different solutions to deal with the problem of per account concurrency and resource limitations. There’s even a solution that uses EventBridge.

Separating queries and managing costs using Amazon Athena workgroups
Roy Hasson shows you how to separate workloads, control user access and
manage query usage and costs when working with Amazon Athena workgroups.

Generate a PDF in AWS Lambda with NodeJS and Puppeteer
Nice walkthrough from Aki Rautio that shows you how to perform this common task. Code is included.

Build a serverless website with SAM on AWS
Fabrizio Fortunato shows you how to configure a SAM template to deploy a static website onto AWS.

Serverless Security 🔒

A Deep Dive Into Serverless Attacks. SLS-6: Security Misconfiguration
Tal Melamed from Protego details some of the perils (and ways to mitigate) misconfigurations in your serverless functions.

How Serverless Is Changing Security: The Good, Bad, Ugly, and How to Fix It
I don’t agree with everything in this article (such as serverless creates a larger attack surface and that 3rd party services are more of a risk), but overall, Alexander Posashenko gives a good overview of the changing nature of serverless security.

Winning with Serverless DevSecOps Pipelines
Abhay Bhargav Serverless DevSecOps pipeline offers a very secure process for developing, analyzing, deploying and monitoring serverless applications. I’m a stickler for security too, but this is probably too extreme for many organizations.

Serverless Reads 🤓

What you need to become a full-stack serverless developer
Sam Williams outlines the 4 areas of development you need to know to call yourself a full-stack serverless developer.

Accelerating Agile with Serverless
Sarjeel Yusuf from Thundra outlines the effect that serverless has on the agile process and why it will likely win out over containers to shorten release cycles even more.

Why serverless is the future for small startups
Aidan Hallett has some thoughts on when to use serverless and why it helps early stage companies get off the ground.

The Serverless Revolution
Steven Yue’s collection of thoughts over the last few months about serverless. Some interesting points in here.

Serverless Days – London – My Key Takeaways
If you missed ServerlessDays London, Decebal Dobrica took some notes and shares his takeaways in this post.

Going Serverless
A group from the Nielsen Marketing Cloud team explores the computing world’s journey from an ownership model TO a leasing model and eventually TO a short-term-rental model.

When you prefer Netflix to AWS Documentation… 📼

Serverless Chats – Episode #6: Why Developers Need to Think About Cloud Costs with Erik Peterson
In this episode, I chat with Erik Peterson about cultural changes around cost optimization in the cloud, cost as a first class metric, and how to predict total cost of ownership (TCO) according to your product roadmap.

Building Happy Little APIs
Maybe I’m just getting old, but I find Twitch really hard to navigate. Luckily, the good folks at AWS have taken Eric Johnson’s fabulous “Building Happy Little APIs” series, and put it in a YouTube playlist, where old guys like me can more easily find it. Lots of great information in these episodes.

Serverless Patterns (The awkward years)
I came across this PDF of slides from Mike Roberts talk at SACON (2019, I think). Really interesting slide deck that is loaded with patterns that apply to serverless development.

Macquarie Bank: Securing Payment Websites at the Edge Serverless-ly
AWS’s This is My Architecture shows how Macquarie Bank migrated to a serverless architecture largely at the edge, leveraging Amazon S3, AWS Lambda@Edge, Amazon Cloudfront, AWS WAF and AWS Shield.

When you think the AWS Serverless team might be on holiday… 🏖

Not a lot of “serverless” announcements this past week, but I’m sure the teams are gearing up for something big soon (or maybe sitting on a beach). There was this announcement that Amazon Comprehend Custom Entities now supports multiple entity types. When you used custom entities with Comprehend in the past, multiple entity types required separate models, meaning multiple calls per document. Now it supports up to 12 entity types per model, so that’s pretty cool.

Thoughts from Twitter… 🐦

Gartner’s cautions around @awscloud are spot on and mirror what I’ve seen. ~ Corey Quinn
This is a great thread that highlights Gartner’s analysis of the big public cloud vendors. If you work for these companies, some of these things might sting a little. But I think the analysis is probably spot on. 🤷‍♂️

Results from the short attendee survey we did with the tickets on usage of #Serverless … 386 respondents ~ ServerlessDays London
Quick little survey of the ServerlessDays London attendees. Still a big group of people that are barely using serverless. So, still lots of minds to change.

This makes EventBridge a big no-go for me. #serverless ~ Ryan Marsh
According to the docs, “typical latency is about half a second” for EventBridge. For asynchronous workflows, this doesn’t seem unreasonable to me. Do you agree with Ryan on this one?

Serverless Tools 🛠

Version 1.3 of Lambda Power Tuning Released by Alex Casalboni
AWS Lambda Power Tuning is a state machine powered by AWS Step Functions that helps you tune the memory configuration of Lambda functions in a data-driven fashion.

adrai/aws-lambda-fastify
Inspired by the AWSLABS aws-serverless-express library, this is tailor-made for the Fastify web framework, letting you run your existing Fastify projects in Lambda.

ccbrown/keyvaluestore: robust key-value store abstraction for DynamoDB
This package provides an interface with a Redis-like API and implementations for multiple key-value store backends.

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 25, 2019 – Distributed Tracing in Modern Applications – Microservices and Containers (webinar)

August 27, 2019 –  ServerlessDays Sydney

August 29, 2019 –  ServerlessDays Melbourne

September 4-6, 2019 – Production-ready Serverless Workshop – Full Stack Fest

October 7-9, 2019 – Serverlessconf 2019 in New York City (I’m giving a talk here)

October 14-16, 2019 – Serverless Architecture Conference Berlin (I’m speaking here as well)

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 Austen Collins (@austencollins).  Austen is the creator of the Serverless Framework (which probably needs no introduction) and the founder of Serverless, Inc. He’s been a driving force in building the serverless ecosystem and the serverless community, with the Serverless Framework empowering thousands of developers and organizations to more easily adopt serverless technologies. His contributions to the CNCF Serverless Working Group and the latest version of the framework (that includes tools to manage the full lifecycle of your serverless applications) continues to push the industry forward and make serverless more accessible than ever. Thanks for all you do, Austin!  🙌

Final Thoughts 🤔

This was another week filled with so much serverless goodness! Every week the community continues to grow, the tools continue to evolve, and the content continues to flow. It’s an exciting time to be alive. 😉

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.

Cheers,
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.