A few months ago, there was an article that discussed the current state of serverless computing why it fell short on its promise. People like Jack Ellis of Fathom Analytics chimed in about it on Twitter. There have been some incredible serverless breakthroughs in the last two years. And because of those, serverless has really grown in potential as opposed to stalled.
Now, this article will focus on the impact of these serverless breakthroughs for running PHP on AWS Lambda. I can’t speak for other programming languages. That said, some things we’ll go over should apply to them as well.
In November 2018, AWS Lambda announced two new features: custom runtimes and layers. These two features drastically changed what you could do with AWS Lambda. Before, you could only use the runtimes that Lambda had. If they didn’t support your programming language, you were out of luck and to do some terrible workarounds. (Most of them revolved around using a node.js wrapper.)
Now, this is the first problem with serverless highlighted in the article. Serverless supports limited programming languages. Meanwhile, supporting other programming languages comes at a significant performance cost.