This post is a response to Lucas F. Costa's blog "Localhost will inevitably die", which I enjoyed. I don't think localhost has to inevitably die, and I think it's worth preserving.
In 2008, I ran software from localhost
for the first time. I was in the computer lab at my university, a room full of computers and computer nerds. As hard as the custodians worked, the stale smell of nerd sweat never went away. It was a lab full of not-so-powerful desktop computers running Fedora Linux. I was struggling as a computer science student to draw a line between algorithms and data structures, and making anything interesting on the computer happen, like how Facebook was taking off in popularity, having been written with something called php
and I guess that guy was getting rich slinging code in college the same as me, except I was losing weight from spending all my money on cigarettes.
That night in the fall of 2008 I wrote an application in PHP supported by a MySQL database. It had no styles, just a table of information I could plug in with the HTML <form>
I managed to slap together. I understood the relational algebra that powered the database in theory, but this was the first time I could put some of that power into practice.
I pointed my browser to http://localhost and I believe an epiphany happened. It was the day I became able to create web applications. I could run an app, serve it to my own browser, and make changes to the full stack: database, application, and front end. There was a rush of excitement and I walked home that night through the snow listening to Jay Z and Linkin Park. I had finally learned a practical skill in college.
I have experienced this problem in the past, where you can no longer run your company or team's application on your laptop anymore. Someone I once worked with put it nicely, saying "I should be able to get on an airplane, crack open my laptop, press a button, and run the whole thing". This was a few years ago, when Wi-Fi wasn't readily available on commercial flights.
As Lucas wrote, localhost dies as applications become bloated and complex. A huge chunk of code becomes a series of microservices, or someone pitches a CQRS implementation to the manager in a place where it doesn't belong. It's not long until technologies like Azure, Kubernetes, and Terraform enter the discussion.
That happens when two things happen: A sufficient, but small, number of technical problems happens with running on localhost, and the company has a huge pile of cash to burn.
If Stack Exchange can do what it does with four SQL servers and 9 web servers, then most any software can run without using cloud tech to rain down a freshly Terraformed copy of the production Kubernetes cluster every Monday morning. But it happens anyway. I've watched the whole thing happen. I've also watched SQL servers chug on and on in a rock-solid application for years and years.
I think it has to do with venture capital funding a bunch of developers without much else to do, or an attempt to just scale as big as possible. I'm not really sure. But in the companies I've worked for that didn't take venture capital, the boring software just chugged on and on. And in the companies that I've worked for that did, localhost did indeed die a painful death.
I'm motivated these days to use the boring tech. If you have a software project that might need to be built good, fast, and cheap, without flashy cutting edge tech, you may want to hire me to make it happen.