By: Cody Eliar // CTO & Cofounder
The cloud and software as a service (SaaS) are often considered two pieces that are codependent on one another. The cloud offers software companies the convenience of being able to stand up infrastructure quickly and without purchasing any physical hardware, minus the computer you need to connect to the infrastructure itself. This was a revolution in the world of software. You no longer had to spend thousands of dollars building servers and preparing to scale the system, you could simply scale your entire infrastructure with the click of a button. This decreased the barrier to entry greatly and made building a new technology company much easier than it had in the past. As a result we started seeing companies spring up at the drop of a hat. Anyone who could afford the few dollars a day to stand up a cloud computer could participate in the growing field of SaaS. But is cloud computing really as good as many companies claim it to be?
For many companies the answer is a definitive yes. They’re able to save on immediate infrastructure costs as they begin to grow as company. Once they have reached critical mass, they then have the option to move deeper into their cloud provider’s infrastructure, effectively locking them into that vendor, or begin moving off of that infrastructure onto something they can afford to buy and maintain themselves should they choose. Or even better still, they find the aspects of the cloud that cost them a substantial amount of money, and attempt to replace those solutions with in-house ones in attempt to reduce cost.
There is an interesting piece about how many online social tech companies make their money on today’s “web 2.0”. That is, that most of these companies make their revenue off of the people that use and generate content on their sites and then target those users with ads that are paid for by advertisers. These companies often call their users their “customers”, but in reality their users are actually their products. This is a hard reality that few of today’s social media users understand and this allows these social media networks to operate as if they are doing business on their user’s behalf. But what they are really trying to do is to keep you on their site for as much time as possible to increase the value of any ads they are hosting on their sites. It might be hard to believe at first from anecdotal experience, but all you have to do is perform a quick search on the networth of any large social media company, and you’ll notice that their net worth is hundreds of billions of dollars! Advertising is clearly a lucrative market and the end users are the product.
So why are social tech companies and the cloud linked? To be fair, they don’t have to be. Anyone with knowledge about how to architect a highly scalable infrastructure could build a system like this in their basement if they wanted to. But the real linkage is in centralization of data, processes and policy. Whoever owns the infrastructure gets an all-access, VIP pass to content generated on their site. This is what makes them so profitable. These companies can view all the information you generate on their site. That’s why you end up clicking a button or a checkbox when signing up for these services that say “I agree”, because you are essentially giving them all the data you create on their site. This used to be an unsettling fact in the early 2000’s when Napster was the hottest piece of software around and everyone generated static content pages, but like the frog in the slowly heating water we exist in a space that is becoming less habitable with each passing moment.
I’m not suggesting that centralization is inherently bad, because it’s not. I’m saying that centralization as it is implemented and used today is not in the best interest of users, but in the best interest of tech companies. Centralization plays an important role in efficiently maintaining state in databases. Without centralization to maintain this state, we have to perform extremely complex, energy intensive and time consuming operations. Another reason centralization is important is for people who do not own compute power to perform the tasks that they need done. You could choose to perform a calculation on your Raspberry Pi that could take weeks, or you could rent some centralized infrastructure in the cloud or elsewhere that could do the same computation in a matter of minutes or seconds.
At this point, you might be wondering if centralization isn’t inherently bad then why would anyone want to move their infrastructure away from the cloud? The answer is simple: trust. With centralized infrastructure in the cloud, you can’t necessarily trust those who have the keys to the kingdom to keep you safe and to keep your data private. Afterall, there are so many companies that rely on your data being visible to them so they can sell it to the highest bidder. So the easiest way to safeguard your information is to trust no one by default and only give the keys to your data to entities that you trust.
This is where internet technology becomes interesting again: enter peer-to-peer or p2p networks. The great thing about p2p networks is that you can’ttrust them with your data at all! In fact, as soon as you put any data in a p2p network it’s immediately visible to everyone on the network. If this sounds like it isn’t a good thing, let me explain myself more. P2p networks are networks which connect random people’s computers together over the internet. You have no control over whose computer you connect to and therefore cannot trust that they might peak at what data you are moving around on the network. Since you know for a fact that you can’t trust your data to be confidential on a p2p network, you must enforce that confidentiality from the beginning and ensure that no one can view the data unless you explicitly give them access. Voila, by trusting no one, you can now give explicit, fine-grained control access to your data and you never moved through a big centralized infrastructure. Your data literally traversed dozens of other people’s computers to finally arrive a destination that you defined.
The libraries and algorithms that have been developed in this area over the last two decades have opened doors that seemed implausible five or six years ago. We’re entering into a new era in which centralized infrastructure will still play a role in our day to day lives, but in a way where we define the terms of its usage, not someone else. The clouds of centralized infrastructure are parting and the future for p2p technology is looking bright. Let’s start taking back our digital footprints and leverage technologies that put our users back in the customer seat and not sell them as products.