“A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.” – J. Gall
Nature has been a font of inspiration for a great number of technologies, inventions and innovations. One of the most amazing things from nature is how complex systems are created from the participants’ interactions. In biology, the term ecosystem defines a complex system of interactions between organisms and their environment. In our world, the term ecosystem is applied to reference to well established models (the mobile applications ecosystem or the start-up ecosystem of a city). In computer networks, we can also mention the ecosystem of services and routing protocols in the Internet.
Even within the complexity of those systems, the underlying interactions and processes can be simpler ones. Think on electrical signals in the nervous system or the packet switching in the networking components, simple interactions that act as pillars of other processes.
Just as observing the nature, we observed that current components to build next generation network services and protocols were there, but those were not placed correctly. Data plane functionalities are and must be in the device as there are specialized hardware components for those functions. On the other side, control plane would require higher computation demands and fast-pace of service delivery and updates to meet networking growth forecast and operators’ requirements, respectively.
That’s why we built the Volta Distributed control plane as a distributed system that runs on the cloud, with the following three main layers:
- The management layer. The main entry point to the Volta distributed control plane, external applications and OSS can use standard and well-known protocols to manage the system. This layer is where the main internal operation and management components are running.
- A distributed messaging system. An inter-process communication (IPC) system utilized to distribute messages between the components in the Volta Distributed control plane.
- The computing resources layer. The scalable set of commodity hardware resources allocated to run the devices applications and required management services.
The management layer provides control to the services lifecycles in the Volta Controller. Orchestration ensures that applications are deployed and keep running using the required resources. In the computing layer, the Volta distributed control plane maintains a virtual representation of the device, named Network Element Virtual Interface (or NEVI), which acts as an independent controller for the device. The NEVI processes all the control-plane messages forwarded from the Volta Agent and distributes those between the services that run in the cloud processing those control-plane messages and taking actions. Following the actor model, physical device and NEVI resources are consistent as manipulation of state is performed via messages.
This is the key point of our distributed control plane; there is no difference between the virtual (NEVI) and the real device resources. Hardware limits, of course, come from device physical resources, but computational resources available for networking services came from a cluster of commodity hardware. Imagine your network device on steroids, where you can easily manage a higher number of service instances per device with fine-grained control of the computing resources available for the services.
As in ecosystems, with the Volta distributed control plane we provide an environment where networking can evolve at fast-pace, computing resources growth at the same rate as the network does and, last but not less, there is compatibility with existing control planes; being ready for current and future networking services.