SHERWOOD: It's both. Think of the work required to get Unix to a position where people could even think about standardizing the APIs that became POSIX. A lot of learning had to be done, and people are still arguing about it. With my working group hat on I tell people we should build a bunch of examples, figure out what we got wrong, try to fix it, iterate it, and, assuming we actually reach some sort of stable point, then try to standardize that. Right now everyone and their grandmother has a controller, and what that means is that everyone and their grandmother has a northbound API. And while I'll be the first to tell you I think mine is best, at this point nobody really knows.
NW: Does every controller supplier have one northbound API, or will they have multiple types of APIs for different types of functionality?
SHERWOOD: It's a little bit of semantics. People talk about the Amazon EC2 API, but if you break it down there's clearly a bunch of different types of APIs put together. It doesn't really matter as much for the programmer as long as these things are well documented, open and available to them without changing.
NW: OK. And where do we stand in the development of these northbound APIs? Has Big Switch, for example, fleshed any out?
SHERWOOD: With all these things it's a question of what you support. The dataset we work on, both Floodlight [the open source version of Big Switch's controller] and our commercial product, is actually able to support a growing list of interesting applications, but it's not everything. And what's interesting to see is that people are extending the APIs to build more and more applications on it. And to pre-empt maybe your next question -- how close are we to being done? -- we just don't know yet.
NW: OK. You mentioned some applications that will be able to take advantage of the northbound APIs, but is it possible to categorize what will likely emerge? A bunch that will do X, others that will do Y?
SHERWOOD: I'm of the belief that it will be a large class of applications. I joke that the killer app of SDN will be the long tail, which is to say that the most interesting app will be the wide variety of apps that will be made possible. But I think it will be a large collection of applications. I recently asked a group of grad students, "Who's going to be the first to create FarmVille for networking, some application that no one ever thought of, but turns out to be really popular?"
NW: Are the legacy guys, the Ciscos and Junipers of the world, really keen on the standardization of these APIs, or does it work against their best interests?