Investors are throwing money at serverless… 💸
Welcome to Issue #74 of Off-by-none. Thanks for joining us! 👍
Last week, we shared lots of great pieces to expand your serverless knowledge. This week, we’ve got some exciting news about the state of serverless funding, highlights from ServerlessDays Belfast, and plenty of content from the community.
When you make some new “Norn Iron” serverless friends…
I had the opportunity to speak at ServerlessDays Belfast last week, and it was an incredible event. There were lots of great speakers, the hallway track was amazing, and the organization of the event was top-notch. Paul Swail wrote up some of his observations in What I learned from ServerlessDays Belfast 2020, and below I’ve included speaker decks that were made available after the event. If you haven’t been to a ServerlessDays event, do yourself a favor, and find one to go to.
- What Can You Do with Serverless …in 2020? by Danilo Poccia
- Leveling up With Serverless by Farrah Campbell
- Designing a Serverless Application with Domain Driven Design by Susanne Kaiser
- Top 8 mistakes developer teams make in their first serverless project by Paul Swail
- Building resilient serverless systems with non-serverless components by me!
- Beware the potholes on the road to serverless by Yan Cui
Serverless News & Announcements 📣
Thundra announces $4M Series A to secure and troubleshoot serverless workloads
Congrats to the team over at Thundra. They have been doing some really solid work in the world of monitoring, tracing, and (even) securing serverless applications. Looking forward to their continued contributions.
Serverless computing provider Nuweba raises $10.2M in funding
Another big win for the serverless community. Nuweba has done some really interesting things with FaaS, including support for GPUs with Lambda-like functions. It will be interesting to see how their tech might be applied to some of the more stubborn FaaS use cases.
Data science company Iguazio closes on $24M funding round
Iguazio is another company that has done some really innovate things in the way it has applied serverless to machine learning. Yes, it runs on Kubernetes (and someone needs to manage that), but the developer experience to interface with their platform gives data scientists a powerful way to build applications.
Vapor IO And Cloudflare Partner To Bring Serverless Computing To The Edge
Vapor IO has a pretty audacious goal of turning every cellphone tower into an edge location. But in the meantime, their new partnership with Cloudflare will bring serverless Cloudflare Workes to all their North American micro datacenters. They also just raised $90 million in funding.
The Serverless Framework Knative Integration
The Serverless Framework lets you deploy functions to Knative now. So if you love the complexity of Kubernetes, but also the simplicity of serverless, nows your chance to overcomplicate things even more! 😉 However, if someone is forcing you to use Knative, then at least this should make your life a bit easier.
MongoDB GraphQL release points to broader revamp of serverless platform
GraphQL in MongoDB Atlas with access from serverless functions on their Stitch platform. I’m wondering if this is meant to sweeten their FaaS product, or position themselves to compete against things like Firebase.
Serverless Stories 📖
Serverless Cost Optimization: Kinesis Streams vs Firehose
Uri Parush has a great post that explains the thought process that Lumigo used to decide whether Kinesis Streams or Firehose was right for their workloads. There are also some good insights in here to help you make the right choice for your applications.
Serverless for front-end developers
Núria Soriano has a nice “getting started” post that explains the journey taken by a frontend developer to build a simple serverless backend.
Migrating from a conventional CMS to a decoupled technology stack!
Gus Liedke outlines how his team migrated the Comic Relief site from Drupal to a fully-serverless stack using a headless CMS and a static site generator.
Serverless Use Cases 🗺
What is AWS Lambda, and how Laravel Vapor uses it
Laravel Vapor launched last summer, and while it uses Lambdaliths to run your workloads, it makes it really easy to move existing Laravel projects into a serverless environment. Mohamed Said explains how it works in more detail.
Filtering LinkedIn Job Alerts with Serverless Python.
Stephen Wood discusses how he built a serverless system that translates job listing descriptions into English, and then sends him a filtered list. Grab data, translate it, filter it, etc., all without worry about servers. I can think of plenty of workloads for this.
Serverless Concepts 🏗
A Step Towards Observability with Lambda Destinations
Sarjeel Yusuf explains the benefits of Lambda Destinations and why this new feature gives us more observability with regards to asynchronous invocations. I personally love Lambda Destinations, and I agree that it is a major step forward to building more reliable and resilient cloud applications.
Cloud Design Patterns
Some of these cloud concepts can be tricky for developers to understand. Rahat Shaikh does a great job explaining a number of these concepts, with some “explain it to me like I’m a five year old” analogies to help you wrap your head around them.
Three ways to use AWS services from a Lambda in a VPC
Alex DeBrie takes a break from DynamoDB, and tells you everything you need to know about running a Lambda in a VPC.
Decoupling services using SQS as a Lambda Trigger
The team at beSharp explains how to use SQS to decouple your services and configure Lambda subscriptions to process queue messages.
Serverless Tutorials 👷♀️
Deploying Your First Knative Service with the Serverless Framework
Fernando Medina Corey takes you through the entire process of setting up Kubernetes on GCP, getting Knative running, and deploying a function with the Serverless Framework.
AWS API Gateway WebSocket API with the Serverless Framework to Fulfill Front-end Real-time Update
This tutorial shows you how to implement WebSockets using API Gateway and the Serverless framework. You’ll learn how to implement a broadcast function that broadcasts messages to other online users in real-time.
Optimizing your Lambda cold starts with serverless-webpack
Package size still has an effect on cold starts, so Chris Armstrong shows you how to use Webpack with the Serverless framework to optimize the size of your Lambda function deployments.
AWS Lambda layer in Java
Asaf Adar shows you how to create Lambda Layers in Java. According to him, it’s a real pain, but may be a necessary evil if you’re migrating your Java apps over to Lambda.
Authenticated Serverless Websockets using API Gateway & Golang Lambda
If you’d prefer to power your WebSockets with Go, Praveen Raj’s tutorial will get you sorted.
AWS Lambda and Java Spring Boot: Getting Started
Plan on building a Java app on AWS Lambda? I offer you my sympathies. 😁 But if you really need to, this post by Ran Ribenzaft will walk you through getting it set up and monitored correctly.
Serverless Security 🔒
This isn’t a post about serverless, but I think the point it makes ties into the idea of serverless security and third-party vulnerabilities. The data in this article shows that once a library is added to a site, the likelihood of updating it is very, very low. Hopefully, the trend isn’t as bad with third-party modules included in our serverless applications, but I’m guessing it’s not better by much. Just a friendly reminder to keep those packages current.
Securing Data On The Cloud Requires Focused Privileged Access Strategies
Vibhuti Sinha outlines four design principles to help keep your cloud data secure.
Serverless Reads 🤓
TriggerMesh: serverless integration meets message oriented middleware
It’s certainly interesting what TriggerMesh is doing (reminds me a lot of Serverless, Inc.’s Event Gateway). There’s no doubt that massively scalable and reliable event buses are going to be needed for modern cloud applications, but it seems as though this has been tried before. Maybe the market wasn’t ready for it.
Explaining Knative, the Project to Liberate Serverless from Cloud Giants
Maybe I’m alone on this, but comparing Knative on K8s to serverless is a fundamental misunderstanding of what “serverless” actually is. This article (like others) explains serverless simply as “functions-as-a-service”. The problem with this, is that the FaaS pieces of my serverless applications are dwarfed by the array of managed services that are used. To think of serverless as merely FaaS, is a major miscalculation.
Scaling My App: Serverless vs Kubernetes
This was a really thoughtful article that does a good job outlining the pros and cons of both approaches. More importantly, it doesn’t make the claim that Kubernetes is serverless, which is a breath of fresh air. I certainly get the cost concerns pointed out, but Javier Ramos writes that serverless “can become expensive in certain cases, not because of FaaS but because of the integrations.” But then goes on to write that “it is very common to have your Kubernetes cluster interacting with Serverless Databases and messaging services provided by the cloud.” So wouldn’t K8s then suffer from those same expenses (on top of the management requirements)?
Three reasons why multi-cloud is back – and here to stay
Interesting take on “multi-cloud” by Dominic Wellington. While I believe his underlying point still revolves around portability, I think “multi-cloud” has evolved past the idea of parity, and is now simply the realization that our hyper-connected cloud providers give us the option to pick and choose the services that make the most sense for our business. If that requires a network call, so be it.
Why You Should Build Your New Startup on Kubernetes
😳Robert Quinlivan makes his case for running your own Kubernetes cluster for your startup, even if you are just hosting a small web app on it. He also suggests not running stateful workloads like databases and message brokers on your K8s cluster, but to favor managed services instead (you know, for things like easier management of automatic backups, scaling, and monitoring). Personally, I can’t imagine having to spend more than a few minutes setting up something that is as commoditized as compute. But maybe that’s just me. 🤷♂️
For the audio/visual learner… 🎨
Episode #33: The Frontlines of Serverless with Yan Cui
In this episode, I chat with Yan Cui (aka theburningmonk) about how companies are adopting and implementing serverless, the current state of frameworks and developer tools, and what we should expect from serverless in the future.
CODING A SERVERLESS APP USING GLOBAL SECONDARY INDEXES WITH DYNAMODB
Marcia Villalba continues coding a simple serverless application using DynamoDB and focuses on getting all the global secondary indexes working.
Adding a DynamoDB Table (Free Video Tutorial)
This free video tutorial shows you how to add DynamoDB tables to your Serverless Framework services.
New from AWS 🆕
Amazon EKS Announces a 50% Price Reduction
Well, if you’re going to run Kubernetes, you might as well get a nice price break.
AWS Control Tower introduces lifecycle event notifications
Lifecycle events are recorded as AWS CloudTrail events and delivered to Amazon EventBridge as events, and the event log states if the Control Tower action completed successfully or not. Great way to add some additional automation and observability into your AWS Organization management.
Amazon CloudWatch Synthetics is now available in 13 additional regions
I haven’t played around with this yet, but it’s on my list. Good to know that it’s available in more regions.
Announcing Amazon Relational Database Service (RDS) Snapshot Export to S3
This is pretty cool. I can see some interesting use cases for offloading historical data that far too many people thought a relational database would be a good place for. 😉
AWS CodePipeline Enables Stopping Pipeline Executions
Incredibly handy feature. You no longer have to disable transitions or wait for an active action execution to time out.
New Digital Course: Architecting Serverless Solutions
Learn to “think serverless” with this free training course from AWS. In this intermediate, three-hour digital course, you will learn how to combine AWS Lambda and Amazon API Gateway in event-driven patterns to power scalable and secure serverless applications.
Serverless Tools 🛠
Jeffy is Serverless “Application” Framework for Python, which is a suite of utilities for Lambda functions to make it easy to develop serverless applications.
Bref runtime versions
If you’re using Bref, there is a handy new landing page that will give you a quick reference to all the available PHP runtimes.
Generate a CloudFormation stack/SAM application from the GraphQL schema using the AWS Amplify code generator.
Thoughts from Twitter 🐦
Apparently “Classic Serverless” and “Neo-Serverless” are a thing? Not sure I would consider SQLite serverless at all. It misses pretty big on the “at any scale” on distributed systems in the traditional sense. ~ Jared Short
As if the term “serverless” wasn’t overloaded enough, now it refers to services that run on the same server but don’t require a separate process or thread? Maybe we should have picked a different term.
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.
January 30, 2020 – Rick Houlihan vs. Alex DeBrie: DynamoDB Single Table Design Cage Match (I may be overselling this)
January 31, 2020 – AWS Community Nordics
February 6, 2020 – Troubleshooting Serverless APIs (webinar)
February 13, 2020 – ServerlessDays Cardiff 🗣
February 20, 2020 – The Complete Guide to Observability (webinar)
February 21, 2020 – ServerlessDays Rome
February 27, 2020 – ServerlessDays Nashville 🗣
March 19, 2020 – ServerlessDays Zürich
March 24, 2020 – ServerlessDays Helsinki 🗣
March 27, 2020 – ServerlessDays Hamburg 🗣
April 6, 2020 – ServerlessDays Boston
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 Emrah Şamdan (@emrahsamdan). Emrah is VP of Product at Thundra, where he works with their development team to help the serverless community improve their debugging and monitoring abilities. Emrah is an organizer of the Cloud and Serverless Turkey meetup, bringing members of the community together for monthly free events and to discuss topics like microservices and event-driven architectures. He’s also a regular conference speaker and contributor to the Thundra blog. Thanks, Emrah, for sharing your serverless knowledge and helping to make the lives of serverless development teams everywhere easier! 🙌
Final Thoughts 🤔
Lots of serverless service companies adding to their funding over these past few weeks, which is exciting news for the serverless ecosystem. It’s always exciting to see what startups can do with a little support, and what types of innovations will emerge. This is also a great indicator of adoption. More and more companies are seeking the services of these providers, and it looks like investors are betting on that potential. Exciting times.
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.
P.S. 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.
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.