A Weekly Newsletter By Jeremy Daly

Off-by-none: Issue #94

June 16, 2020

A Year of Serverless Chats… 🎉

Welcome to Issue #94 of Off-by-none. Thanks for being here!

Last week, we got a new serverless headless CMS, learned about the next generation of the LAMP stack, and asked, “Do you really need Kubernetes?” This week, we find out why now is the time to go serverless, learn how to build our own Chaos Monkey, and celebrate a year of Serverless Chats. Plus, we have plenty of amazing posts from the serverless community.

Serverless News & Announcements 📣

What Every CIO Needs to Know about Serverless
This TriggerMesh guide includes feature comparisons of major offerings and an introduction to foundational concepts like cloud native and microservices. Please check it out! We hope it can help inform your peers and managers on serverless benefits and available options. Sponsored

Check Point Software Launches CloudGuard Cloud Native Security, Delivering Complete Protection for Any Cloud and Workload
Check Point (who acquired our friends at Protego a while back), has launched their new security platform. The Protego platform was very cool, so I have a feeling this will incorporate the best parts of it.

Epsagon Achieves AWS Container Competency Status
Congrats to the team over at Epsagon for achieving this. I’ve always been a big fan of what Epsagon does, so whether you’re serverless, container-based, or running on VMs, Epsagon’s got your covered.

Want To Contribute To An Upcoming Book?
If you’d like to share your knowledge of the cloud and get published at the same time, O’Reilly Media is looking for essays on a number of topics. I’m looking forward to reading this once it comes out.

Serverless Stories 📖

What you need to know to build a serverless communication system
Garrett Vargas explains how his company built a serverless email system that handles the often overlooked concept of idempotency. He also provides some code snippets to help you implement this for yourself.

Recreational Programming with Serverless
Mathias Lafeldt repurposed his AWS Community Talk into an excellent blog post that (a) is critical of Kubernetes, and (b) points out why serverless is such a useful tool for building in the cloud without distraction.

Real-time Thumbnail Generation in a (mostly) Serverless AWS Architecture
Excellent writeup by Luca Tiozzo that recounts how they built their thumbnail generation tool and the improvements and upgrades made over the years. One of the very cool features he mentions is auto-cropping using subject faces to determine the crop position. This is a common technique, and actually quite easy to implement with some of the built-in cloud services.

Serverless Use Cases 🗺

Automated end-to-end observability for microservice environments
Epsagon enables full-depth observability of complex serverless and containerized architectures, delivering the automation needed to instantly identify, troubleshoot, and resolve issues before they affect production. Try free today. Sponsored

Planning on using AWS Step Functions? Think again
Bassem Dghaidi outlines a few use cases for AWS Step Functions and gives you the pros and cons of each. I really like Step Functions, but as Bassem points out, knowing when to use them is more important than the how.

Automatically creating contacts & deals in Hubspot using Netlify Functions
Besides using serverless to handle simple backend workflows (like calling the HubSpot API), integrating it as part of your mostly static sites is just an all around perfect use case.

Searching the Clouds for Serverless GPU
Jorrit Sandbrink built a side project that needs TensorFlow and GPUs to run efficiently, but after some research, realized that this is still one of those use cases that serverless isn’t great at addressing.

Start/Stop AWS-EC2 Instances using AWS IoT Button & AWS Lambda
I love this use case! Sure, maybe shutting down an EC2 instance isn’t the best use of an IoT Button, but just the fact that you can do it is pretty great.

Serverless Concepts 🏗

Building well-architected serverless applications: Approaching application lifecycle management – part 1
Julian Wood continues his series on using the Serverless Lens of the Well-Architected framework to build using best practices. In this post, he shows you how to approach application lifecycle management using infrastructure as code and stages to isolate environments.

Structuring Serverless Projects
Nick Holbrook has a good post on how to structure Serverless Framework projects. I think his approach (at least for monorepos) has become widely adopted, so for smaller projects, this is a good starting point. I’ve become a big fan of putting function configuration YAML files right next to the function code. This makes merging and code reviews much easier.

Cloudflare Workers KV Introduction
Kay Plößer has a follow up post that provides a helpful introduction to Cloudflare Workers KV. Lots of detail in here including some code to help you get started.

Node.js Serverless AWS Lambda Function: How to cache MongoDB connection and reuse it between function calls?
If you’re still using MongoDB in your serverless applications, then this post by João Marins will give you the details on how to manage your connections from Lambda functions.

Migrating Serverless Architecture from AWS to GCP
Interesting post by Andrey Zaikin that explains the process for migrating a serverless app from AWS to GCP. There is a lot of complexity when doing this, but I’m still guessing it takes less time than building an app that’s “cloud agnostic”. I also think the likelihood of needing to move is going to be very small.

Serverless Tutorials 👷‍♀️

COURSE: Testing Serverless Apps using Hexagonal Architecture in 2 weeks 👩‍🏫
Testing serverless apps isn’t as difficult as you might think. Over 2 weeks, learn which approach to take, how to prepare your app for testing, and how to write tests without sacrificing speed or agility. Taught by AWS Serverless Heroes Slobodan Stojanović and Aleksandar Simovic, on the Homeschool by Senzo platform. Register now and get 10% off  Sponsored

Introducing the serverless LAMP stack – part 2 relational databases
Benjamin Smith goes deeper into the new (L)ambda (A)PI Gateway (M)ySQL (P)HP stack with a run down on how to deploy your PHP Lambda functions with VPC access and how to use RDS Proxy to mitigate connection exhaustion issues.

8 simple steps to add a serverless back end to a Vue.js project
I’ve never actually used WarpJS, but this post from Dominique Péré shows you how simple it is for front-end developers to easily publish serverless functions.

Building a location-based, scalable, serverless web app – Part 2 & Part 3
In parts 2 and 3 of James Beswick’s series, he explains the API Gateway setup, geohashing implementation, backend processing, and data aggregation. This is an excellent series for anyone looking for a comprehensive tutorial for building serverless applications.

Creating your own Chaos Monkey with AWS Systems Manager Automation
I truly appreciate all the work that Adrian Hornsby has done in the chaos engineering space, and this new post is a great primer (and tutorial) that will show you how chaos engineering can be applied to your organization to help build more resilient systems.

Serverless Reads 🤓

Why Now Is The Time To Go Serverless
Great post by Romi Stein that points out a number of reasons why companies shouldn’t be waiting any longer to adopt serverless. One of the great points he makes has to do with rapidly changing customer behavior. We live in a world where everything from memes to new apps can become global in minutes. 99.999% of the time, designing and provisioning systems for that is completely pointless. But with serverless (if done right), it’s not a choice that needs to be made.

It’s The End Of Infrastructure-As-A-Service As We Know It: Here’s What’s Next
Another helpful (and accurate) piece from the Forbes Technology Council on serverless and cloud computing. Lots of good points in this article, and probably a good one to forward to your stubborn manager. 😉

The CTO’s Guide to Serverless Computing
Then there are articles like this. I think most of the information and advice is sound, but recommendations like “CTOs should focus on ‘greenfield’ use cases for serverless functions” are just plain wrong. My recommendation would be that CTOs focus on reducing operational complexity and work on migrating components that require too much undifferentiated heaving lifting from your teams.

Cloud Computing: Technology Trends
Here’s a random article that I came across that summarizes some of the current trends in cloud computing. Not a ton of surprises here, but there seems to be strong support for serverless (to reduce DevOps overhead), interest in edge computing, and a renewed interest in microservices with serverless at the forefront.

New Report Shows “Overwhelming” Cloud Usage
We covered the Cloud Adoption in 2020 report a few weeks ago, but this analysis made the point that “a surprising number of respondents expressed little interest in [the serverless] paradigm.” I’m really curious why that is.

Will Amazon Managed Apache Cassandra Service Replace DynamoDB?
Interesting perspective from Serkan Özal here about why Managed Cassandra is better than DynamoDB. I’m not sure I’m in that camp, but I’d be happy to hear your perspective.

The compounding returns of Serverless
Even though this post by Brian Foody is short, it says a heckuva lot. Serverless applications might not be completely “set it and forget it”, but my experience and perspective is similar to his. Solving the same problems gets us nowhere, but being able to focus mostly on customer value (even if it’s just by a team of one), will always be a winning strategy.

Videos, podcasts, and more… 📽

Serverless Chats – Episode #53: A Year of Serverless Chats
In this special episode, we look back at the first year of Serverless Chats. Thank you to all my guests and to all of you for listening! We have some exciting new announcements coming soon, so stay tuned.

DynamoDB The Database of Choice for Serverless Applications with Alex DeBrie
Alex DeBrie joins Corey Quinn on the latest episode of Screaming in the Cloud to discuss why he wrote his book, what to thinking about when trying to scale your data in the cloud, and a whole lot more.

How to Design Serverless Event-Driven Applications (with the help of Amazon EventBridge)
In this video, James Beswick joins Marcia Villalba to discuss how to design serverless event-driven applications using Amazon EventBridge.

New from AWS 🆕

Amazon CloudFront enables configurable origin connection attempts and origin connection timeouts
This is a hugely important feature that gives you more control over origin failover with CloudFront. You can now configure the number of connection attempts, the connection timeout, and the origin response timeout.

Alexa for Business now available on Lifesize Icon meeting room systems
So maybe not a highly relevant announcement for most of us, but I’m a big believer that voice interfaces are going to become widely adopted for business applications. I did an entire Serverless Chats episode on this, because serverless plays a big part.

Improve productivity with interactive SQL tools in Amazon Elasticsearch Service
I’ll say this again, if we could only make this serverless! I don’t know if you’ve ever written queries for Elasticsearch, but it is always a painstaking adventure. Looking forward to trying this out.

Updated digital course: Architecting Serverless Solutions
This free course has now added hands-on learning with optional labs where you can learn how to build a serverless application as well as how to deal with failure management, performance testing, auditing, and updating applications without downtime.

AWS Shield Advanced now supports proactive response to events
Probably not something your average start up is going to use (or be able to afford), but this new service actually makes a lot of sense for critical workloads.

Introducing AWS CodeArtifact: A fully managed software artifact repository service
This is a very cool new service from AWS. Managing and maintaining code artifacts is a pain, but this new service gives you a ton of great features for auditing, securing, and managing your packages. Read more here.

Serverless Tools 🛠

The Teal Programming Language
Run stateful Python business logic on AWS Lambda without managing infrastructure. According to the documentation, it’s like Step Functions, “but is cheaper (pay only for the Lambda invocations and process data), and way easier to program and test.” 🤷‍♂️

Thoughts from Twitter 🐦

TIL that all of HN runs on a *single* machine with one backup – As much as you’ll see me comment about serverless, you will never see me put down serverful development. it is still super early days and the tooling and metalanguage needed is still in flux. ~ Shawn Wang
I liked this post by Shawn because it’s important to remember that one-size almost never fits all. I think (once you become comfortable with the paradigm) that serverless can add a tremendous amount of operational efficiency to companies large and small, but it’s not a silver bullet (yet).

An interesting consequence of the “serverless is expensive” myth is that engineers are more eager to calculate the cost of app/service that they plan to build. And in most cases (of course, depending on the scale), they are surprised how cheap it is. ~ Maciej Winnicki
Good points in this thread by Maciej. There are comments about the cost of NAT Gateways being something that disproportionately affect your costs, which is why I try to avoid VPCs for Lambdas that need outbound Internet access.

Serverless Jobs 👩‍💻 Sponsored

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 22, 2020 – Testing Serverless Apps using Hexagonal Architecture (Course)

June 24, 2020 – Serverless Security Strategies: Under the Hood (AWS Fireside Chat)

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 Murali Allada (@amuralis). Murali is a Consultant who helps his clients build serverless applications, as well as critical infrastructure and platforms in the cloud. Murali was previously a Principal Software Engineer at Ixia where he worked on their CloudLens platform, which was designed using a completely serverless architecture. Prior to these roles, Murali worked on open source software at Rackspace and cloud-based platforms at Microsoft. He’s also written pieces on serverless, DynamoDB, and AWS. Thank you, Murali, for being a part of this serverless movement! 🙌

Final Thoughts 🤔

If you’re still looking for ways to support the Black Lives Matter movement, AWS Serverless Hero coordinator (and amazing human being), Rebecca Marshburn, is currently accepting donations from non-Amazonians and applying them to Amazon’s Matching policy for organizations that support Black equity. If you’d like to have your donations’ impact doubled, you can Venmo her at Rebecca-Marshburn-1 and include your email address in the notes section. She’ll email you a receipt of your donation’s match! Get your donation in before July 6th!

We’re always looking for ideas and feedback to make the newsletter better and more inclusive, so please feel free to reach out to me via Twitter, LinkedIn, Facebook, or email.

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