I know that this week has weighed heavily on all of us. I grappled with how to start off this newsletter and share this week’s content given that recent events are deserving of our attention. The goal of this newsletter has always been to share content with the serverless community, and I still intend on doing that this week. But I can’t do that without addressing what’s been going on in our communities across the United States.
There are no words to explain how saddened and sickened I am by the tragic events that have occurred during the past week. I’m not sure my voice carries much weight, or adds anything meaningful to the national conversation, but I do want to echo an important message that must be repeated over and over until it becomes a fundamental truth in American society: #BlackLivesMatter.
More Use Cases for Step Functions…
Welcome to Issue #92 of Off-by-none. Thanks for being here!
Last week, we saw how a “typical” serverless architecture sparked some strong opinions about serverless complexity. This week, we meet some new serverless heroes, Step Functions get more attention, and GCP jumps on the Java train. Plus, we have lots of great posts from the serverless community.
Serverless News & Announcements 📣
Webinar: How to Use Knative to Build Event-Driven Application Flows
Join Sebastien Goasguen, TriggerMesh co-founder, Kubeless creator, and author of the Kubernetes Cookbook for a live webinar on June 11. Sebastien will demo how the Knative API and TriggerMesh let you trigger functions on any cloud with a single mechanism and cap your EventBridge costs. Learn more and register here.
Introducing the latest AWS Heroes – May, 2020
Congratulations and welcome to all the new AWS Heroes including serverless heroes Kyuhyun Byun and Serkan Özal!
Understanding the pains of building serverless applications
Paul Swail is running a serverless adoption survey, and he’d like you to participate. It’s a very short survey, so it shouldn’t take you more than a few minutes.
Introducing Java 11 on Google Cloud Functions
Google Cloud Functions now supports Java, so you can now write Cloud Functions using your favorite JVM languages (Java, Kotlin, Groovy, Scala, etc) with their Functions Framework for Java, and also with Spring Cloud Functions and Micronaut.
Serverless Express – Easy APIs On AWS Lambda & AWS HTTP API
This uses the new Serverless Components and configuring it requires about 5 lines of YAML. I’m a big fan of these higher levels of abstraction that incorporate sane defaults and best practices for you. Also, the development feedback loop is screaming fast.
ACG Cloud Playground
Get your hands cloudy with A Cloud Guru’s new Cloud Playground. This is really cool. Set up environments on the major cloud providers and break stuff to your heart’s content, without affecting any of your own environments.
Serverless Stories 📖
How to start your blog for 20 cents
I found this post to be interesting because it makes the case for serverless, but is also sprinkled with misleading information about use cases and some potentially bad options for accessing and saving state. I appreciate authors writing these posts, but I don’t know if these do more harm then good.
HTML5VideoBank — How We Got $5M of IT Infrastructure For Next to Nothing
Akeel Din points out the infrastructure cost differences from what would have been a traditional system years ago to the cost of doing it now using FaaS.
Serverless Use Cases 🗺
10 Recommendations for writing pragmatic AWS Lambdas in Python
Jan Groth outlines a collection of design patterns and best practices to implement AWS Lambdas in Python. Lots of good stuff in here about DevOps use cases.
Serverless ETL using AWS Step Function -100,000 files under $30
Sohit Kumar points out a great use case for serverless, running ETL tasks. In his scenario, they have a bit of complexity, so Step Functions work really well in this situation. I’m wondering if they could get the cost down using Express Workflows?
Serverless Concepts 🏗
Logging within AWS Lambda Functions (python edition)
Everything you’ve ever wanted to know about logging in Lambda functions written in python (and perhaps even some things you didn’t) by Keith Rozario.
Tom McLaughlin has an excellent 5 part series that is meant to be a primer for individuals or teams building their first serverless application. This series addresses the common conceptual and tactical questions that occur during the serverless development and operational lifecycle.
Stupid Simple Kubernetes
I think Czako Zoltan got at least two words right in his article title 😉, but for those that really want to get a better understanding of Kubernetes, this article will give you a good overview.
AWS API Gateway vs. Application Load Balancer (ALB)
Renato Byrro gives you a breakdown of the differences between API Gateway and Application Load Balancers. There are some use cases that could make ALBs a better choice, but the majority most likely fall to API Gateway.
Caching with AWS Serverless Applications
Serkan Özal has a great post that shows you different levels of caching within AWS serverless applications and when and how to use them.
Serverless Tutorials 👷♀️
Serverless: Breaking a large serverless.yml into manageable chunks
Hussain Ali Akbar has a quick tip for helping to maintain some sanity when building larger serverless projects with the Serverless Framework. This is a handy trick for when you have multiple people working on different functions in the same project, as each function configuration can be updated independently.
Serverless: Simple CRUD Application in 10 minutes on AWS
Roberto Frontado has an excellent tutorial that shows you how to build a serverless TODO application using TypeScript, AWS Lambda, and DynamoDB.
How to Use TypeScript for AWS Lambda in 3 Steps
Zijing Zhao shows you how to compile your TypeScript and deploy it to AWS Lambda. TypeScript has a lot of great features, and if you’ve never used it, this simple guide will show you how easy it is to start benefiting from it in your serverless applications.
Simplifying application orchestration with AWS Step Functions and AWS SAM
Another really well done tutorial by Rob Sutter that shows you how to use the newly added AWS Step Functions support in AWS SAM.
Building a location-based, scalable, serverless web app – part 1
James Beswick is knocking it out of the park with these serverless application tutorials he’s been writing, and this one is no exception. Lots of detailed explanations, code references, and years of experience wrapped up in a nice package for you.
Serverless Reads 🤓
Innovator Island: A free, hands-on, virtual serverless workshop with AWS expert James Beswick
Innovator Island debuted as a hands-on workshop at re:Invent last year. This year, the AWS Serverless team is bringing it to you in virtual format, totally free. Sign up to join AWS Serverless expert James Beswick for an hour a day, June 8 – June 12, to build a complete serverless web application using AWS Amplify, AWS Lambda, AWS SAM, AWS IoT Core, Amazon EventBridge, and more. You’ll get hands-on instruction and have access to all sorts of help from AWS experts.
Challenging the Status Quo! Serverless Casserole — Part 2
I always enjoy reading Sheen Brisals’ posts, and in this one he lays out an excellent rationale for why his team started adopting Lambda Destinations for both the failure and success modes of asynchronous invocations. (And thanks for the mention 😉)
Serverless Eventing: Why You Need an Event Bus!
Jay Smith makes the case for using event buses in your serverless microservice communications. There are a lot of options in this space (as he points out), but he actually missed Amazon EventBridge, which should be your default choice in AWS.
State of the Jamstack Survey 2020: First results
If you’re building serverless applications and you’re not thinking about the Jamstack, you might need to do some rethinking. This study probably tells most of us what we already knew, but seeing 11ty making a strong showing for SSGs is really interesting.
Shelves are well-stocked with cloud-native tools, but simplicity remains a moving target
Interesting discussion here. We have a ton of cloud-native tools available to us, but there is a lot of overlap that is making the adoption process harder.
Serverless Podcasts and Videos 🎥
Serverless Chats – Episode #51: Globally Resilient Architectures with Adrian Hornsby
In this episode, I chat with Adrian Hornsby about why you need to embrace failure at scale, how to avoiding cascading failures, when to cache for resiliency, and much more. Watch on YouTube.
Using a custom runtime with AWS Lambda (example with Deno the new JS framework)
Deno as a custom runtime with first-class support for TypeScript? What could be better? Marcia Villalba walks you through connecting an existing Deno Lambda Layer and shows you how to run a TypeScript file directly in Lambda.
New from AWS 🆕
AWS SAM adds support for AWS Step Functions
This is awesome, and the implementation is really well done. AWS Step Functions are not that complicated to implement, but integrating them with deployment frameworks has always been over-complicated. First class support from SAM was much needed.
Announcing General Availability of Amplify iOS and Amplify Android, with new authentication, data, and AI/ML support
The Amplify team keeps making it easier and easier to build full-featured serverless applications, and now with the iOS and Android libraries, building native apps should be much simpler as well. More info here.
Amazon RDS Proxy (Preview) Now Available in 8 Additional AWS Regions
I really like what RDS Proxy is trying to solve, but it’s still not a silver bullet, and it doesn’t work with Aurora Serverless. However, for those that didn’t realize the Lambda/RDBMS problem when they created their apps, this can be a nice bandaid.
AWS Fargate now encrypts data stored on ephemeral storage by default in platform version 1.4
This is a great security improvement, even if the likelihood of this data being exposed was low in the first place.
Amazon RDS Data API and Amazon RDS Query Editor are available in additional regions
I’m a huge fan of the Data API, mostly because it doesn’t require your Lambda functions to be in a VPC to use it. It might not be the best choice for all synchronous workflows, but for async, it was a game changer for me.
CodePipeline supports invoking Step Functions with a new action type
This is another awesome feature. Imagine being able to coordinate multiple processes (like schema changes, DNS routing updates, multi-region deployments) and then having the ability to rollback the entire thing if there are errors? Well, now you totally can!
Serverless Tools 🛠
New LaTeX.CSS Library Enables Websites to Look Like LaTeX Docs
Nothing to do with serverless, but totally worth mentioning. This almost class-less CSS library turns your HTML document into a website that looks like a LATEX document. Very cool stuff.
Thoughts from Twitter 🐦
I have spent quite a bit of time with AppSync on a few projects, and it’s really grown on me, big time. So much of what’s difficult with API GW comes out-of-the-box. Here are 5 things that really stood out. ~ Yan Cui
Excellent thread by Yan Cui about his experience adopting AppSync and what about it makes it so advantageous to API Gateway. There are a lot of good points in here that has me itching to start thinking more seriously about it. I’ve been stuck in REST land for too long.
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.
June 3, 2020 – Mastering AWS Organizations with Infrastructure-As-Code
June 4, 2020 – ServerlessDays Milan (Virtual)
June 4, 2020 – Sessions With SAM – The Step Functions Edition
June 9, 2020 – The State of Serverless in 2020
June 10, 2020 – Nordic Serverless – Serverless Developer Experience
June 10 & 11, 2020 – AWS Virtual Amplify Days
June 11, 2020 – How to Use Knative to Build Event-Driven Application Flows
June 26, 2020 – AWS Serverless Community Day
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 Takahiro Horike (@horike37). Takahiro is the CEO of Serverless Operations, Inc., which offers consulting and development services to help its customers design, develop, and maintain serverless applications. Takahiro is also a core contributor to the Serverless Framework, and creator of the Serverless Step functions and API Gateway Service Proxy plugins. His passion for serverless is a central fixture in all of his projects. Thank you for helping make serverless more accessible, Takahiro! 🙌
Final Thoughts 🤔
I will continue to think of ways that I can make this newsletter more inclusive, but if you have any thoughts or ideas on how to add more voices and diversity, or how we as a serverless community can work together to bring about systemic change, please let me know. You can reach me via Twitter, LinkedIn, Facebook, or email.
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.