Last summer I wrote a multi-installment article on Serverless Architectures. Those that follow me online will know that I've become even more excited about this topic since then to the point of starting a business in this area with my good friend John Chapin.
6 months is a long time in any new area of technology, and so a couple of small things from it are out of date. AWS Lambda now supports environment variables, for example. However there's still life in this article yet so I'm reposting here for those that haven't seen it yet. It was extremely popular last year, and I'm hugely grateful for my reviewer feedback while I was writing it, and all the comments I've had since.
Serverless architectures refer to applications that significantly depend on third-party services (knows as Backend as a Service or “BaaS”) or on custom code that's run in ephemeral containers (Function as a Service or “FaaS”), the best known vendor host of which currently is AWS Lambda. By using these ideas, and by moving much behavior to the front end, such architectures remove the need for the traditional ‘always on’ server system sitting behind an application. Depending on the circumstances, such systems can significantly reduce operational cost and complexity at a cost of vendor dependencies and (at the moment) immaturity of supporting services.