Decentralized Computing: Will servers still be around by 2030?
We’re obsessed with ever smarter personal devices. Mobile, small, smart. That’s the trend. Few people ever talk about servers. At least if they’re not considered geeks. How will that trend towards ever smaller mobile devices look like, extrapolated over the next 15 years? Will all capacity – computational, storage, communications – be handled by our “client” devices? Will there be a place for servers at all by 2030 and is decentralized computing going to make a comeback?
My profession as an independent software developer brings with it that I’m using servers a lot to host the apps that my company develops. I pay hosting companies, SaaS services and others in order to be able to do my job. There’s even more investment with regards to my own time. I’ve learned about all the different operating systems, and I consider myself “fluent” in Linux (using diverse flavors, ranging from Ubuntu to gentoo), FreeBSD, as well as SmartOS. I learned how to secure my servers against intrusion (I went passionate about that after one of my servers got hacked), how to create and maintain my environments for development, testing and production. And how to get the most bang for the buck regarding hosting. In total, it was quite a hefty investment. And I asked myself the question: “Will it all pay off? Or are servers a species that will be extinct a few years from now?”
After giving it some thought, I realized how much we all depend on servers. I talked to a good friend of mine that runs a mobile app development firm. He says the apps that don’t communicate with servers are rather trivial: They are usually easy to develop, but very limited in use. Yes, there are apps for drawing fractal pictures and for unit conversions. These types of things might be useful without servers, but the latter (unit conversion) will probably include currency conversion, which is dependent on servers for real time exchange rates.
So, the overwhelming majority of mobile apps, as well as what we do on our PCs and Macs, depend on servers. The whole “share economy” depends on (usually centralized) servers to do their job. Games without servers barely have a chance on the market these days. Booking stuff online, banking, selling your car, finding a date: Yes, all of that heavily depends on servers.
I finally realized: With the progress of technology and society in general, it’s not that we need servers less. We need them more. And growth in server usage will be huge!
Servers = Centralization? Making a Case for Decentralized Computing
Decentralized computing doesn’t mean giving up all the perks we have gotten used to from the cloud. I am a big proponent of decentralized computing, there is no reason why a select few companies have to grow ever larger, all that with our information.
The next question that came to my mind: Is it an inherent feature of servers in that they bring centralization?
Short answer: No.
Long answer: Still no. Let’s think about what centralization means. It can mean one huge server, serving all clients. This form of centralization is over, since the number of web and mobile app users has grown to billions. No single server could do it. We’re using server farms, clusters, data centers. They are also mostly centralized these days. Centralized in the sense that they are controlled by a single entity. All AirBnB servers are controlled by AirBnB as a company, hence their servers are a form of centralization. Not necessarily centralized resources, but definitely centralized control.
Is that a necessity? No. Think Bitcoin. Many servers, no central control. It’s like “still using servers, but in a decentralized way”. Can it be done in contexts other than crypto currencies? Yes. Think WordPress. You can choose wordpress.com, have your blog(s) running on their servers, controlled centrally by one company. Or you can download the WordPress software and install it on your own server. Millions of people are doing that, in a decentralized way. Another example is source code repositories. Github is very popular with a centralized concept. With software like gitlab, you can create your own, decentralized gitlab server. We can create a directory, maintained in a decentralized way by the community, that enables you to search trough all decentralized gitlab servers to see if someone has an open source repository for a specific subject, just as we could on good old centralized github.
What is More Desirable: Centralization or Decentralization?
My simple answer is: As much decentralization as possible, as much centralization as necessary. Why is that? Centralization brings with it a few drawbacks. It generally means less fault tolerance. If something central breaks, lots of “clients” are not working either. Centralization also means a longer chain of command and/or chain of communication, and more dependence on a single organization that could one day control us against our will. Centralized resources are also a more lucrative target for intruders, spies and other culprits. Decentralization helps keeping data ownership where it belongs: With you. After all, it’s your data and uploading and thereby rendering it to a (supposedly “trustworthy”) big company is something I want to avoid if I can. Centralized companies are also more likely to give in to government interventions than a myriad of decentralized resources are.
For all these reasons, I generally prefer decentralized computing. As long as it’s possible. That’s why I mentioned: “As much centralization as necessary”. In my github vs. gitlab example explained above, decentralization is perfectly feasible. However, if you run a startup and need your web app to scale seamlessly from zero to 100,000,000 users per day, there’s probably just a few big companies that have enough resources to offer you that kind of growth path. This can dramatically change in the future, if and when people interconnect their personal servers to form a decentralized resource pool. It will be to server capacity what Bitcoin is to payments. I’m looking forward to the day when that’s possible.