9 ms·
I'm glad people are realizing cgi-bin was the right model all along, but I'm sad it took ten years in the wilderness to get there. All I want is user-isolated
by geofft 6y ago
I'm glad people are realizing cgi-bin was the right model all along, but I'm sad it took ten years in the wilderness to get there.
All I want is user-isolated (suexec) shared web hosting on scalable web servers and SQL servers that someone else runs for me, where the extent of what I need to do is put PHP/Python/shell/whatever files in a directory on some network filesystem, and optionally wire up FastCGI if I want. It works well, and it's been doable for years because I used to run infrastructure like this. In the modern era you can even imagine extending suexec to create containers and not just switch user IDs if you want more isolation - as long as you have the container image locally, the individual steps of making a container (make some namespaces, make some cgroups, set a seccomp policy) shouldn't be noticeably more overhead than exec / process startup itself, and, again, FastCGI is an option.
That's "serverless" just as much as anything else is (i.e., the person running the website doesn't need to think about launching and operating servers, the platform takes care of it) and it's way simpler than using all these fancy tools on top.
- rintintone 6y agoI definitely feel vindicated in my long-standing feeling that every server-side software deployment story I've seen since that of my early Perl and PHP work has been way, way worse than those were. The best anything else has managed is "almost as simple to use and and reliable, but much more complex".
- ljm 6y agoIt still applies now. e.g. it's still trivial to deploy a ruby/rails app to a server (with rollback potential) using Capistrano. Capistrano itself just being a DSL over a shell script that runs scp and a few remote commands.
- thaumaturgy 6y agoI run an architecture that's not terribly different from this. Unfortunately, the current hotness -- php-fpm -- doesn't work with suexec. The PHP pools are easily configured to run under nonprivileged user accounts but suexec provided a few other nice features that are no longer available. Scalable no-downtime MySQL is still a total bitch though.
- flir 6y agoThank God. I was starting to think I was the insane one. Everything old is new again.
- foepys 6y agoThe past few years of nodejs, microservices and cloud development has been a fast-forward from 90s (or even 60s) technologies and ideas. I feel like everything that was cool in 2010 has reached the point where its functionality either converged with "old tech" or just died because there were too many problems with it. Examples: - JSON wanted to be simpler than XML. Now it has schemas, JsonPath, comments (but only supported by some parsers), and is still pretty verbose and has way too few data types (datetime anyone?) - MongoDB wanted to be a document DB with shards and eventual consistency, now it also supports ACID-like operations - JavaScript was cool because it was untyped, now TypeScript is the new cool kid on the block. It's only a matter of time until untyped programming is the new hype again - SemVer got somehow rediscovered - People made fun of Maven, nowadays everybody and their mother are pulling directly from npmjs.org
- orange8 6y ago> JavaScript was cool because it was untyped, now TypeScript is the new cool kid on the block. I don't think JavaScript has ever been cool. Before TypeScript, it was CoffeeScript that was cool.
- flir 6y agoThe detour into non-SQL databases I find particularly hilarious, because as a greybeard I was sitting on the sidelines the whole time muttering "it'll never work". Now they all seem to have SQL interfaces for some reason.
- lathiat 6y agoWe're still doing that in the traditional web hosting industry.. while many are using cPanel and just scaling out X customers per server at my company since 2007 and earlier we've done this using linux and load balancers for a long time for both web and email. Unfortunately however this mid-game between "traditional" and "scalable" makes it difficult to get people to move to a few things that would help which includes always using S3 so we don't need a central NFS server (which you lose a lot of performance to, even if it was just for some folders like the main code directories). And the reality is the majority of our customer base is on wordpress... and there are a lot of terrible wordpress developers which lead to all sorts of fun stuff. Also PHP in general reloading the entire code base every page load is stable though somewhat intensive compared to a Rails-style application for people that want really high hit-rate sites but don't want to make everything static - for example someone with a shopping cart. (We have had customers exactly like that, wanting to hit a badly designed wordpress site with thousands of people at once in a rush sale). So it is a thing.. but there are challenges. And honestly, surprisingly, getting people to move the needle a little from their basic cpanel setups is surprisingly almost harder than just changing platforms entirely because you have to educate people on how you want to be different to everyone else rather than selling a fun new solution.