Q&A with Sharon Barkai of ConteXtream
VSM: From your experience, what are the major challenges you see for cloud networks?
SB: Before we get into the networking challenges for the cloud, let’s first agree that the two biggest challenges cloud architecture imposes are the need for elasticity and scale. Now the main challenge with cloud networking without a doubt is the attempt to keep increasing both dynamic mobility and scalability. Mobility of endpoints (VMs) is easy within small "chunks" of clusters, but as we remove barriers and flatten out the spine-leaf cloud structure, we experience explosions in both address flooding and address lookup tables to identify where endpoints reside. Scale-out then becomes a big problem. On the same token, scalability is easy if endpoints just remained stationary, if spine links connecting and disconnecting would not ripple information to all racks, and if all communication groups would keep stagnant and could be stitched using static configuration, or at least if states for the same sources would continue communication among the same destinations in the same locations. However, this is not the right way to scale a hosting, carrier, or Internet Datacenter applications.
VSM: Why isn't traditional data center networking ideal for the cloud?
SB: Traditional data center networking would have been ideal for semi-close workgroups of processes working locally to produce a combined task. This way, simple hierarchies of IP subnets would have scaled amazingly well. However, when 100 different servers are involved in every Facebook refresh page, or tenant VMs are randomly added and removed to cope with elastic demand patterns, and carrier resources are combined on the fly to cope with varying subscriber demands throughout the day, the traditional “country code,” “zip code,” and “street address” hierarchical scale structure of the IP breaks.
VSM: What is Software-Defined Networking and how is it different from traditional networking?
SB: Both traditional and software-defined networking are based on hardware and software elements that "connect things" by forwarding packets. The main differences between these paradigms are in the awareness requirements and optimization of the network. Traditional networking is simple. It scales, easily extends and will typically pick the shortest path between any two locations based on localized need-to-know limited information in each hop. However, this doesn't allow the endpoints to move, which is exactly what we look for in the age of clouds. Mobility allows flexibility, elasticity and load distribution that impacts the economics and experience of computer applications far deeper than the shortest path selection. In order to facilitate mobility there needs to be global real-time awareness of every endpoint, and this is what we achieve with software-defined networking. We want to achieve this in a way that scales and does not compromise the fantastic extensibility of traditional IP networking. This can only be achieved using intelligent combination of the two paradigms, traditional, and software-defined networking.