A Weekly Newsletter By Jeremy Daly

Off-by-none: Issue #59

October 15, 2019

#ServerlessForEveryone 🙌

Welcome to Issue #59 of Off-by-none. Thanks for being with us! 🤘🏻

Last week, we were at Serverlessconf NYC, having some awesome conversations with some pretty smart serverless people. This week, we’ve got lots of great AWS re:Invent news, and we’ll learn how AWS built a production service using serverless technologies. Plus, we’ve got plenty of great serverless content from the community.

Lots to share this week, so let’s get to it! 👍

How does AWS build their serverless applications?

How AWS Built a Production Service Using Serverless Technologies
If you’ve ever wondered how AWS built a serverless application for itself, this post will tell you almost everything you need to know. This is a super in-depth look (including the open-source repo) of the SAM templates, file structure, CI/CD process, parameter management, and much more.

Examining how AWS builds their own serverless apps
And if you want to get some additional insights from another serverless pro, check out Forrest Brazeal’s commentary on what AWS has provided.

If you’re going to re:Invent, you don’t want to miss this…

AWS re:Invent is less than 50 days away, and reserved seating just opened this morning. Hopefully you’ve already booked some great serverless sessions, but if you are still looking for some more ideas, these guides should definitely help:

Also, if you want to meet up with all the people building the foundation of the serverless ecosystem, make sure you check out the #ServerlessForEveryone Community Party @ AWS re:Invent 2019. This event is only possible because of our amazing sponsors: Stackery, Thundra, AWS, CloudZero, Lumigo, and Protego. I hope you’ll join us!

Serverless News & Product Announcements 🚀

Serverless Networking: The next step in Serverless Evolution
No, seriously, peer-to-peer networking of Lambda functions is now a thing thanks to Tim Wagner (aka the father of Lambda). This is a HUGE innovation and could change the way we build serverless applications.

Migration Complete – Amazon’s Consumer Business Just Turned off its Final Oracle Database
AWS just completed a multi-year project that migrated 75 petabytes of internal data stored in nearly 7,500 Oracle databases to multiple AWS database services including Amazon DynamoDB, Amazon Aurora, Amazon Relational Database Service (RDS), and Amazon Redshift. Crazy.

Zenoss Announces Unified Multicloud Serverless Monitoring
This new product unifies the monitoring of serverless functions across the Big Three public cloud providers — Google Cloud, Amazon Web Services (AWS) and Microsoft Azure. Interesting (if you’re into the whole multi-cloud thing).

Protego Labs Named Gold Winner for Business Products Startup of the Year and Bronze Winner for Technology Software Startup of the Year by CEO World Awards
Congrats to the team over at Protego for these awards. The recognition is well-deserved.

Serverless Stories 📖

Serverless Challenges & Workarounds!
I always love hearing about people’s experiences with serverless, and this post by Manish Kumar is a quick, but enlightening read. Cold starts and connections to RDBMS continues to be the biggest challenges it seems. Luckily the VPC cold start issue is pretty much fixed, and Manish used the serverless-mysql package to fix the database issue.

Serverless: Things I wish I had known – Part 2 – DynamoDB x MongoDB x Aurora
Cleriston Bernardes has another post that lays out more snafus he ran into using serverless. I appreciate all the references in there to my blog posts, but I really feel like a lot of the challenges he faced are solvable through better content. If I only had more time. 🤷‍♂️

CRM Solutions: Building a Serverless Zoho Service
Here’s how Connor McIntyre built an integration into Zoho using AWS and Lambda.

Serverless Use Cases 🗺

Serverless Scheduler
This is an interesting approach to scheduling by Michael Bahr. He is using the DelaySeconds message attribute in SQS to control the precision of bulk loaded events into a scheduling queue. Since you can delay visibility in SQS up to 15 minutes, the bulk loading process from DynamoDB has a large window to work with. This might be more cost effective than using Step Functions to implement ad hoc schedules. Very cool idea.

Serverless Machine Learning Inference with Tika and TensorFlow
This is a great post by Oliver Mannion that outlines another ML inference use case for AWS Lambda, predicting “strong applicants” based on data extracted from resumes.

Build a personalized newsletter with AWS cloud services and ElasticSearch
This is a great use case outlined by Pierre Cavalet. A couple of Lambda functions, SQS, Elasticsearch, and a few managed services to build out your own personalized newsletter system.

Sending notifications from Amazon Aurora PostgreSQL
It would be great if PostgreSQL had Lambda triggers like the MySQL version does. Oh, and add that functionality to Aurora Serverless as well, please. 😉

Deploying Machine Learning Model to AWS Lambda using Serverless
My eyes glossed over a bit reading this, but Navarasu Muthu shows you how to deploy a machine learning model on AWS Lambda.

When you’re looking for some advanced serverless concepts… 🏗

Where Serverless plugin stops and platform starts
The amount of boilerplate code you need for your serverless application can have a big impact on your ability to manage it. It gets even more difficult if you’re trying to implement organization-wide policies and tools. Yan Cui has some recommendations about where you might want to put some of these account-level components.

Serverless Deployment Best Practices
The Serverless Framework has been adding new full-lifecycle features like crazy lately, and one you definitely should check out is safeguards. Fernando Medina Corey points out some best practices, including how to use safeguards to protect your deployments.

AWS Lambda with Static IP Address
The need for a static IP address is quite common for many use case. Balkaran Brar show you how to set that up using a NAT Gateway with your Lambda functions. You’d probably want to codify this in a CloudFormation template, but this post will help you get started.

On the Importance of Correct Headers and Metadata in S3 Origins for AWS CloudFront
Regis Wilson has an excellent post that does a deep dive into the nuances of managing headers with S3 and CloudFront. Definitely worth the read to see if you are experiencing similar issues (and need to know how to fix them).

Serverless Tutorials 🏗

Serverless TensorFlow workflow with EC2 auto-training
Awesome tutorial by Mike Moritz that walks you through setting up Lambda to do ML predictions while offloading the training to an EC2 instance.

Monitor Lambda cold start durations with CloudWatch
Yan Cui has a way for you to add monitoring of your Lambda function cold starts by using the async-custom-metrics SAR app.

Rock Solid Lambda Development with Tests and Version Control
I like Tim Hawkins enthusiasm for test-driven development, and the unit testing strategy he uses works well. But I would recommend using a framework like SAM or the Serverless Framework to deploy your functions instead of trying to roll your own.

GraphQL API using Serverless + AWS AppSync + DynamoDB + Lambda resolvers + Cognito. [Part 3]
In the third part of Facundo Fasciolo’s series on building a serverless GraphQL API, he shows you how to implement queries and mutations that use your local DynamoDB database.

Migrate Your AWS Lambda Functions to Kubernetes with OpenFaaS
Let’s say you wanted to start using Kubernetes to run your serverless workloads instead of Lambda. Here is a guide by Burton Rheutan that will walk you how to migrate them to OpenFaaS.

Deploy a Symfony application with AWS Lambda: a quick guide
I really appreciate people trying crazy things on Lambda, but I’m not sure deploying a full-fledge Symfony app would be at the top of my list. Alessandro Minoccheri gave it a go, and he got it working. So if you are thinking about migrating your existing Symfony app to serverless, this might get you going in the right direction.

Serverless Reads 🤓

Implementing Serverless Microservices Architecture on AWS
Straightforward outline of a serverless microservice architecture by Aarti Parikh. I’m a big fan of structuring your microservices this way, though I would probably split out the S3 frontend in his example.

My DynamoDB Wish List
Alex DeBrie lays out his two biggest #awswishlist items for DynamoDB. With re:Invent coming up, let’s hope he gets these granted.

Penalties and Purgatory
Subbu Allamaraju converted his talk from Serverlessconf New York into a blog post. He makes a lot of interesting points in here about time-to-value and added complexity from microservices increasing MTTR.

Recap: ServerlessDays Istanbul
If you missed ServerlessDays Istanbul, Piril Engin has a full recap of the event for you.

Tracing for Everyone: Business Flows Simplified
Thundra continues to build some amazing things into their products. This overview of their OpenTracing-compatible distributed tracing engine Otto, is a pretty cool look into what is possible.

If you prefer an audio/visual experience… 📽

Serverless Chats Podcast – Episode #18: Pushing the Limits of Lambda with Michael Hart (Part 1)
In this episode, I chat with Michael Hart about the inner workings of AWS Lambda, the hows and whys of Custom Runtimes & Layers, Docker Lambda, serverless CI and so much more! This is PART 1 of a two-part conversation.

PODCAST: The Serverless Smarts Podcast, Ft. Jeremy Daly. Stateful FaaS & the Future of IAM
I joined Hillel Solow on his podcast to discuss “serverless 2.0” trying to add statefulness to FaaS, the IAM conundrum, and lots more on the current state of serverless security in the cloud.

Fireside Chat: Petco Discusses Modernization & Their Adoption of Serverless
Ben Kehoe and Phil Potloff, talk enterprise modernization with Brendten Eickstaedt, VP Innovation Services at Petco. They discuss how Petco got started, some of the resistance they faced, how to overcome that resistance, and the benefits they’ve seen as a result. Great serverless conversation.

Demo of getting a single HTTP function deployed with arc.codes using CloudFormation & Arc Demo 2
Brian Leroux started creating some videos that show you how easy the Architect Framework is. And, yes, it is very easy to use.

When you’re wondering what the AWS Devs have been working on… 👷‍♀️

Amazon Kinesis Data Firehose adds support for data stream delivery to Amazon Elasticsearch Service 7.x clusters
Amazon Kinesis Data Firehose now supports streaming data delivery to Amazon Elasticsearch Service version 7.x clusters for near real-time data analysis and visualization.

AWS CodePipeline Enables Setting Environment Variables on AWS CodeBuild Build Jobs
You can now set environment variables for CodeBuild build jobs in your pipeline. Previously, build jobs in your pipeline could only use environment variables defined in the build project configuration or buildspec file.

Amazon Kinesis Data Firehose adds cross-account delivery to Amazon Elasticsearch Service
Amazon Kinesis Data Firehose now supports delivery to Amazon Elasticsearch Service across accounts. Now your delivery stream and your Elasticsearch clusters can reside in different accounts.

Amazon Athena now provides an interface VPC endpoint
Amazon Athena now allows you to connect directly to Athena through an interface VPC endpoint in your Virtual Private Cloud (VPC). With this feature, you can submit your queries to Athena securely without requiring an Internet Gateway in your VPC.

Thoughts from Twitter 🐦

I’ll be going to @awsreinvent for the first time this year. I asked my colleagues for their top tips for first time #AWS #ReInvent attendees. Here’s what they said… ~ @helenanders26
If you’re going to re:Invent this year, take a few minutes to look through these tips. re:Invent is so overwhelming, that it’s good to keep things like this top of mind.

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.

October 14-16, 2019 – Serverless Architecture Conference Berlin

October 21, 2019 – Advanced Serverless Orchestration with AWS Step Functions – Webinar

October 21, 2019 – Mocking and Testing Serverless APIs with AWS Amplify – Webinar

October 22, 2019 – How to Build Highly Scalable Serverless Applications with Amazon Aurora Serverless

October 24, 2019 –  ServerlessDays Stockholm

October 30, 2019 – Retail at the Scale of Serverless with AWS – Webinar

October 30, 2019 – Managing Serverless Applications with SAM Templates

November 6-8, 2019 – Serverless Computing London

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 Jared Short (@ShortJared). Jared is a Senior Cloud Engineer at Trek10, Inc., and was an early contributor to the Serverless Framework. He has been building production scale serverless applications since 2015, and has been sharing what he’s learned along the way. He’s written several great blog posts, given numerous talks, contributed to open source serverless projects, and basically lives and breathes serverless all the time now. His contributions have had a huge impact on the serverless community, and we thank you for it! 🙌

Final Thoughts 🤔

I had an absolute blast last week at Serverlessconf NYC. I got to meet up with some old friends, and I met a bunch of amazing people working with serverless. I also gave my 45 minute talk in 21 minutes, so I was a bit out of breath by the end (I think I may have blacked out somewhere in the middle as well), but it was a lot of fun. There are so many cool things happening with serverless right now, and so many great companies working with it. The next few months should be really interesting.

I also had a number of conversations about this newsletter, and more specifically, what I can do to deliver the most value to people. I got some great suggestions, and I hope to start implementing some of them very soon. Exciting times ahead. 🚀

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.