A Weekly Newsletter By Jeremy Daly

Off-by-none: Issue #48

July 30, 2019

Turning PHP Servers into Vapor… 💨

Welcome to Issue #48 of Off-by-none. Thanks for joining us this week! 👋

Last week, we looked at the new full lifecycle Serverless Framework and heard some additional thoughts about Amazon EventBridge. This week, we take a deep dive into the recently announced Laravel Vapor, and as always, share lots of amazing content from the serverless community.

Before we begin, make sure you fill out the State Of Serverless Community Survey that Serverless, Inc. is running. Always amazing insights from the results.

Okay, there’s a lot of amazing serverless content to get to. Let’s get right to it. 🏎

When you find out that a massive community of PHP developers can now go serverless… 🙌

This past week at Laracon, Taylor Otwell, creator of the Laravel framework for PHP, launched Laravel Vapor. Vapor is a new deployment and management service that lets you run serverless Laravel! Using your existing Laravel projects, you can use Vapor to deploy your application to a combination of Lambda, SQS, S3, and CloudFront. You also have several options around caches and databases, including Aurora Serverless.

This is a very, very big deal for the serverless community. Laravel is extremely popular, has an active community, and boasts tens of thousands of production implementations in the wild. Introducing an entire population of PHP developers to serverless and letting them easily reuse millions of hours of development time, is perhaps one of the most frictionless paths to serverless I’ve ever seen! Plus, Vapor only interfaces with the customer’s AWS account, giving developers complete control to add additional services to extend their applications with other serverless AWS offerings. I’m excited to see what people do with this.

If you’re interested in learning more about the details of Vapor, Taylor Otwell and I had a chat (Serverless Chats – Episode #7) about it. Lots of really great information in here that gets into the nuts and bolts of how it works, and what the future of Laravel and serverless might look like.

Serverless News & Product Announcements 🚀

New tool from cloud startup Stackery streamlines AWS serverless development
Wow! Stackery has released their CLI as a standalone tool that anyone can use, even without a Stackery account. Debugging and iterating locally is a huge time saver when developing serverless applications. Tying into your cloud resources makes this so much easier. Learn more here.

Zero Configuration AWS Lambda Notifications & Alerts with Serverless Framework
Some new details about the recently released full lifecycle Serverless Framework. The notifications and alerts feature includes zero configuration anomaly detection that tracks and alerts on metrics like memory usage, function duration, errors, and invocations.

Sigma Product Updates
The Sigma web-based IDE for serverless applications announced support for Python as well as the ability to debug Lambda functions before deployment.

SAM v1.13.0 Released
A new version of the Serverless Application Model has been released with OpenApi 3 Support, Request Models Support, and a number of bug fixes.

Introducing Durable Entities for Serverless State
Jeremy Likness gives you a rundown of the new Durable Entities for Microsoft Azure. Lots of interesting serverless stuff happening over there at Azure. 🧐

Serverless Stories 📖

Starting my Python journey with a Serverless application
I always love seeing people experience the magic of serverless. In this piece, Hirudinee Liyanage walks you through building a serverless function in Python using the Sigma IDE.

How we made our Serverless payments platform CMS driven
Static sites using headless CMS tools seems like all the rage these days.

How I’m writing Nodejs Serverless services these days
Ewan Valentine has developed some conventions for developing serverless applications, and he graciously shares them with us. I feel like a lot of us that have been working with AWS and Lambda for awhile have a similar post swirling around in our brains.

Serverless Use Cases 🗺

Simple Two-way Messaging using the Amazon SQS Temporary Queue Client
What sort of black magic is this? Temporary queue clients for Request-Response scenarios using SQS instead of HTTPs? Very interesting, though not sure how long-polling receivers would work with Lambdas just yet.

Serverless Web Scraping With Python, AWS Lambda and Chalice
Danny Aziz lays out a five step plan for using Lambda to pull data from other sites.

Manage databases through custom skills with Amazon Alexa and AWS Systems Manager
“Alexa, drop all my production databases.” As long as that command isn’t supported, I think this is a pretty cool use case.

Debugging AWS Services with Lambda
The power of Lambdas (beyond just resizing images for you). Gary Sieling points out an excellent use case, debugging other services in your account.

Serverless Video Rendering
I’ve seen some examples of this before, but parallelizing video rendering could be very powerful if it is done right.

Attaining Spending Sanity with Serverless
Trying to enforce CloudFormation resource tagging to help track and manage your cloud costs? Use serverless like Justin Rice does.

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

Ten Things Serverless Architects Should Know
Justin Pirtle from AWS has an excellent piece that outlines some very important concepts that serverless architects definitely should know.

Chaos Engineering — Part 2
Adrian Hornsby’s work is the gift that keeps on giving. His Failure Injection Lambda Layer makes it easy to start implementing serverless chaos experiments, and this posts gives you some much needed context for figuring out what to test.

AWS S3 Event Notifications have “probably once” delivery
Eric Urban coined this phrase to emphasize the “on very rare occasions, events might be lost” issue with S3 notifications. He implements a clever way of dealing with it, though a delivery guarantee would be much better.

Building a Modern CI/CD Pipeline in the Serverless Era with GitOps
Shimon Tolts discusses the transition and the different steps of modern software development to showcase the possible solutions for the serverless world.

A walkthrough of the Amazon DynamoDB Accelerator console – Part 2
If you’re using DynamoDB and you need microsecond response times, DAX is an excellent write-through cache solution. Ishita Mehta-Desai gives you a walkthrough of the console and how it works.

AWS Serverless App: Testing
A quick run down on setting up unit tests on serverless projects with Sinon, Chai, and NYC for recording test coverage.

If you’re just starting your serverless journey… 🐣

The 6 concepts you need to know before trying Serverless
If you’re getting started with serverless, take Lou Bichard’s advice and learn these six key concepts. I agree with all of them.

serverless.help –  Serverless help from experts
Got serverless questions? Jared and Forrest at Trek10 set up this great little Q&A site that should get you pointed in the right direction.

Building applications rapidly with Serverless
Gareth McCumskey’s article will get you started with the Serverless Framework, including setting up an account to see the new full lifecycle capabilities. Don’t get distracted by the adorable baby photo in his profile picture.

Introduction to AWS SAM and Installation and Initialization of Project
If you’d rather get started with AWS’s Serverless Application Model instead, take a look at this article.

Awfully Thorough Guide to Choosing the Best Serverless Solution
I included this post by Ilya Kritsmer two weeks ago, and he has since added Part 1.2Part 1.3Part 2.1, and Part 2.2. Excellent content, but I think he should pace himself a bit. 😉

Serverless Tutorials 🏗

Forms without servers — handling form submissions with Lambda
James Beswick is back with another great post. I’d guess that 99.9% of websites could be static if it wasn’t for that pesky contact form. Serverless to the rescue.

Introducing a better way to record custom metrics
Yan Cui wrote a new SAR app that parses custom metrics from CloudWatch Logs and sends them to CloudWatch as custom metrics.

Serverless contact form handling for static websites
If you’re using Google Cloud instead of AWS, here’s how to add that serverless contact form to your static sites.

Automating Amazon CloudWatch alarms with an AWS CloudFormation macro
Interesting post by Alex Nicot that shows you a clever way to utilize CloudFormation macros.

How to process media in AWS Lambda? (FFMPEG)
Mohammed Lutfalla shows you how he set up a media processing pipeline using FFMPEG and Python. There’s also a Lambda layer for this.

Developing and Testing Lambdas with pytest and LocalStack
It’s always interesting to see how people set up local development workflows and local testing. Ciaran Evans shares his methods.

Deploy Serverless App with Next.js 8, AWS Lambda and CircleCI — Part 1
This is a full walkthrough to get you started using Next.js and AWS Lambda to get a serverless service up and running. Code included.

Serverless Security 🔒

7 Serverless Auth Strategies for Protecting Gated Functions
David Wells outlines the pros and cons of seven different strategies used to authorize access to your serverless functions.

The Truth About Serverless Security
Roman Sachenko covers a long list of precautions that developers should take when developing serverless applications. I agree with nearly all his suggestions, but it is important to stress that you’re already way ahead of the security game when you switch to serverless.

7 Ways to Deal with Application Secrets in Azure
I’m a fan of whatever Mikhail Shilkov writes, so I’ve included this for two reasons. I think this is good info in general, and with a few tweaks, it would apply to AWS as well.

Use AWS S3, KMS and Python for Secrets Management
Ruan Bekker proposes a solution for secrets management.

Serverless Reads 🤓

Cloud Irregular: Amazon won’t spin off AWS, and that’s too bad for AWS
Forrest Brazeal has a great post about the pressure software vendors feel to avoid using AWS because of conflicts from potential clients that compete with Amazon.com. According to him, this is resulting in suboptimal technology choices in order to hedge bets against future customers. Seems crazy, but I totally get it.

How Serverless Is Impacting the IT Landscape
Bit of a plug article, but has some interesting statistics about the electricity use of data centers. Serverless provides an interesting solution to this problem versus always-on, dedicated resources.

Serverless for Startups — A quick way to build and validate your ideas.
Edmo Lima gets it, and hopefully others will too. For any technology startup looking to move fast, iterate quickly, and scale without worrying about rewrites, serverless is the fastest and cheapest way to get there.

Why we didn’t brew our Chai on AWS Lambda
Okay, serverless isn’t all rainbow and unicorns, and it’s important to hear stories where it doesn’t work well for someone. Nikhil Sharma outlines why their team decided against it.

Serverless Architecture Market Size Worth $9.17 Billion by 2023
This is a pitch for the full-report, but there are a few stats that are shared in this post, plus a sample report.

When you’d rather have the book read to you… 🔊

Serverless Chats – Episode #7: Serverless Laravel using Vapor with Taylor Otwell
In this episode, I chat with Taylor Otwell about Laravel Vapor, a new service that lets you deploy your Laravel PHP applications to Amazon Web Services and run them using a fully managed suite of serverless components.

Cedrus: Migrating a Legacy Application to a Serverless Ecosystem
Matt and Bradley walk us through the migration of the ABCL’s legacy Visual Basic and Oracle application to a Serverless ecosystem that leverages Amazon AppSync to allow users to query data without having to understand query languages or data structures.

Modern Apps on AWS: Challenges and Solutions
Trevor Hansen from AWS, Forrest Brazeal from Trek10, and Nitzan Shapira from Epsagon give a master class in modern application development.

When you’re wondering what the devs at AWS are building… 👷‍♀️

Introducing AI-Driven Social Media Dashboard
Monitor and ingest specified tweets using stream processing and leverage a serverless architecture and machine learning services to translate and extract insights from those tweets. 😳

Amazon SNS Adds Support for AWS X-Ray
You can now enable AWS X-Ray for your messages passing through Amazon SNS, making it easier to trace and analyze messages as they travel through to the downstream services.

Introducing AWS Chatbot (beta): ChatOps for AWS in Amazon Chime and Slack Chat Rooms
AWS Chatbot provides an interactive agent that enables you to monitor and interact with your AWS resources from team chat rooms. More on this here.

AWS Amplify Console adds support for automatically deploying branches that match a specific pattern
This is pretty cool. The Amplify console now supports branch pattern deployments, allowing developers to automatically deploy branches that match a specific pattern without any extra configuration.

CloudWatch Logs Insights adds cross log group querying
This is quite amazing. Being able to consolidate metrics from across multiple functions is incredibly powerful. This is perfect for common metrics that span across multiple Lambda functions.

Amazon S3 adds support for percentiles on Amazon CloudWatch Metrics
More good stuff for CloudWatch Metrics. This provides customers with more granularity about their request patterns on S3 and helps them observe and diagnose anomalies in request patterns on S3.

AWS IoT Events actions now support AWS Lambda, SQS, Kinesis Firehose, and IoT Events as targets
This seems extremely useful for a number of use cases. In addition to publishing messages to SNS and MQTT, these extra targets now open up a ton of new capabilities.

Temporary Queue Client Now Available for Amazon SQS
The client supports common messaging patterns such as request-response, and helps you save development time and deployment costs when creating application-managed temporary queues.

Serverless Tools 🛠

AnomalyInnovations/serverless-bundle
An extension of the serverless-webpack plugin. This plugin bundles your Node.js Lambda functions with sensible defaults so you don’t have to maintain your own Webpack configs.

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.

July 31, 2019 – Serverless Summer School: Class is in session! by Stackery

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 (I’m giving a talk here)

October 14-16, 2019 – Serverless Architecture Conference Berlin (I’m speaking here as well)

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 Taylor Otwell (@taylorotwell). Taylor is the creator and maintainer of the Laravel framework, and a big supporter of the open source PHP community. Even though Vapor is his first major foray into the serverless world, the impact is massive. The work he’s done over the last year has made it possible for Laravel users to easily switch to a serverless solution on AWS. This has the potential to introduces hundreds of thousands of developers to serverless, and that is a very big deal. Thanks for all your work on Laravel, Taylor. And thank you for building out Vapor so that Laravel users can begin to make the serverless leap! 🙌

Final Thoughts 🤔

This was a banner week for serverless. I really think Vapor is going to be a huge gateway for hundreds of thousands of developers to experience serverless. The bigger this community gets, and the more voices we hear from, means we get more tools, better services from cloud vendors, and more innovation and ideas. I really love watching this community grow and seeing all these new faces learning, adopting, and teaching serverless.

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