The Need for True Cloud-native Software

The Need for True Cloud-native Software

From the beginning, Volta has taken a different approach to build our platform.  First, we completely disaggregated the control plane from the data plane.  This allowed us to run the processor and CPU-intensive functions in the cloud where that capacity is much less expensive and easily scalable. This works with a wide range of devices in the data plane while minimizing the processing requirements on that hardware.  As a result, we can run multiple virtual routers on a single ASIC-based white box switch.  These virtual routers are completely separate management domains, each running its own protocol stack (click here for more details).  We see numerous use cases for multiple virtual routers for PE, peering, and 5G applications.

Second, we were cloud native from the beginning. Using containers to separate processes enhanced the ability to control the resources required by only running the processes required, unlike the monolithic code in legacy vendors. This also made the software more reliable since one process could be restarted without having to restart the entire stack. It also made updates less painful which is a major operational concern.

We have been frustrated that the term cloud native was adopted by other vendors who ran their stack entirely on the white box hardware.  Just using VMs to run code in the cloud or containers on switches does not make the software cloud native. 

This is more than just vendors trying to look good by co-opting terminology.  Customers are realizing that it undermines their ability to get the benefits from the cloud.  In a recent discussion published on SDXCentral, Rakuten Mobile CTO Tareq Amin talked about the issues this caused:

“It is not good enough to move the software architecture from monolithic architecture that was built on proprietary hardware and say I’m going to shift to a virtual machine. To achieve the dream and the benefits of cloudification, the software architecture must evolve to support elasticity.” 

“There is no magic that an Amazon Web Services, Google, and Microsoft could enable because the underlying software architecture is absolutely flawed. It needs to evolve.”

Amin goes on to explain why this affects their ability to deploy automation, use elasticity to scale and ensure resiliency of the network:

“We still have a lot of work to do with the industry and ecosystem to push this modernization of the software stack to move into the right destination for auto elasticity, auto healing, resiliency, and so on, into the fabric of the cloud networks.”