"Is there any reason why there's a "server" or "serverless servers"?"
Yes, you can not run compute processes without compute. A server is where that compute happens. Serverless is a concept that your function will run on "some" compute, that you don't have to manage. It does, however, require compute. So running that function on your mobile device, a server, a fridge, all within the realms of possible. You still, in the end, need compute to execute the code.
Decentralized compute (running on your devices or someone else's) is what serverless is (only, it's wrapped behind a service offering so it's not completely decentralized).
Whatever it is, just drop it and use computers that can execute some high level languages like JavaScript to perform directly useful actions like storing information in embedded DB like SQLite, reading information, transforming information, transmitting information and displaying information - stuff that can be done with huge performance even on 5 years old mobile phones.
So all that "serverless" stuff is basically that but its using traditional server software behind the scenes to provide maintenance free interfaces to do all the things I mentioned. Another aspect is that the client devices may connect to server resources and directly manipulate data without an intermediary code on the "server" and you still don't need specialised hardware to handle it, its handled cryptographically using algorithms that any computer can run.
The problem with it is that its proprietary non portable software that locks you in. Instead of that, you can run the exact same software on every computer(in the datacenter, at the company building, in the hands of people etc). Bottlenecks occur in certain situations, so you don't store all your clients information on every machine and the problem is solved. You run the same platform everywhere but each machine operates with an algorithm suitable for its role.
Modern consumer computers are beasts, they are capable of processing huge amount of data. Its common for handheld devices to load megabytes of of JavaScript, compile it, render graphics with it, handle inputs and send data tens of times per second to multiple servers as the user is interacting with it. I don't believe that a device capable of doing that will have hard time storing and fetching from an SQL database with a few thousand rows.
You just described one tier of the n-tier architecture. Yes, modern compute devices are fast. However, those devices that produce that data have to send that data… somewhere back to the company that cares about it. In your model, they would just write it to the company’s database? All 1Billion of them? C’mon. Even if you had a decentralized network capable - you don’t have a compute device in the world capable of handling that amount of traffic. Even if each device processed a chunk, and you had an efficient network to coordinate execution operations, you still need to get that data to its “caller” which would bombard it with interface calls exceeding its sockets.
So I appreciate the lively discussion on how modern consumer hardware is awesome, it’s only on the edge of a vastly bigger compute structure.
Fun fact, most companies don't have 1 Billion customers. Most don't even have 1000. They can have large data due to the subjects they may work on but that data tends to be accessed sparsely(i.e. a SaaS that provides KYC products to 10 regional banks).
Google, Netflix and the few other exceptions probably should stick with the traditional stuff for now but there's a huge number of companies that just don't need those hugely scalable systems and sacrifice flexibility and/or spend resources on problems they don't have.
Yes, you can not run compute processes without compute. A server is where that compute happens. Serverless is a concept that your function will run on "some" compute, that you don't have to manage. It does, however, require compute. So running that function on your mobile device, a server, a fridge, all within the realms of possible. You still, in the end, need compute to execute the code.
Decentralized compute (running on your devices or someone else's) is what serverless is (only, it's wrapped behind a service offering so it's not completely decentralized).