A Weekly Newsletter By Jeremy Daly

Off-by-none: Issue #49

August 6, 2019

Introducing Serverless Components… 🚀

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

Last week, we took a deep dive into Laravel Vapor, a new service that lets you deploy serverless Laravel applications. This week, we look at the new Serverless Components, plus we have plenty of great serverless content from the community.

There’s a lot of serverless to get to, so let’s get started. 🏇

When you’d rather focus on outcomes… 🏆

This past week, Serverless, Inc. announced Serverless Components Beta, a new way to easily deploy serverless applications without complex infrastructure configuration files. The idea is to create reusable, composable, cloud-agnostic components that completely abstract away infrastructure configuration. It’s sort of like SAR (the Serverless Application Repository) from AWS, but even easier to use. Just a few simple parameters, and all of the infrastructure complexity is handled for you.

You can check out the repo here: serverless/components

People have already started playing around with Serverless Components. Check out Gavin Lewis’s Road Testing Serverless Framework’s Components and Christopher Bartling’s Deploying Gatsby websites using Serverless Components for some early feedback.

Serverless News & Product Announcements 🚀

Epsagon Delivers Automated, Distributed Tracing for .NET Apps
Epsagon now supports .NET, enabling more support for hybrid environments.

EventBridge Use Cases and Examples
v1.49.0 of the Serverless Framework now has support for Amazon EventBridge. Philipp Müns gives us a great overview of some of the use cases that it can support.

Announcing PartiQL: One query language for all your data
Hmm, this looks… interesting. Too bad it needs to run on a JVM. I’ll be curious to see where this goes and whether or not it crosses over into ORM territory.

Introducing the AWS Baseline
Florian Motlik just released a really interesting open source tool that lets you deploy and manage multiple AWS accounts using a series of customizable defaults. He explains the differences between this and Control Tower in this post, and why you might want to take a look at what he’s done.

Serverless Step Functions: no more leaky abstractions
Version 2.2 of the Serverless Step Functions plugin now allows you to use the local function name instead of CloudFormation logical IDs generated by the Serverless Framework. 👍

Serverless Stories 📖

Monolith to Microservices to Serverless — Our journey
Ben Jones from ResponseTap discusses his teams transition from a traditional monolith, through K8s, and then finally on to serverless.

Custom Runtimes in AWS Lambda. A good idea? Yes, but only if you have to!
Ben Ellerby recounts his experience with the pros and cons of using custom runtimes in AWS Lambda.

Serverless Use Cases 🗺

Building a state-aware workflow with Amazon Connect and AWS Step Functions
Naveen Narayan shows you how to use Step Functions along with other AWS services to build a better customer support ticketing system.

Launch: AWS Budgets Integration with AWS Chatbot
This is a great example by Erin Carlson and Matt Cowsert of how to stitch a few AWS serverless services together to solve real world problems.

Cross-Region Actions with CodePipeline on AWS
Gavin Lewis outlines a use case that could be applied to lots of deployment scenarios. I honestly don’t think I’ve ever seen two CI/CD pipelines that are alike.

If you’re interested in learning some advanced serverless concepts… 🏗

Building a Custom Serverless Chatbot — Pieces & Parts
Paul Heath put together quite the compendium of information on serverless chatbots. Lots of reference information in here, but if you’re thinking of building one, this could save you quite a bit of research time.

Intro to Lambda Layers in Python
Lambda Layers are incredibly powerful and make it easy to split out reusable code into separate components. This piece will get you started.

AWS Amplify beyond the quickstart
Christophe Bougère does a deep dive into AWS Amplify, along with thoughts on limitations, some real world integration examples, and a wishlist for the Amplify team.

If you’re just starting your serverless journey… 🐣

How to Create an HTTP Endpoint on AWS With Serverless Framework
Matt Solomon has a great starter tutorial for anyone looking to get started with the Serverless Framework.

Building RESTful APIs — Serverless — Part 1 – AWS Cognito User PoolsPart 2 – AWS Lambda, and Part 3 – API Gateway
In this three part series by Mahfuzul Alam, he walks you through building a serverless RESTful API using AWS services. Next step is IaC.

Anatomy of a Serverless YAML File
Here’s a great resource from Richard Keller that explains what each part of the serverless.yml file does.

The Serverless Framework vs Stackery
This is like a heavyweight title bout. 💪 Masoud Abdi gives some of the reasons why you might choose one over the other, but I still think Muhammad Ali would come out on top. 😉

Function as a Service — A new paradigm shift in Software Development
Dineshkumar Yadav has some thoughts on the power and limitations of FaaS.

Move Your Spring Boot API to AWS Lambda and Reduce Costs by 100%
Yann Stoneman points out the benefits of moving your Java app to Lambda.

Serverless Tutorials 🏗

Toward a bastion-less world
I still haven’t tried this new feature with AWS Session Manager, but Vinod Shukla gives you a full rundown of how to configure it.

Serverless WebSockets
Mischa Spiegelmock takes you through the history of bi-directional web communication and shows you how to use WebSocket support in API Gateway.

Testing Cloud Functions with Jest
Testing is one of my favorite topics, and Keith Coughtrey has put together a good overview of how to get started with Jest.

How to make serverless framework boilerplates customizable
Yan Cui has some ways to customize boilerplates in your serverless.yml files. This overcomplicates things for me, but I can see it working in the right circumstances.

Excluding the AWS SDK from a Serverless Package
Chris Shepherd offers a workaround to reduce your package sizes by cutting out the AWS-SDK. Current best practice is to include the version of the AWS-SDK that you need for your project, which seems heavy, but will get better once v3 is launched.

Serverless Security 🔒

Secrets Management for AWS Powered Serverless Applications
Gareth McCumskey has another great post about managing secrets in Serverless applications. There are many ways to do this, but the new Serverless Framework capabilities are pretty sweet.

Analyzing AWS WAF logs with Amazon ES, Amazon Athena, and Amazon QuickSight
Great post by Aaron Franco that shows you how to aggregate all your AWS WAF logs into a central data lake so that you can query and visualize them.

S3 Bucket Namesquatting – Abusing predictable S3 bucket names
This is an interesting piece by Ian Mckay that talks about a different type of vulnerability that could affect your automation scripts.

Serverless Reads 🤓

Serverless is not a Technology
Toby Fee explains why serverless is not a technology and not a product, but a goal. Great comparison to DevOps as being an ideal state of collaboration.

Infrastructure as Code in the Era of GraphQL and Full Stack Serverless
Nader Dabit has a vision for the future of full stack application development, and Amplify is a manifestation of that vision. This is a very interesting read.

AWS CloudFormation is an infrastructure graph management service — and needs to act more like it
Ben Kehoe outlines one of the major issues with CloudFormation that requires sanctioned workarounds in order to appropriately connect resources when deploying your infrastructure.

Do X-Ray and IOpipe play nice together?
According to Austin Huminski, yes, they do. There is some good detail in here about how X-Ray works and how observability services like IOpipe go beyond what standard AWS tools do.

Building Serverless Data Lake Pipeline on AWS
Looking for some ideas around building a data lake, Joey Yi Zhao outlines his thoughts on using Glue along with some other services to create one of his own. Sample code included.

Cloud Run VS Cloud Functions: What’s the lowest cost?
This is a really interesting piece by Guillaume Blaquiere that compares these Google Cloud services on more than just cost. I really like the isolation that the single concurrency model brings, but Cloud Run is really interesting.

It’s Time for Fullstack Dev Tools
Interesting idea by Nir Soudry to start integrating browser dev tools with backend tracing technologies. It would be really great to see the whole picture.

When you prefer multimedia experiences… 📽

Serverless Chats Podcast – Episode #8: Observability in Modern Applications with Ran Ribenzaft
In this episode, I chat with Ran Ribenzaft about the three pillars of observability, how we instrument our code, and the how and why of distributed tracing in modern applications.

Simple example using Amazon EventBridge
Marcia Villalba shows you the basics of EventBridge with the Serverless Framework. But since this video was recorded (just a week ago), native support has been added in the Framework. Things move fast!

Building Resilient Serverless Systems
In this QCon presentation, John Chapin explains how to use serverless technologies and IaC to build resilient systems in the cloud.

Serverless chaos – Disk space failure
Gunnar Grosch looks at using tmp storage with AWS Lambda and creates a chaos engineering experiment to simulate a disk space failure.

FLOSS Weekly 540 Serverless – Podcast
Gareth McCumskey is a guest on this podcast and explains what serverless is and what you can do with it. If you think everybody knows about serverless, I think this podcast will open your eyes a bit. We have a ways to go to spread the word of serverless.

The Right Serverless Mindset & Multi-Cloud Strategies and Compliance and Zero-Trust
The new Serverless Smarts podcast by Protego has an episode with Ryan Jones from Serverless Guru. These are two posts that sum up parts of the discussion.

Distributed Tracing in Modern Applications – Microservices and Containers
Epsagon has a webinar with Ran Ribenzaft and Hen Peretz, along with Stuart Scott from Cloud Academy to give you some fundamentals of distributed tracing and instrumentation.

When you’re wondering what AWS is building… 👷‍♀️

Amazon Polly Launches Neural Text-to-Speech and Newscaster Voices
Neural Text-to-Speech (NTTS) technology, which delivers “ground-breaking improvements in speech quality through a new machine learning approach”, is now available on Polly. Plus several new voices.

Amplify Framework Adds Predictions Category
“No previous machine learning experience is required.” This new Predications category lets you easily plug in services like Rekognition, Textract, Transcribe, and Comprehend. More details here.

Lambda@Edge Adds Support for Python 3.7
What’s next, custom runtimes? 😜 There’s more work to be done with Lambda@Edge, but adding additional runtimes is a good next step.

AWS CloudFormation now supports higher StackSets limits
The number of stack sets you can have in your administrator account has increased from 20 to 100. The number of stack instances you can have per stack set has increased from 500 to 2000. That’s a lot of StackSets.

Serverless Tools 🛠

Serverless costs calculator for AWS Lambda
Simple tool from the Bref team to give you a rough idea of your Lambda costs on AWS.

hammerframework/hammer: Opinionated, full stack, serverless JAMstack web application framework
It seems as though this project is just getting off the ground, but more projects like this will pave the way for more serverless adoption.

Serverless PHP on App Engine Cloud Firestore with Firevel
Laravel recently went serverless with Laravel Vapor for AWS, now this new project is offering a Google Cloud alternative.

Thoughts from Twitter 🐦

Quick life update: Friday was my last day on the AWS Evangelism team. I’ve moved to the Amazon Connect team to help build out new features and tools for a super fun product. I’ll still be around and speaking but with less of a focus on outbound. Thanks for an amazing 5 years! ~ Randall Hunt
Randall has been at the core of the AWS Evangelism team for as long as I can remember, and has been a source of some truly amazing and helpful content. Wishing him well in his next role!

I didn’t get why “stackery local invoke” is better than the SAM CLI until I tried it. Here’s the killer feature: It magics a trust onto your deployed Lambda roles so you can test local code under the *cloud stack’s* permissions. This is the future. ~ Forrest Brazeal
I’m a huge fan of testing serverless functions locally. It’s a workflow that I’m used to and most productive with. Stackery is making that easier for us.

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 27, 2019 –  ServerlessDays Sydney

August 29, 2019 –  ServerlessDays Melbourne

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

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 Adrian Hornsby (@adhorn). Adrian is a Senior Tech Evangelist at AWS that likes to break things, but in a good way. Adrian has been writing and talking about building resilient serverless applications for quite some time, and has been instrumental in bringing serverless Chaos Engineering to the masses. He has written a Lambda Layer that you can use to start running chaos experiments, and he has a blog that contains a treasure-trove of information on building battle-tested serverless applications. Thank you for what you do, Adrian. The serverless community is lucky to have you!  🙌

Final Thoughts 🤔

Every week, I spend a lot of time reading posts that teach people about serverless, reviewing serverless forums, and scrolling through community Slack channels. And every week I see people eager to learn, people eager to teach, and most importantly, people eager to help one another. This past weekend, the United States was devastated by another hate-filled attack. I don’t pretend to know how to solve this problem, but I do know this:

People helping people is a beautiful thing. Learning from one another, and celebrating diversity in opinions, culture, mindset, backgrounds, and ideas, makes us better developers, better community members, and better human beings. Differences are inevitable, but the way we work through those differences can either move us forward, or set us back. I see the serverless community as an example of people trying to move us forward, welcoming anyone who wishes to take part, and treating everyone with the respect and dignity they deserve. We need more of this. ❤️

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.

Cheers,
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.