5 ms·
Central sever architecture is dominate because it’s easy. I can buy an IP address within a a data center and it will be routable. The lack of IPv4 addresses mad
by samtho 3y ago
Central sever architecture is dominate because it’s easy. I can buy an IP address within a a data center and it will be routable. The lack of IPv4 addresses made giving every client on the internet an unique IP cost prohibitive for ISPs so we created NAT. The majority of clients who only connect to hosts are behind at least one NAT making them very difficult to address uniquely. The client must initiate a connection for an entry in NAT table to be added and allow for outside entry into the network. Further, more devices are mobile or on very dynamic IP systems that cause them to hop among many different IP address throughout the day or even hour. Trying to establish a connection to devices that have no static IP address is a problem that has no real elegant solutions but always defers to some known authority - the central server.
If we were to solve, once and for all, this ad-hoc, client-client connection system, P2P communication does require trust that many applications simply cannot tolerate. Game servers exist to validate client input, register actions, and distribute them to the players in the game, banking apps verify you are who you are and allow the movement or viewing of money, etc.
I don’t see a future where we fully leave the world of central servers behind but I do see one where we value P2P more and create public routing systems that enable this more freely.
- mrtksn 3y agoThe network architecture is a valid concern but IPv6 is a thing and AFAIK it solves a lot of the problems. With the scarcity of IPv4 addresses, and the ubiquity of the connected devices the push appears to be finally here as hosting providers are ramping up the costs for IPv4. Besides, even if the client-server architecture is to remain, I expect to see significant simplifications on the algorithm deployments. By that, I mean server apps becoming easy to run and manage as WhatsApp on iPhone. No more complexities related on running python and all its libraries on Linux on some datacenter. Instead, it should be possible to have an app that just runs and takes care of some high level code that is possibly generated by AI. For example, maybe in near future we will be able to tell some LLM to create an app that does something useful for us(i.e. track orders on Shopyfy and send personalised questionnaire about the delivery) and deploy it to anywhere(own server at home, Amazon, DO etc.) and never think about the complexities of deployment and only deal with the value added part of the process.