February 25, 2020
Welcome to Issue #78 of Off-by-none. It’s great to have you here! 🤘
Last week, we looked at a few posts that explored the pros and cons of microservices versus monoliths. This week, we’ve finally launched the Serverless Community Survey, plus we have lots of amazing content from the community.
The Serverless Community Survey is now LIVE! 🙌 I’ve been working with all of you for several weeks to put together a set of questions that would help everyone in the community (serverless users, solution providers, software vendors, and cloud providers) get a better understand of how people are using serverless, what they’re building with it, and how we can make it better. The survey is finally open and accepting responses.
The team at Nuweba is helping sponsor the survey and will be giving away a number of prizes to survey participants. The complete set of results (minus any PII) will be made available for anyone to use once the survey is complete. Please share with your networks and CLICK HERE to take the survey!
Modern monitoring for microservice & serverless architectures
Understand Lambda & container-based applications in a truly unified platform. Epsagon’s automated, end-to-end tracing enables full visibility into your production in minutes without needing to install an agent. Try free today.
An app modernization story
As I’ve said before, I really like what Cloud Run is doing. And this story from Mete Atamel about migrating from monolithic containers to microservices running on Cloud Run is a great example of the ability to evolve to a serverless infrastructure (yes, even if you are still using containers). I’m still not down with the whole Knative portability argument, because as you’ll see from his final architecture, Cloud Storage, Cloud Pub/Sub, and Cloud Firestore are the real lock-in, not the commoditized compute layer.
Decisions in the world where computing is commoditized — our serverless tale about event based project
Interesting read that hits on a few major points when planning to build a new application. Time to market is critical, and without an (already in place) experienced Ops team, the choice to invest time in designing and building out infrastructure (cloud-based or not), just seems to be antithetical to modern application development. No one should be saying that “serverless is easy” (because it’s not), but I have never in my 20+ years of application development seen a way to deliver value so quickly.
One year at The LEGO Group as an Application Engineer
I like to read stories about people who challenge themselves and grow as developers. Even better if they’re growing and applying their serverless knowledge.
Creating a Work Visa Search Engine
Chris Oh discusses how he build Visatopia using a serverless architecture, why he made the decisions he made, and how he worked around some of the problems he faced.
Ilai Malka from Nielsen Marketing Cloud explains the data processing platform they built using a serverless infrastructure, the cost savings they achieved, and some of the pitfalls they experienced.
From Django to Serverless
Another modernization story, this one from Nicolò Gasparini.
Experimenting with WebAssembly in a Serverless context
There are some super cool things going on with WASM and serverless, and it’s going to be interesting to see if and when this becomes the standard for compute at the edge. Perhaps even running directly on the client.
AWS Lambda Layers for sub-millisecond Static Cache
I’ve seen an optimization like this before, and depending on your use case, it might make sense. Paul Heath outlines how he uses a Lambda Layer to load static cache data into his Lambda functions.
Is it ok to call one Lambda function from another?
Paul Swail tries to answer the question that seems to plague most serverless developers from time to time. As with most things related to serverless best practices (or serverless in general), it’s complicated. He points out two times when he thinks this is okay, but there is a lot more context and nuance to function chaining, microservice communication patterns, and network configuration, that makes this question much more complicated than it seems.
Developing on AWS Lambda (Part 2): Understanding AWS event sources
George Mao gives you some more detail on AWS event sources and how to invoke Lambdas programmatically or automatically. He also shows you how to use SAM’s built-in
generate-event command to use for test invocations.
Some code is more equal than others
Paul Swail’s recent prolificness is benefiting us all, this time with some pros and cons of a “functionless” approach to building serverless applications. There are definitely times when it makes sense, but sometimes having an easier paradigm to wrap one’s head around is the winning factor.
DynamoDB Transactions Performance Testing
Alex DeBrie tests the theory that DynamoDB Transactions suffer from performance overhead. TLDR; they do, but it’s worth reading Alex’s post to see what impact transactions really have, and if they’re worth it given the right circumstances.
AWS CloudWatch Part 2/3: Alarms and Alerts
Ran Ribenzaft dives deeper into CloudWatch in part 2 of his series on the topic. This time he explains alarms and alerts and how you can implement anomaly detection, alerting a human, and more.
How is my AWS Lambda triggered?
Nothing wrong with the occasional refresher. Serkan Özal explains the ways in which a Lambda function can be triggered and what behavior you can expect.
Async Initialisation of a Lambda Handler
There was a good question asked on Twitter about how to make asynchronous initialization calls from outside your Node Lambda handlers. Paul Swail captured the suggested solutions. It’s a common question, so probably worth knowing in case you ever run into a need for it.
Reusing S3 bucket for multiple Serverless Framework projects deploy
Eduardo Rabelo explains how to organize your deployment artifacts for your Serverless Framework projects to keep from exceeding your AWS S3 Bucket limits.
An Introduction To Cloudflare Workers And Cloudflare KV store
Cloudflare Workers and the Cloudflare KV are very cool, and there are lots of interesting use cases that can be handled with them. Siddharth Shishulkar has a good piece that explains what they are, and what you can do with them.
Supercharge Development, Delivery and Management of Serverless Applications
Stackery empowers enterprise development teams to deliver Well-Architected serverless applications quickly, securely, and at scale— without the overhead of complex infrastructure and operations management. Accelerate overall development and secure delivery of serverless applications by up to 60x – so your team can focus on perfecting core business logic.
Adding a Custom Domain to the API in AWS Cloud
Super simple step-by-step tutorial by Hyoeun Lee that shows you how to add a custom domain to your Serverless Framework projects using the
Unit testing when using Lambda Layers
David Conde Marin shows you a simple trick with Jest to make unit testing your Lambda Layers a bit easier.
Super easy load testing for your Serverless APIs and Functions
Doesn’t matter if it’s serverless, or some other type of application architecture, knowing how to load test your applications is important. George Mao has a tutorial that shows you how to use Artillery to do just that. He also shows you how to use the
sigv4 plugin to authenticate requests.
Create PDF using Pdf-lib on Serverless AWS Lambda
Crespo Wang has another post showing you how to create PDFs with AWS Lambda, this time he’s using the
5 ways to make your serverless functions more secure
Eric Johnson (nope, not that one, and nope, not that one either) outlines a few key points to keeping your serverless applications safe. There hasn’t been a lot of security articles around serverless lately, and lots of these are just a rehashing of what has been said before. Nonetheless, I think we under appreciate the need for security in our serverless applications, so a reminder now and then can’t hurt.
Serverless is more than AWS Lambda
Tim Zonca from Stackery makes several important points in this post. He says that while Lambda (or really, event-driven ephemeral compute), is an important part of serverless applications, the abstraction and reduced friction of the architecture is what enables developers to move faster and focus on business logic. Plus, recognizing that non-serverless components are inevitable, and understanding how they fit into a serverless environment, will go a long way towards adoption.
Crossing the Serverless Chasm
Sven Al Hamad’s piece echoes the concerns of many in the serverless ecosystem, especially those of other vendors. Even as it’s gained steam, serverless remains a peripheral tool for many organizations. This makes it harder for innovative service providers and software vendors to target some of these early adopters that aren’t necessarily “all in” on serverless. But the work they are doing is critical to moving the ball forward.
Could Microsoft Azure Actually Win the Cloud?
Interesting piece by Matthew MacDonald, and I have to say, he might not be wrong. We’ve seen the coupling effects of Amazon.com and AWS on vendor preference and selection, and as Matthew points out in the article, there are still a lot of Microsoft shops that haven’t made a foray into the cloud yet. If Azure can eventually compete on solutions, what’s the likelihood of AWS getting those contracts?
Kubernetes is popular, complex, a security risk – and destined for invisibility
This article by Mark Albertson expands upon what Kelsey Hightower said in a tweet last December, “The cloud made the hypervisor disappear. Kubernetes will be next.” Kubernetes is a complex beast that requires so many configurations and add-ons, that most of us want nothing to do with managing it. I agree with Kelsey. The cloud will eventually reduce all that K8s complexity for you.
Question the Current Dogma: Is Kubernetes Hyper-Scale Necessary for Everyone?
Another important post by Tim Zonca. I know I’ve said this a thousand times, but compute has become more and more commoditized, and as Tim points out, “Hiring more people to manage and understand unnecessary plumbing doesn’t make sense.” I totally agree.
The Serverless Chats Podcast
Geek out on everything serverless! Each week, Jeremy Daly, serverless advocate, AWS Serverless Hero, and Off-by-none founder, chats with another serverless champion to explore and do a deep-dive into specific topics in the serverless space.
Serverless Chats – Episode #37: The State of Serverless Education with Dr. Peter Sbarski
In this episode, I chat with Dr. Peter Sbarski about why education is the key to serverless adoption, how certifications help build stronger teams, what traditional institutions need to do to adapt to the new cloud economy, and much more.
AWS Lambda now supports Ruby 2.7
For all you hardcore Ruby lovers, you can now enjoy support for new features like pattern matching, argument forwarding and numbered arguments. Also, the Ruby 2.7 runtime is built on top of Amazon Linux 2, so the performance should be much better as well.
AWS Lambda metric for Concurrent Executions now supports all functions, versions, and aliases
The ConcurrentExecutions metric is now emitted for all functions, versions, and aliases. You can use this metric to review usage patterns of your Lambda functions to see which ones are using up your reserved concurrency.
AWS Lambda participates in Compute Savings Plans
If you are using Lambda functions for heavy, sustained workloads, there’s now a way to potentially lower that cost by participating in the Compute Savings Plans. Here is some more info from Jeff Barr.
AWS has launched the Activate Founders package for Startups 🚀
If you’re building an app and want $1,000 is AWS credits, take a look at this new program. I will say, if you try to build your startup on Kubernetes, then you’ll probably blow through that pretty quickly. On the other hand, with a serverless approach, you’ll likely have a much longer runway.
Amazon Managed Cassandra Service now enables you to optimize the price of throughput for predictable workloads
If you have predictable workloads and you’re using MCS, then this is for you. But seriously, this looks like it could save you quite a bit of cash.
Offline debugging of Serverless Apps with Thundra
This is a very cool feature that Thundra recently released. Debugging your serverless applications is consistently one of the biggest complaints I hear, so being able to jump directly to your code to see where issues are is a big deal.
Why Object Lock is Cool: A Twitter Thread With all this talk about Veeam 10, I thought it would be good to take a step back and send out a note on why I am absurdly into S3 Object Lock ~ Paul Meighan
Great thread by Paul Meighan explaining what S3 Object Locks are and why you might need them.
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.
February 27, 2020 – ServerlessDays Nashville 🗣
March 19, 2020 – ServerlessDays Zürich
March 24, 2020 – ServerlessDays Helsinki 🗣
March 27, 2020 – ServerlessDays Hamburg 🗣
April 6, 2020 – ServerlessDays Boston
April 20, 2020 – ServerlessDays Auckland
April 23, 2020 – ServerlessDays Vienna
April 24, 2020 – ServerlessDays Paris
I’m off to Nashville, Tennessee tomorrow for the first ever Music City ServerlessDays conference. I’ll have plenty of stickers, so please come and find me if you want to chat about serverless. Also, please, please, please take the Serverless Community Survey and share it around. The data is 100% open source and will be available to anyone that wants to use it.
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.
Until next time,
Stay up to date on using serverless to build modern applications in the cloud. Get insights from experts, product releases, industry happenings, tutorials and much more, every week!
Check out all our amazing sponsors and find out how you can help spread the #serverless word by sponsoring an issue.
Jeremy is an AWS Serverless Hero that has a soft spot for helping people solve problems using serverless, and frequently consults with companies and developers transitioning away from the traditional “server-full” approach. You can find him ranting about serverless on Twitter, in several forums and Slack groups, the Serverless Chats podcast, and at (virtual) conferences around the world.
Off-by-none is committed to celebrating the diversity of the serverless community and recognizing the people who make it awesome. If you know of someone doing amazing things with serverless, please nominate them to be a Serverless Star ⭐️!