Networking has always been a hardware-centric affair. Organizations purchase, implement and maintain a wide array of routers, switches, load balancers and other gear on a device-by-device basis. The result is a highly complex network environment that is difficult to manage