This post was inspired by reading an article on serverless as a general topic that managed to get almost every detail wrong. I won’t link the article, not least because it didn’t say anything I haven’t seen written one hundred times before.
Gracie Gregory wrote up a great tour of some of these common misconceptions, and it’s the perfect way to start out with serverless. If you understand its benefits, you can have clearer goals as your team adopts the serverless model.
One of the troubles with writing “best practices” articles is something I’ll call the Apron Principle: on our first day in the kitchen, we don’t know why we need to put on an apron. Only after we’ve gotten powdered sugar on our dress do we see why the advice was useful.
When it comes to developing for serverless, we've been beating the drum for some time that there are fundamental problems with how you write code for serverless functions, namely AWS Lambda. Essentially: waiting 15 minutes for your Lambda code to deploy is a fine way to run a production deploy but not a great way to experiment with new code.
If you need to see this problem yourself before you read Local Development with Stackery, do give it a try, but if you want to skip to the solution, check out the doc and experiment with your Lambda code in seconds rather than minutes.
Programmers are, by and large, a specific type of smart and calculated “lazy”. Given any task that involves any type of repetition, a programmer will, instead of doing the task, try to automate their way out of doing any work.
With the classic example of a contact form, this tutorial takes you through adding interactivity and data persistence to a simple web page.
The serverless contact form tutorial is full of clear illustrations and easy-to-follow steps.
It’s amazing to me how unifying the “VPC road bump” is for serverless teams. At first, a single passionate developer adds a feature with a Lambda, the team is impressed by the ease and scalability, and everyone starts creating microservices. And for a time, it was good. But then, it comes time to secure some communication, and it’s time for a VPC. Here the troubles begin. Configuration of existing resources proves tough. Permissions between components prove tougher. Days and weeks of poking at the problem get us no closer to a serverless app that meets our security requirements.
Lots of guides exist to at least tell you which of dozens of AWS Console menus to use, but they’re largely one-size-fits-all and as you add components the complexity increases.
But what if it were easy?
With Stackery, a VPC deployment is as easy as dragging components into a box. Check out our VPC guide to read all about it.
While serverless is the hot new platform, production serverless teams are few and far between. If you want to see how a serverless team ships features every week, check out the changelog. It’s worth a read, I promise.
If you’d like to hear me talk about the importance of documentation for development, check out this episode of Corey Quinn’s podcast where we talk about just that!