A Weekly Newsletter By Jeremy Daly

Off-by-none: Issue #28

March 12, 2019

Live from ServerlessDays Boston…

Welcome to Issue #28 of Off-by-none. Thank you so much for being a part of the community! 🙌

Last week we looked at Lyft’s AWS bill and what it means for multi-cloud. This week we’re live at ServerlessDays Boston, plus we’ve got plenty of great stories and content from the community.

Lots of serverless stuff to get to, so here we go! 🚀

Charity Majors giving the opening keynote at ServerlessDays Boston

Serverless Product Announcements 📢

Meet the Adobe I/O Team: Mihai Corlan on Building Adobe’s Serverless Platform
Adobe’s developer tools is introducing Adobe I/O Runtime, a serverless platform built on top of OpenWhisk. You likely won’t build all your apps there, but this is an interesting way to interact with your Adobe data from collocated execution environments. Props for not naming them “functions.” 👍

Easy Observability and Monitoring with Lambda Layers
The team over at IOpipe put together a handy guide that shows you three ways to add their service using Lambda Layers. While the guide is about their service, you can apply these to any Layer.

Manage table resources in serverless
Chris Feist created a new plugin for the Serverless Framework that reduces the amount of boilerplate needed to create DynamoDB tables.

SQL order from API chaos
A new “API composition platform” called Transposit just recently appeared. “Transposit is a zero-ops platform that brings the power of a relational database to the API ecosystem. Our relational engine provides the ability to write SQL and JavaScript to query and transform your data as though each data connection were a virtual table in a single relational database.” Hmm. 🤔

Serverless Use Cases 🗺

Dyson Fan Control over MQTT via Serverless
Here’s an interesting use case. Nathan Glover set up a couple of Lambda functions to control a Dyson Fan by using the public MQTT endpoint.

Build a serverless data pipeline with AWS S3 Lamba and DynamoDB
More of a how-to, but goes to show an interesting use case for putting dependencies into a separate layer.

Async APIs
Richard Boyd’s post addresses a common use case for long-running or throttled asynchronous events.

If you’re new to Serverless… 🐣

What can serverless do for Node.js developers?
If you’re a Node.js developer and want to know how you can up your game with serverless, this short article will give you a good primer.

Best Practices for Serverless Development
Here’s another best practices post that will give you some good ideas whether you’re new to serverless or a hardened veteran.

How to Get Started With Serverless, Express and AWS Lambda
If you are thinking about migrating your Express app to a monolithic Lambda function, this post’s for you. While not a best practice, this is a common use case for those just getting started. I’ll allow it (for now). 😉

Serverless FAQ
Have questions about serverless? Know someone that does? This short post by the Serverless Gurus answers some of the common questions that our newbie friends might have.

Deploy your existing Nodejs APIs in serverless 
Another post about using the Serverless Framework to migrate your Node.js workload to Lambda. Some helpful setup tips in here as well.

Create a Highly Scalable Image Processing Service on AWS Lambda and API Gateway in 10 Minutes
This is a detailed walkthrough of how to use the AWS console to setup an image processing service with Python. This is a good post for the beginner because it walks you through all the configurations by hand. But please, learn how to write this as IaC before you go into production.

Serverless Tutorials 👷‍♂️

Everything you ever wanted to know about the Amazon DynamoDB console but were afraid to ask: A detailed walkthrough
If you’ve been using DynamoDB for awhile, you’ve likely been using CloudFormation to build your tables. This is a good post to show us how powerful the console is when you want to explore your data and configurations.

How to Configure and Connect to Serverless MySQL Database
For many a developer, you will need to pry RDBMS from their cold dead hands. That’s okay. I still use MySQL with some of my serverless applications (yes, it is possible). This is a good tutorial to show you how to get a cluster configured and connect from an execution environment.

Dynamize your resources’ parameters with the Serverless Framework!
This is a helpful post that shows you how to inject parameters into your serverless application configurations. This is extremely useful for managing variables between stages.

How to set up AWS accounts for multiple product environments
This is an extremely common use case, and if you’re not in the business of setting up nested AWS accounts all the time, it’s easy to get confused. Paul Swail has this nice write up that should save you some time.

Creating an AWS DocumentDB Cluster
The Serverless Gurus have been busy this past week. Here is another great post that will walk you through setting up a new AWS DocumentDB Cluster. Whether you should or not is another question.

Sharing Lambda Layers and Restricting Your Own Usage
Zac Charles has a great post that gives you some of the ins-and-outs of sharing Lambda Layers. If you’re planning on publishing your own, this is a useful guide to make sure you get the permissions right.

Securing APIs in Serverless (AWS Lambda)
A detailed post that shows you how to secure your API Gateways using Amazon Cognito. Not always as straightforward as you might think.

Tutorial: Setting up a private subnet on AWS
If you need to use VPCs with your serverless components, use this guide to configure your environments correctly.

Serverless Stories 📖

How Shamrock transacts billions of dollars with Serverless Framework Enterprise
Great story about Shamrock moving from containers to Lambda using the Serverless Framework. They are apparently using a “multi-cloud” strategy, so let’s see how that plays out.

ETL (Extract, Transform, Load) in Insights
Shiyang Fei discusses the decision making process that Compass used to choose between Apache AirFlow and AWS Step Functions. Lots of pros and cons outlined in here, and spoiler alert: they chose Step Functions.

Reflections on Serverless:From SOA to Serverless part 2
An interesting discussion from Diego Pacheco describing the architecture evolution from SOA to Serverless. Part 2 focuses on strategy evolution and architecture strategy.

Serverless Reads 👓

What AWS Lambda Users Should Know About Azure Functions, and Vice Versa
I’m a huge AWS fan, but it’s good for us serverless developers to see what other cloud providers are offering. Mahdi Azarboon gives us a breakdown of the differences between Azure Functions and Lambda.

Understanding the scaling behaviour of DynamoDB OnDemand tables
Yan Cui gives us another excellent post that takes a deep dive into DynamoDB on-demand tables. He’s got everything you need to know about costs, auto-scaling, and pre-warming to handle massive throughput.

Lambda Concurrency Limits and SQS Triggers Don’t Mix Well (Sometimes)
Another great post by Zac Charles that highlights some of the issues around SQS Triggers with Lambda functions. The ability to consume SQS with Lambda was a welcome addition, but you need to be a bit prescriptive when configuring your concurrency and redrive policy settings.

A Serverless 2.0 point of view
Alain Rouen says the evolution in the serverless movement is arriving and explains why it is important to understand it and how it will change the way we build apps.

3 Tips to Control the Cost of AWS Lambda
Emrah Samdan from Thundra gives us three excellent tips to help you reduce your Lambda costs.

Can you use database pooling with serverless?
Alastair Taft asks this question and gives us five possible solutions for using database pooling with Postgres and AWS Lambda. Luckily for us, AWS is working on better solutions for this problem.

The main stories from QCon London ’19
QCon London was last week, and Alex Wauters gives us a good roundup of the event. There is an interesting discussion about serverless in here.

Introduction to Monitoring Serverless Applications
A good read that will give you the basics.

When you’re wondering what AWS has been up to… 🛠

AWS Amplify Console supports instant cache invalidation and delta deployments on every code commit
Great new feature that will automatically invalidate CloudFront caches when you publish new code. If you’ve ever needed to do a manual cache invalidation, you’ll appreciate this.

Automate Releases to the AWS Serverless Application Repository using AWS CodePipeline
Eliminate the need to use the SDK or console to publish changes to your SAR apps. No more extra code needed. 👍

AWS Step Functions Adds Tag-Based Permissions
Control access based on tags using AWS Identity and Access Management. Very cool.

New Amazon SNS Console Now Available
Updated user interface in the new Amazon SNS Console is optimized for screens of all sizes, making configuration, management, and monitoring more accessible on a variety of devices.

Upcoming Serverless Events 🗓

Serverless Application Troubleshooting
This webinar, tomorrow (March 13th), features Erez Berkner talking about gathering the right data and improving your team’s velocity with distributed serverless visibility and monitoring.

AWS Lambda Security: Inside & Out
Mike Deck, Principal Solutions Architect at AWS, and Ory Segal, CTO & co-founder at PureSec, are running a webinar covering deep topics in serverless and AWS Lambda security. Happening on April 3, 2019.

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 Zac Charles (@zaccharles). Zac is Lead Engineer at JUST EAT and has been quite prolific lately with his serverless blog posts. He shares a lot of his work with C# and .NET on AWS Lambda and has a number of open source projects including LambdaNative and LambdaRemoteDebug. He’s also an active voice on Twitter. Keep the great content coming, Zac. The community appreciates it! 🙌

Final Thoughts 🤔

ServerlessDays Boston is in full swing and there have already been several amazing talks, with many more to go. If you’re here, come say “HI!” and make sure you grab some “Off-by-none” stickers. Looking forward to writing a few follow up posts on what we learned today. Just need to decompress first.

I hope you enjoyed this issue of Off-by-none. Please feel free to send feedback and suggestions so I can keep making this newsletter better each week. You can reach me via Twitter, LinkedIn, Facebook, or email and let me know your thoughts, criticisms, or how you’d like to contribute to Off-by-none.

And please do me the honor of sharing this newsletter with your friends and coworkers who might be interested in serverless. It would be greatly appreciated. 👍

Take care,
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.

Tags: , , ,