The future of serverless looks amazing… 🔮
Welcome to Issue #52 of Off-by-none. I’m so glad you’re here! 😉
Last week, I was at the AWS Developer Influencer Summit, learning how AWS is planning on taking serverless to the next level, as well as them eagerly listening to our (extensive) feedback. This week, we’ll give a quick recap of the event and then learn how publishing Lambda Layers might be a lot easier than we thought. Plus we have lots and lots of amazing content from the serverless community.
We’ve got plenty of great serverless content, so let’s get right to the good stuff. 👊
When you realize that AWS PMs really want your feedback… 📝
Last week I was honored to be a part of the first AWS Developer Influencer Summit in Seattle. It was a small group of about 70 people that came from all corners of the world. There were AWS community heroes, partners, and other independent voices that came together to learn what AWS was working on, and more importantly, to give our feedback. It was a great mix of serverless peeps, container folk, data wizards, developer tool jockeys, and ML/AI gurus. All sharing ideas and thoughts on how AWS can make their products and services better.
I wasn’t sure what to expect, but it turned out to be an incredibly rewarding experience. I spoke with several PMs from a number of different serverless teams, and I have to say, the future of serverless at AWS looks absolutely amazing! Not only that, but I got to hang out with some of the brightest minds in serverless, beat Chris Munns in the first live Twitch Serverless Challenge 😉, and then have the honor of losing the championship to Alex Casalboni‘s team (which Chris just happened to be on as well 🤨).
When you figure out that publishing Lambda Layers is easier than you thought… 🍰
So another crazy thing that happened at the AWS Developer Influencer Summit, was during one of the open discussions. The topic of Lambda Layers came up, and while many of us were complaining about working with them, Gojko Adzic literally blew our minds. He was then nice enough to blog about his solution…
Publishing Lambda Layers using SAR 🤯
So this is just flat out amazing. Lambda Layers are incredibly useful for sharing dependencies and compiled binaries, but the ability to use semantic versioning, or replicate them to other regions, always seemed like a massive inconvenience. Gojko Adzic brilliantly points out that these problem all go away if they are published as part of a SAR app. This is a must read if you are working with Lambda Layers.
How to include Serverless Repository apps in serverless.yml
And if you are wondering how to include a SAR (Serverless Application Repository) app in your Serverless Framework project, Yan Cui has a great post that will show you how.
Serverless News & Product Announcements 🚀
Zero instrumentation observability for AWS Lambda
The new Invocations Explorer provided by the Serverless Framework is a nice add-on to the observability features they’ve been launching lately. Very cool stuff.
Devs invited to bake ‘Run on Google Cloud’ button into git repos… By Google, of course
This is an interesting idea. “When you click the Cloud Run Button to deploy an application, it packages the application source code as a container image, pushes it to Google Container Registry, and deploys it on Cloud Run.” Hey, AWS! Maybe you should think about something like this.
Complete guide to AWS Step Functions
Yan Cui’s “Complete guide to AWS Step Functions” has been updated with more content and is now available for 50% off. I would suggest you take advantage of this offer while you can.
Introducing a better way to use Lumigo
Lumigo has joined the ranks of other observability companies and made it super simple to auto instrument your Serverless Framework projects with their tools. Simply install the new plugin, add your Lumigo token, and you’re off to the races.
Stay aware about your serverless stack with Thundra reports!
I like these proactive type reports that I get from some other observability tools. Glad that Thundra is now providing them as well.
Startup Rockset Adds SQL to DynamoDB
I have not tried Rockset yet, but this new feature appears to tie into DynamoDB streams to offer near realtime access to a SQL interface. I’ve often done this myself, but I think that since the use case is getting so popular, Rockset is smart to capitalize on it.
Serverless Stories 📖
How we reduced our API calls by 50%
Chad Dalton outlines a pretty slick way to eliminate OPTIONS API calls by using CloudFront to consolidate the host domain and use a custom origin to forward requests to the API. You could also minimize this by using the
Access-Control-Max-Age CORS header, but that’ll only get you part of the way there.
Serverless, Cognito, and Custom Resources
Pei Deng has some criticisms of serverless and CloudFormation. I don’t disagree that IAM and CloudFormation can overcomplicate things sometimes, but the tooling is getting better, and there are lots of resources out there to help. With that being said, this type of experience with serverless means we still have quite a bit of work to do.
Serverless Use Cases 🗺
The new way to create, develop and deploy Twilio functions
I’m a big fan of services like Twilio functions. I love the idea of SaaS providers allowing customers to write applications that interact with their services directly within their systems, making things like transformations and triggers more customizable. I worry that there is a risk of disparate business logic across platforms, but being able to build deployments into your pipelines will go a long way to solving these issues.
Log forwarding from S3 to ES on AWS using Lambda & Serverless Framework
Log shipping is a fairly popular use case. Deepthi Nalla outlines her method of getting S3 files to Elasticsearch with the help of Lambda.
Serverless session handling for load-balanced PHP applications
Implementing DynamoDB as a shared session store for load-balanced PHP applications from Christian Burger is an interesting use case. It certainly is a step towards serverless, and it’s a heck of a lot better than sticky sessions.
Tracking team mood with Mood-o-Meter app
Do you know if you team is in good spirits? Slava Guzenko created a simple serverless application that can track your team’s mood with just a single click. I think that small, standalone services like this are great use cases for serverless because a) they cost basically nothing to run, b) they are always available, and c) they are independent of other resources, so they never affect critical applications in your stack.
When you want to explore some advanced serverless concepts… 🏗
A Minimum Viable CloudFormation Template
If you’ve ever looked at a 2,000 line CloudFormation template and started experiencing vertigo, then you’re not alone. Adam Johnson takes a slightly different approach to testing CF templates, which is quite simple, but also very powerful.
Building a CI/CD pipeline for Serverless apps
The team at Seed.run has been producing content like it’s nobody’s business lately. They’ve compiled all their recent serverless CI/CD tips into a single post for you.
Serverless on GCP
So for all you Google Cloud fanatics, Tyler Treat does an excellent job outlining and differentiating all the serverless compute options available in GCP. I particularly like his advice at the end: “This is why we usually suggest starting with the highest level of abstraction possible and dropping down if and when needed.”
AWS Lambda or AWS Fargate: The Step-by-Step Guide to Choosing the Right Technology
Excellent post by Illia Saveliev that will help you make the choice between Fargate and Lambda. I personally don’t consider Fargate to be “serverless”, but there are certainly circumstance where you would need something other than Lambda. I think this article does a good job outlining the limits so you make the proper tradeoffs.
For the serverless newbie, we’ve got your back… 🐣
While there is some debate as to whether or not serverless apps “cost us nothing”, Dorian Machado gives you a really quick intro with some quick concepts and tools to get you started.
How to create your first AWS Lambda function in two easy steps
If you are looking for a very basic intro into how Lambda functions work, this quick post by Mariano Calandra will get you up and running with your first function in a matter of minutes.
Serverless Deployment with AWS SAM
If you want to start your serverless journey with an IaC (Infrastructure as Code) approach, then Olawale Olaleye’s post will give you a quick start using SAM (the Serverless Application Model) from AWS.
Serverless – Hello World
And if you want to use IaC with a framework that isn’t SAM, Dorian Machado has a quick “Hello World” tutorial using the Serverless Framework.
Serverless Tutorials 🏗
A simple event-sourcing example with snapshots using Lambda and DynamoDB
Very interesting post from Yan Cui about using DynamoDB to store an immutable ledger of events that can be used to recreate the current state of your application. The noteworthy part is using periodic snapshots to minimize the aggregate creation, which can be cumbersome in serverless applications without using a caching mechanism.
Build An AWS Serverless Application using SAM
If you have a few spare hours and want to go through a very thorough tutorial on how to build a serverless application with SAM, check out Hongbo Liu’s post.
Refactoring to Amazon DynamoDB
Want to get all that pesky relational data into DynamoDB tables? This post walks you through some data modeling with DynamoDB and shows you how to transfer existing data from a SQL Server database using AWS Glue.
Turn your AWS S3 data into insights you always wanted
This is a quick intro to AWS Athena, which is quite an amazing piece of technology. If you need to store and query event data, take a look at Athena.
Easily Deploy A Serverless CDN With Serverless Components
Serverless Components are small bits of functionality that are prepackaged to make deploying serverless solutions simpler. This post outlines how to create a global-scale CDN with just a few lines of configuration.
Serverless Security 🔒
Somebody else’s problem? Don’t rely on cloud service cybersecurity
This isn’t specific to serverless, but I think the article makes some very good points. It’s true that the underlying infrastructure for cloud providers is very secure, but there are still things cloud practitioners (including serverless developers) need to keep top of mind when deploying their applications. Security was, is, and will always be the most important piece of your application.
Nine AWS Security Hub best practices
And speaking of cloud security, AWS Security Hub is another really powerful tool that can help create more secure environments and applications. This post outlines nine best practices that should give you some ideas of how you can use it in your accounts.
Serverless Reads 🤓
Sleepless In Seattle
Richard Boyd, Cloud Data Engineer at iRobot, and tormentor of Ben Kehoe with AWS CDK stickers, was also at the AWS Developer Influencer Summit last week. He has recapped his experience for you and shared some of what he learned.
Hybrid nano-services and the rise of functional server-less dynamic architectures
Andrew L’Homme has an interesting thought piece on using systems to automatically compose serverless functions to minimize latency across network boundaries. There is a lot of work being done in this area, but whether this happens dynamically, or people do it manually, there is value and optimizations in pre-packaging serverless workflows.
Serverless architect emerges as in-demand job role
This is a good summary of Wisen Tanasa’s post from a few weeks ago. There is little doubt in my mind that companies will start embracing serverless, even if it is only for peripheral workloads. But either way, understanding the concepts outlined in this post will certainly put you in a better position.
Is Serverless Right Now For Your IT Organization?
I like to include interesting articles, even I don’t fully agree with them. Sherri Douville’s piece argues that serverless limitations, from a CIO’s perspective, makes it a “Good Experimental Option For Variable Workloads”, but not for critical ones. I do agree that we should pick the right tool for the job, but I would argue that many mission critical jobs are better off running serverless.
Yan Cui Interview
In this short interview with Yan Cui (aka theburningmonk), we get to hear some of his thoughts on the benefits and weaknesses of serverless, as well as his advice for serverless newbies. He also mentions “Off-by-none” as one of his favorite resources for learning more about the serverless ecosystem (which is much appreciated). 🙌
AWS Architecture Monthly (Cloud Computing)
So this is something I just found this week. Each month there is a selection of the best content around cloud architecture from AWS, and this month was all about serverless. There are a lot of good videos and articles in here.
Let Your Product Define Your Technology, Not Your Technology Define Your Product
This is sort of an advertisement for a software development company, but I really like the approach they take when building products and solutions for their customers. It doesn’t necessarily matter what technology is used to solve a problem, the key is to be flexible and adaptable to the problem. As this piece notes, serverless takes care of the basics, allowing the team to focus on solving domain problems instead. This flexibility can go a long way as the project grows and adapts.
AWS re:Invent 2019: Serverless Session Guide
Is it already time to start thinking about session choices at re:Invent? We’re still three months away, but planning ahead is never a bad idea. If you want some advice, as well as some serverless session options, this post from IOpipe has you covered.
Recession-Proof Your AWS Cloud
It is certainly possible to spend your way to failure if you let your AWS bill get out of control. The Serverless Guru points out some tools and tricks to make sure you eliminate unnecessary costs and optimize your existing services.
The Dark Side of AWS Lambda
Though the title sounds ominous, Adam Link was simply a victim of AWS limits. As he notes in the piece, this can easily be solved with plugins or clean up functions. The
serverless-prune-plugin is a staple in all my projects.
Kubernetes Workloads in the Serverless Era: Architecture, Platforms, and Trends
Okay, so I debated whether or not to include this article, because it’s basically just a puff piece for Kubernetes. However, after speaking with an industry analyst the other day, this ridiculous notion of multi-cloud is actually a thing. And because of that, and some of the serverless limitations mentioned in this piece, adoption is suffering at enterprise companies. It’s worth the read, if only to understand the momentum of K8s.
When you’d rather watch the movie instead of read the book… 🍿
Serverless Chats – Episode #11: Serverless Security in the Real World with Hillel Solow
In this episode, I chat with Hillel Solow about what’s different with security in serverless, which attack vectors are actually being targeted, and how we can significantly increase our security posture with good coding practices.
Best serverless video tutorials
If you like watching tutorials, the Dashbird has compiled a big long list of serverless videos for you to binge on a Friday night.
SynchroNet: Extending User Automation and Amazon WorkSpaces Provisioning with AWS Step Functions
Learn how SynchroNet uses a lightweight, serverless, event-driven architecture to ensure that the right user personas get the right workspace resources every time by automating Amazon Workspaces provisioning.
Some new Serverless Architecture videos from John and Mike
Here are two great serverless talks from Mike Roberts and John Chapin over at Symphonia.
When you finally make the Seattle coffee = AWS dev productivity connection… ☕️
Amazon Transcribe now supports speech-to-text in Russian and Chinese Mandarin–Mainland
Now if they can only get Amazon Transcribe to support English! 😂
Amazon ElastiCache announces online vertical scaling for Redis Cluster mode and improves scaling non-Redis Cluster mode
Um, this is pretty darn cool. I know several people (including me) that use Redis quite a bit in our stacks. A simple change to the instance size without losing data is very useful.
Amazon SQS Now Supports Tag-on-Create
Tagging, tagging, tagging! I really love how useful tags are in AWS, so it’s nice to see more first class support. The fact that you couldn’t do this in the past always boggled my mind.
Introducing AI-Powered Health Data Masking
This service helps healthcare organizations identify and mask health data in images or text. I find the move to focus on solutions for specific verticals to be an interesting approach. It provides out of the box solutions, but also lays the foundation for other creative use cases.
Amazon Forecast Now Generally Available
Amazon Forecast is a fully managed service that uses machine learning to deliver highly accurate forecasts. It is based on the same technology used at Amazon.com and might just add a bit of sophistication to your applications with little effort. You can read more about how it works here.
Serverless Tools 🛠
ddbsizemetric – Lambda Custom Resource that emits a metric on the size of your DynamoDB Tables
Richard Boyd published some AWS CDK constructs for Python and Node that lets you emit DynamoDB table storage sizes.
keithrozario/Klayers – A collection of AWS Lambda Layers for Python 3.7
If you’re looking for precompiled binaries for your Lambda Python projects, check out this great collection from Keith Rozario.
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.
August 29, 2019 – ServerlessDays Melbourne
August 29, 2019 – Serverless Framework : What’s New Demo (webinar)
September 4-6, 2019 – Production-ready Serverless Workshop – Full Stack Fest
October 7-9, 2019 – Serverlessconf 2019 in New York City
October 14-16, 2019 – Serverless Architecture Conference Berlin
October 24, 2019 – ServerlessDays Stockholm
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 Rebecca Marshburn (@beccaodelay). Rebecca is probably the most influential person in serverless that you’ve likely never heard of. That’s because she is a Product Marketing Manager for Serverless at AWS who works behind the scenes to wrangle and coordinate all the AWS Serverless Heroes. Since I first joined the program, she has been instrumental in helping with conference talks, travel, content, promotion, encouragement, and so much more! If it wasn’t for Rebecca, I’m not sure we’d be able to do the work that we do. Last week’s AWS Developer Influencer Summit was just another example of the valuable work that Rebecca does to help guide the future of serverless and make it easier for those in the community to learn and provide feedback. Rebecca, you are awesome! Thank you so much for all the ways you make us (and the community) better. 🙌
Final Thoughts 🤔
Listening to all the awesome feedback from some of the smartest people I’ve ever met, and having the teams at AWS be so excited by it, was very encouraging. The future of serverless is very bright, and I can’t wait to see what AWS does with the feedback it received. I have a feeling that the announcements at re:Invent are going to change the way people think about serverless.
Also, don’t forget that next week Off-by-none turns ONE YEAR OLD! We might have a few surprises for you as well as some special thank yous for you, our loyal readers! 🎉🎂🎁
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.
Until next time,
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.