The Future of Networks: Intent?
Or What Does Intent Based Networking Actually Mean?
For this final post on the transformation of networking, it is time to get intentional. Or perhaps, to get down to the intent. Or something like that. There has been a lot of discussion about intent based networking in the last several years; what is the hype about, and how will it effect the future of network design and operations? A good place to begin is with some thoughts on the meaning of the word intent.
Intent could mean the intention of the business leadership. For instance, “the network needs to be able to support five nines of availability,” or “the network needs to support this new application we have just purchased and intend to deploy in the next two weeks.” This type of intent does not seem to be the aim of intent based networking, however. Each of these intents are too broad to be useful to any kind of automated system towards reconfiguring a network to operate in a more optimal way. Moving from the intent of the business to the intent of the designer, we face the same sort of problem. How might a network reconfigure itself to support a new site, or replace the networking devices in a campus? Any time there is the deployment of new physical hardware involved, it seems unlikely that intent based networking will be able to do much more than indicate (unless you assume that a router manufacturing printer will be attached to the network at some point in the future, so the network can literally be self-deploying and self-healing!).
Where intent comes into play, it seems, is in reducing the complexity of the configuration at an operational level. For instance, assume an operator wants to prioritize the traffic for one application above some other application. There are a number of ways to solve this problem, of course; in an intent based system, it is not up to the operator to decide which technology to use. Assume the intent based system is programmed to split this kind of problem into three parts, with one part distributing a set of filters to distinguish the traffic; a second part configuring the edge routers to mark the traffic so it is placed in a specific queue; and a third part configuring the queues throughout the network so the traffic is handled properly. The intent based system is programmed to use signaling in BGP to solve the first two parts, and to connect to each device in the network to configure the QoS settings for the third.
Thus, intent serves only to remove the manual configuration; the intent of the business must be interpreted into design intent, and then design intent into a set of fairly specific requirements; only then can the system accept the intent and take action on it. This raises several areas of caution in the area of intent based systems.
First, how will the intent be expressed? Will it be any different than any other vendor-specific language or configuration system? Will the “intent language” become a specialized, deeply technical language in which expressing an intent to one system will end up meaning something completely different to another system?
This points to the second problem, which is the concept of intent, as described above, is a form of abstraction. Anyone who has followed my writing knows I am very cautious in the face of deep abstractions. While abstractions are necessary to build a system to scale, they are also the source of many problems. For instance, in the example above, quality of service is abstracted into an intent by the network operator. As noted above, however, the application of the intent may require precise wording on the part of the operator to ensure the correct result in the operation of the network—in other words, the underlying mechanisms will likely leak through the abstraction of intent into the way the operator interacts with the system. This should not be surprising, as all nontrivial abstractions leak.
Third, as an abstraction, intent based systems must remove some kind of information—and the removal of information in the control plane (specifically) always relates to some form of suboptimal use of resources in the network. While computer networks seem to be overengineered, with plenty of capacity to waste now, the brutal realities of economics will eventually dictate that networks become more efficient in their use of resources. In this case, the intent based model may become difficult to sustain.
The bottom line is this: intent based network represents a set of tradeoffs like any other technology. Intent based systems will be useful in some situations, and not useful in others. Along the way, intent based systems may add complexity, or even (if done correctly) remove complexity. Intent based systems may well help revolutionize the concepts of network design and operation—but they are not likely to mark the end of network engineering.