Since being acquired by Microsoft, Skype has received increased attention around its privacy practices and its use of data centers to house so-called “supernodes”. Most recently, an article praised Skype’s decision to move its supernodes to Microsoft’s data centers. I think it’s important to bring some clarity around this move and what Skype is really doing that should be good for its customers.
First, Skype is a peer-to-peer network. While many users don’t realize it, Skype leverages its users’ bandwidth to route its voice and video in its P2P architecture. By doing so, Skype has built the world’s largest phone company without laying a mile of fiber! That’s very cool. However, since Skype didn’t advertise this fact much, some users who happened to have high bandwidth (usually businesses) were unknowingly “upgraded” to supernode status, which often times negatively impacted their network performance.
In Skype’s architecture, a supernode helps manage the connections other nodes are making to each other, in essence helping orchestrate the peer-to-peer communications.
Due to customer feedback, Skype started offering tools to combat this, and as a result, they lost many of these supernodes and needed to replace them. Skype’s outage last year was a lesson on the vital role supernodes play in their architecture.
Hosting them in a data center is a great way to create a group of trusted supernodes (what Skype is calling “mega-supernodes”). They made a pragmatic trade off here to slightly increase infrastructure costs in order to improve the user experience. Using Microsoft’s data center infrastructure, where it houses its cloud servers, is a smart move. And it does not vastly increase Skype’s cost structure, as centralized infrastructure still makes up only a small part of its operations.
Also, in spite of the media hype, Skype was already looking at finding new ways to support its supernode structure. Skype exec Mark Gillett said in a blog post that: “Skype was in the process of developing and moving supernodes to cloud servers significantly ahead of the Microsoft acquisition of Skype. Skype first deployed ‘mega-supernodes’ to the cloud to improve reliability of the Skype software and service in December 2010.”
Symform, the peer-to-peer cloud storage network I co-founded a few years ago made a similar decision when we started. Each of our users contributes local storage space and bandwidth to the network (and they know this up front).
While overall our model is a decentralized architecture, the central “brain” or orchestration engine for the network, which we call Cloud Control, is centralized and hosted redundantly in a data center. Just like Skype, we made the same pragmatic decision to improve the overall experience for a marginal impact on our cost structure.
P2P architectures have tremendous scale and economics, and Skype continues to benefit from them despite this somewhat small change.