Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I find it interesting how they describe the PHP web front end as a "serverless" or "function as a service" architecture. I guess it's a matter of perspective. It's a service that has a monolithic codebase with lots of endpoints deployed to it. I guess from the perspective of the maintainer of one of those endpoints it's "serverless" but that abstraction (like all abstractions) has leaks: the teams responsible for the top endpoints and those working on shared libraries can't treat the infra as a given, but rather need to be acutely aware of its limitations and performance characteristics.


PHP is definitely the original serverless! You upload your code and someone else runs it!

CGI is also serverless

I wrote a couple articles with these comparisons, and related issues:

Comments on Scripting, CGI, and FastCGI https://www.oilshell.org/blog/2024/06/cgi.html

Comments on Shared Unix Hosting vs. the Cloud https://oils.pub/blog/2025/02/shared-hosting.html

---

I'm not the only one who thinks this: https://www.devever.net/~hl/mildlydynamic

AWS Lambda: CGI But It's Trendy. Recently we've seen the rise in popularity of AWS Lambda, a “functions as a service” provider. From my perspective this is literally a reinvention of CGI, except a) much more complicated for essentially the same functionality, b) with vendor lock-in, c) with a much more complex and bespoke deployment process which requires the use of special tools.

People who don't think this is true probably never used PHP or CGI ... You don't manage the server; you just upload your code!

Architecturally, it is the same. From the user experience, it is the same.

PHP and CGI also scale infinitely, because they are stateless. Meta scales PHP to a user base of half the world's population. They could also scale CGI/FastCGI.


I think the full description of “stateless, serverless functions” adds a bit of clarity. My read of this is that whatever code is running doesn’t maintain state between requests, and doesn’t touch the underlying operating system. Which seems pretty standard for highly managed environments anyways. It’s been years since I’ve written backend API code that touched the underlying system, or left objects in heap between requests.

The flexibility of knowing that any machine can instantly run the code for your API gives a lot of flexibility to rapidly scale up an API.

Nothing is “serverless” to everyone. Especially when you run the data center. But being “serverless” and even sitting above the “language runtime” gives API developers a lot of freedom to focus on business logic.


It's serverless only in that there's a whole different organization at Meta handling the (monolith) hosting on actual hardware.

By that definition, you could argue Amazon's detail page is "serverless".


There’s only one entry point for all requests. It’s php (well, Hack) all the way down from there. So all the routing is readable as php code, request handling etc.


“Serverless” is not synonymous with Lambda, it’s just a computing model.

Lots of companies are hosting old monoliths on Amazon Fargate, for example.


As I see it, it's just an abuse of terminology. By referring to Fargate as Serverless which previously referred to FaaS, they (apparently AWS's marketing team) have seemingly removed the distinction between FaaS and PaaS




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: