Software-defined networks, network functions virtualization, white boxes and large-scale fabrics made out of small...
fixed-configuration devices are all top-of-mind trends in the network engineering world. While these four trends appear to be completely different ideas, they are closely related through the single concept of disaggregation. This article looks at the meaning of network disaggregation and how this single concept applies to the four technology trends.
In its raw form, disaggregation means to take something that was previously combined and break it apart into its components. In cooking, for instance, flour, eggs, sugar, chocolate chips and a few other ingredients are combined to create cookies. To disaggregate the cookies, you might eat the eggs, chocolate chips and sugar separately. You could eat the flour separately, as well, but this probably isn't the best part of the dessert.
As for aggregation in cooking, ingredients are aggregated, or mixed, in order to create unique flavors -- the whole cookie, rather than the eggs, sugar and flour -- and add value. Network engineering uses similar reasoning, as aggregation provides two specific kinds of value. The first is the ability to abstract a lot of functionality into a single box.
Abstraction is the primary mechanism used to create systems at scale, so the abstraction of a set of components -- including a routing protocol, operating system, hardware forwarding components and others -- into a single appliance can enable the ability to scale. Instead of managing a set of devices, the operator can manage a single device.
Like the cookie described above, the second value of aggregation is in aggregating various components into a single appliance that allows the vendor to add in special features that add capabilities to the network.
Types of network disaggregation
If solid reasons to abstract and aggregate components are valid, then why disaggregate them at all? Different answers arise for each area where network disaggregation is taking place, so let's take a look at the specific types.
Chassis to fabric disaggregation. This type of network disaggregation replaces a single chassis device with multiple fixed-configuration devices, as described above. A network operator might undertake this kind of disaggregation to create a fixed-delay switching path through a fabric and to enable the use of a single type of device across an entire fabric.
Building a fabric with known fixed delay can bring major performance enhancements to some applications. For example, in an environment where microservices are deployed, the edge-to-edge delay across the network is additive; the overall application performance includes each trip across the network. In these cases, the ability to know what the delay will be is critical in setting timers and otherwise fine-tuning application behavior.
Establishing fixed delay means the delay across the fabric can be predicted and will remain stable. Further, using a single type of fixed-configuration device can simplify configuration, as well as enable the use of white box devices throughout the network, potentially reducing costs.
Software from hardware disaggregation. In this type of disaggregation, a network operator acquires hardware separately from software. This allows the operator to manage the software and hardware lifecycles separately. Because the network operating system is often tied closely to network management and automation platforms -- particularly in the realm of finding and repairing faults -- keeping the same software platform across several generations of hardware can help reduce costs and the mean time to repair.
Further, this allows network software to be customized to the operator's environment, which could dramatically improve network return on engineering or even help break down the barriers and help turn information into productivity.
Function from appliance disaggregation. This form of disaggregation takes some common appliances -- particularly in the realm of security and information flow management, such as load balancing -- and places them in software-only platforms. In some cases, the set of services traditionally provided by an appliance can be broken down into individual applications. For example, a firewall could be separated into components like network address translation, stateful packet inspection and deep packet inspection services. The resulting services can be tied together through something like service chaining to create scalable services that can be created, inserted into a traffic flow and scaled as needed.
One tradeoff for this kind of network disaggregation is the abstraction of the hardware platform, which often reduces the performance of services that were once closely tied to hardware. Other tradeoffs include the complexity of managing traffic flows and carrying the same data across a fabric multiple times.
Control plane from appliance disaggregation. Perhaps the most widely known instance of this final type of network disaggregation is the original vision behind the software-defined network, especially OpenFlow. The primary advantage of this kind of disaggregation is the reduction of individual network device complexity and the ability to centralize policy calculation and implementation. The offsetting tradeoff in many of these systems is the potential uncertainty of network connectivity from the host's point of view and the eventual consistency of the various databases in the more fully distributed control plane.
Disaggregation is not one thing, but rather a group of ideas -- each with its own positive and negative tradeoffs. Separating and identifying each movement is useful in understanding the broader concept of network disaggregation and the business and technical drivers behind each type.