Have you noticed that in the last six months, we’ve been having more stories about “cloud” networking and fewer about SDN or NFV? Sure, it’s easy to say (and also true, as it happens) that the media jumps off a technology once it becomes too complicated to cover or is discredited in terms of impact versus hype. In the case of the cloud, which is older conceptually than both SDN and NFV, that can’t explain the shift. What’s going on here?
One fairly obvious truth is that a lot of what has been said about the impact of SDN and NFV is really about the impact of the cloud. SDN is highly valuable in cloud data centers, and SDN software is therefore a critical adjunct to cloud computing, but it’s the cloud computing part that’s pulling SDN through. Without the cloud, we’d be having relatively little SDN success. NFV, somewhat in contrast, has been assigned a bunch of missions that were in truth never particularly “NFV” at all. Many were cloud missions, and that’s now becoming clear.
A truth less obvious is that underneath its own formidable burden of hype, the cloud is maturing. There was never any future in the notion that cloud services would be driven by the movement of legacy apps from data center to cloud, but it wasn’t clear what would be driving them. Now we know that the cloud is really about event-handling, and that most of the applications that will deliver cloud revenues to providers in the future aren’t even written yet, or are just now being started.
All of this begs us to rethink what “the cloud” is. It’s not a pool of resources designed to deliver superior capital economies of scale. It’s about a pool of resources that are widely distributed, pushed out to within ten miles or less of almost every financially credible user and within forty miles of well over 99% of all users. It’s about features, not applications, being hosted. It’s about things that are cheaper because they’re rarely done and widely distributed when they are, not about centralized traditional OLTP.
SDN and NFV are consequences of the “true cloud”, applications of it, and elephant-behind-the-curtain glimpses of the final truths of the cloud. If we have what is almost a continuous global grid of computing power, we obviously need to think about connecting stuff differently, and similarly have to start thinking about what we could do to utilize that grid to simplify other distributed applications, which networking clearly is. But if both SDN and NFV only glimpsed the truth of the cloud future, what would give us a better look?
Let’s start with SDN. The notion behind SDN is that adaptive networks whose intrinsic protocols and service protocols are the same are restrictive. Sure, they work if your goal is to provide connection services alone, but if we have this enormous fabric of computing out there, most of our connectivity is within the fabric and not between users. SDN’s most popular mission today is that of creating extemporaneous private LANs and WANs for cloud hosting. But SDN still focuses on connections—it just makes them less “adaptive” and more centrally controlled. Is that the real solution?
Mobile networks kind of prove it isn’t. We have this smartphone that’s hauled about on errands and business trips, and we have to adapt the networks mightily (via the Evolved Packet Core or EPC) to let users sustain services while roaming around. Even recent work on what we could call “location-independent routing” falls short of what’s needed. Most cloud networking will depend on what we could call “functional routing” where the packet doesn’t specify a destination in an address sense at all, but rather asks for some form of service or service feature.
A generated event may have a destination, but that’s more an artifact of how we’ve built event processing than of the needs of the event. Current trends toward serverless (meaning functional, lambda, or microservice) computing demonstrate that we don’t have fixed hosting points for things, in which case we really don’t have fixed addresses for them either. That’s what we need to be looking at for the cloud-centric future.
Then we have NFV. We build networks by connecting trunks through nodes. Nodes are traditionally purpose-built devices like routers, and NFV was aimed at making a node into a software instance that could be hosted somewhere. Where? Today, the notion would be in general-purpose virtual CPE boxes on premises, or in a fairly limited number of operator data centers. But if we have a global compute fabric in the cloud, does that make sense?
A network built from hosted software instances of routing functionality doesn’t differ all that much from one built using appliances. Same trunks, same locations, since most operators would host their virtual functions in the same places they now house network devices. The specific target for NFV was the non-connective appliances like firewalls and encryption elements, or embedded functions like IMS and EPC. These features would almost surely be radically changed if we shifted from a user-connecting to a cloud-connecting mission. Many of the things these appliances do wouldn’t be as relevant, or perhaps wouldn’t be relevant at all, because the focus would have shifted away from traditional “connection” services.
We are not, or should not be, trying to build today’s networks in a somewhat different way. The cloud is already demonstrating that we’ll be composing services more than delivering them, and that the process of composition will render the communications needs of the future in a totally different way. I’d bet you that engineers at Google have already started to work on the models of addressing and networking that the future will require. I think it’s likely that Amazon and Microsoft are doing the same. I’d bet that most network operators have done nothing in that space, and few network equipment vendors have either.
SDN and NFV were never transformative technologies, because technologies are really not transformers as much as they are enablers of transformation. The cloud is much more fundamental, in no small part because software that we ran decades ago would still run and be useful today. The model of computing has not changed, and that may be a big piece of why the model of networking has also been static. Computing is now changing, and changing radically, and those changes are already unlocking new service models, because software processes are what the cloud changes fundamentally and software processes are what create the services of the future.