A Weekly Newsletter By Jeremy Daly

Off-by-none: Issue #42

June 18, 2019

Is serverless becoming easier? 🤷‍♂️

Welcome to Issue #42 of Off-by-none. It’s great to see you! 👍

Last week, we learned how to switch from RDBMS to DynamoDB and looked at a number of interesting serverless stories. This week, we look at some frameworks that are making serverless easier, hear some thoughts from serverless naysayers that don’t agree, and share tons of great content from the serverless community.

There is a lot to get to this week, so let’s get right to it! 📚

Serverless News & Product Announcements 🚀

Introducing Pulumi Crosswalk for AWS: The Easiest Way to AWS
This is really interesting. I like to have control over the different components, but services like this that can easily wire them together for you, seems like the direction these frameworks are heading.

Serverless Framework v1.45.0 – ALB event source, API Gateway Websocket logs
Speaking of frameworks, the new version of the Serverless Framework has added some more interesting features. Automatically creating ALB event sources is very cool. Don’t forget that Lambda API automatically handles the parsing and response formatting for you. 😉

ServerlessDays London Keynotes and Speakers Announced
Teri Radichel, Lin Clark, Till Schneidereit and Sarah Drasner are all giving keynotes, plus plenty of other great speakers. This should be a great event!

Function Faster on AWS Lambda: IOpipe Launches New Search Visualization Feature
Here is another really cool feature from the team over at IOpipe. Visualizations are so much easier to consume than lists of search results, so seeing this aggregated view instead makes a ton of sense.

Lumigo adds monitoring support for AWS Chalice
Serverless Python users rejoice.

Serverless Stories 📖

Learnings from “no failure”
Marc Villagrasa tells the story of building Genioo and how serverless played an important part in letting them focus on solving their domain problems.

Taking Cloud Run for a trial run
Aviv Laufer tried Google Cloud Run. The scale up time seems a bit high.

Making a Smarter Smart Thermostat with Go, Lambda, and SAM
Joshua Barratt wrote some Go code and used serverless to take control of his thermostat. While not everyone has the skills to do this, for those that can, how can using a serverless backend not be the perfect choice?

Serverless Use Cases 🗺

FICO: Fraud Detection and Anti-Money Laundering with AWS Lambda and AWS Step Functions
Even though Lambda doesn’t do the actually batch processing, this is a great example of how you can use serverless components to manage interactions and workflows with your “non-serverless” services.

Build your own real-time voice translator application with AWS services
I’ve been using Transcribe lately and have been impressed by the accuracy. Tomasz Stachlewski takes this even further and stitches together a complete end-to-end translation service.

Auto-Generating Tags for Content using Amazon SageMaker BlazingText with fastText
Yi Ai has another great use case for serverless, using it to call Amazon SageMaker to predict the tags of text content.

Injecting data into AWS IoT Analytics from Amazon Kinesis Data Streams
AWS IoT Analytics provides a public BatchPutMessage API action. Vikram Singh shows you how to use Lambda to inject data from a Kinesis Data Stream.

Analyzing Performance and Cost of Large-Scale Data Processing with AWS Lambda
“Being able to go from zero to processing nearly two million records per second and back to zero over the course of just minutes is unheard of using traditional server-based architectures. It’s also incredibly powerful across many use cases.”

AWS CodePipeline Approval Gate Tracking
If you want to keep track of your CI/CD approvals, here’s a relatively easy way to use the “PutApprovalResult” events from CloudTrail to do some magic with Lambda.

Understanding AWS Lambda behavior using Amazon CloudWatch Logs Insights
Alice Xiao discusses how State Street built a framework using CloudWatch Logs Insights to support their innovation process of rapidly converting business ideas into client-centered applications.

If you’re thinking about going serverless… 🤔

How to overcome the challenges of serverless
Eoin Shanaghy has an excellent article that talks about the current state of serverless and how we can overcome some of the challenges.

How to cut the Cloud bill by 90%?
Fouad Maach gives you a quick overview of some of the benefits of serverless. Aurora Serverless doesn’t scale to thousands of instances, but the sentiment is right. Serverless “frees a lot of time to improve the application features and generate more business value than ever.”

AWS costs every programmer should know
Not specific to serverless, but there are a lot of costs (often small) involved with the cloud. David Hatanian points out some of the most important ones.

The Goods and Bads of Serverless
Benjamin Tanone gives some pretty harsh critiques of the state of serverless (right now), but I can think of several optimizations that would dramatically reduce the issues he’s experiencing. But maybe the real problem (as he says) is that this information isn’t ubiquitous enough.

Serverless Tutorials 🏗

AWS Lambda: how to detect and stop accidental infinite recursions
Yan Cui shows you how to mitigate infinite recursions using the dazn-lambda-powertools open source project.

How to mock and unit test serverless lambda invoking AWS and DynamoDB
Here’s a simple way from Suranjana Basu to override calls to AWS services using some simple mocks.

Easily Deploy a Serverless Node App with ZEIT Now
While this may be another “Hello World” post, William Imoh gives you a glimpse at how easy it is to create serverless applications using ZEIT. No need to worry about cloud infrastructure at all.

Part two: serverless real-time ReactJS app — AWS IoT MQTT
In the second part of this tutorial, Ryan Jones shows you how to build out, deploy, and test the backend of a real-time serverless React app.

Building a Serverless App Using Athena and AWS Lambda
Ran Ribenzaft gets you started with Amazon Athena via a simple tutorial that uses Athena and deploys with the Serverless Framework.

Serverless Data Processing with AWS Step Functions, Part II.
In the second installment of this tutorial, Jun Fritz shows you how to call SNS topics directly from your Step Functions to alert on success or failures.

How to install a WordPress site on Google Cloud Run
Step 1: Don’t! 🤦🏻‍♂️

Serverless Security 🔒

AWS Lambda Security Best Practices
Hillel Solow from Protego explains why applying the Least Privilege Principle to your AWS Lambda functions isn’t as easy as you think.

AWS SSM is a trojan horse: fix it now!
Not serverless, but interesting cloud security stuff. Michael Wittig outlines the power of SSM and why you might want to take some extra steps to protect your environment.

Too much FUD? Fear, uncertainty, and doubt be gone!
This is kind of fun. Now you can easily call out Nuweba if they publish something that promotes FUD with their serverless security posts.

Securing credentials using AWS Secrets Manager with AWS Fargate
Fargate customers can now easily consume secrets securely and parameters transparently from their own task definitions thanks to a new integration with AWS Secrets Manager and Parameter Store.

Serverless Reads 🤓

Why Serverless/FaaS is not there yet
Dragos Bulugean provides some additional criticism of serverless in this post. I agree that serverless isn’t perfect, but there are a lot of arguments here that could be solved with a bit of education.

How to implement the perfect failover strategy using Amazon Route53
Fascinating post by Simon Tabor that walks you through a number of tests that DAZN ran to optimize Route53 routing failover.

You’ll always need VMs says, surprise, VMware: Run on any cloud you like and get portability
I just thought this article was funny. Some of the comments are even better.

On The Serverless Cold Start Problem
I agree cold starts are overblown, and if your use case requires the absolute elimination of them, then yes, FaaS might not be for you. But for the 99% of other workloads out there, it generally isn’t that big of deal.

Better IoT with GraphQL and AppSync
Sarjeel Yusuf from Thundra outlines why GraphQL and AppSync might give us the IoT future we were promised.

Serverless Stream Consumers — Common Pitfalls and Best Practices
This is a really interesting article by Jose Antonio Moreno that shows how Capital One is experimenting with different forms of stream processing using long-polling Lambdas. Not sure I like this approach, but sometimes we just need to do what works.

When you’re all about the audio/visual experience… 📽

Serverless Chats – Episode #1: Serverless Purity vs. Practicality with Alex DeBrie
In this episode I chat with Alex DeBrie from Serverless, Inc. about the choices facing developers when building serverless applications, and when a practical approach sometimes trumps best practices.

Writing integration tests in serverless applications
Marcia Villalba shows us how to write some basic integration tests to make sure that our deployed applications work as expected.

Screaming in the Cloud – Episode 64: Serverless Runs on Serverless Framework with Austen Collins
In this episode, Austen talks about his work with AWS, building the Serverless Framework, and why it’s solving so many problems.

Porting your web app to serverless in 30 minutes
Alex Casalboni hosts a live-coding session that guides you through the process of migrating an existing Express application to AWS Lambda.

When you’re wondering what AWS has been up to… ⚙️

Amazon S3 Update – SigV2 Deprecation Period Extended & Modified
Not a lot of serverless happenings to announce this week at AWS, but here’s something that’s worth noting. If you have any really old apps that are still using SigV2 to access S3, don’t worry! They just pushed the deprecation back another year.

AWS Amplify Console now supports AWS CloudFormation
More great work to ensure repeatable deployments of serverless applications, this time with the Amplify Console.

Thoughts from Twitter

As an old school #perl guy it is so funny to watch the younger generation rediscover CGI. ~ Sebastian Riedel
This is in reference to some Serverless Framework examples. The funny thing? He’s not entirely wrong. My Stop Calling Everything Serverless! post and keynote makes a very similar point, although serverless is much more powerful and important than the cgi-bins of the past.

⚡ I need your help! #serverless poll! I’m curious — In your opinion, what is the most important feature that MUST exist for a service to be defined as “serverless” as opposed to “fully managed”? ~ Jeremy Likness
Speaking of not calling everything serverless, Jeremy Likness had an interesting poll on Twitter this past week that tried to discern between serverless and managed services. The results are interesting, especially since the winning vote might be the exact definition of a managed service.

You know you’re a #serverless developer when your CSP account balance is $1.01 and you’re like, “This must be an accounting error!!” ~ Linda Nichols
This is a fun reminder that small serverless projects are practically free.

When introducing new engineers to #serverless, it still feels like teaching them how to draw an owl: Step 1: Write and deploy a lambda function Step 2: Build the rest of your damn production-ready event-driven application! ~ Javier Toledo
This has been a common complaint. There are a lot of “Hello World” tutorials out there, but when you start to build more complex applications, the “how-to” information is obviously less ubiquitous. There is some good stuff out there, but not always easy to find.

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.

June 19, 2019 – Serverless Best Practices by Dashbird (webinar)

June 19, 2019 – Serverless Security: A Practitioners Guide by Protego (webinar)

June 21, 2019 – ServerlessDays Milan. (I’m giving a keynote)

June 25-26, 2019 – AWS re:Inforce. (I’m doing a Dev Chat on Serverless Security on Wednesday afternoon)

July 8, 2019 – Thundra – Happier Customers with Serverless and Observability (webinar)

July 11, 2019 – ServerlessDays London

July 11, 2019 – AWS Summit New York (I’m doing a Dev Chat on building event-driven serverless applications)

August 27, 2019 –  ServerlessDays Sydney

August 29, 2019 –  ServerlessDays Melbourne

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 Alex Ellis (@alexellisuk). Alex is the creator of OpenFaaS, which is an open source project that makes it easy to turn anything into a serverless function using Docker Swarm or Kubernetes. The project has over 200 contributors, 17k GitHub Stars, and two Bossie awards from InfoWorld. Alex was recently accepted as an  ambassador to the Cloud Native Computing Foundation (CNCF). He’s also a speaker, author, consultant, and coach, that has made a huge impact on the serverless community. Thanks for everything you’re doing, Alex! 🙌

Final Thoughts 🤔

This week I finally launched my new podcast, Serverless Chats. I have been working on this for awhile and it has been a lot more work than I had anticipated. Having the opportunity to talk with all these amazing guests has been an awesome experience, and I look forward to all the future chats I’ll get to have. I’d love your feedback on the podcast, and I welcome any requests for topics and guests. With your help and support, I think we can build something really interesting here.

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.

See you next week,
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.