Beyond the CLI… Software Defined Networking
I volunteered to work the VMware NSX booth at VMworld. Lost most of my voice by the third day, and my feet were toast. That being said, I got to speak to many customers, partners and peers about network virtualization. I especially enjoyed speaking to my Cisco peers!
At the booth we had workstations set up with basic screen shots detailing the capabilities of NSX via the UI interface, and VMware hosted NSX Hands On Labs were available in the hall close by…
To me, it was interesting to demonstrate via UI what Software Defined Networking is capable of doing – Creating a new L2 network across your data center in about 3 seconds, but the true power of NSX is leveraged via orchestration and automation… Python Scripts, PowerCLI, vCloud Automation Center, OpenStack, vCenter Orchestrator, or any of your favorite orchestration / workflow engines calling NSX REST API’s natively…
As detailed in the NSX for vSphere API Guide, the following is an example of the REST API call to create a to L2 Network (Logical Switch / Virtual Wire):
The following example is actual python code to perform the same action:
There are examples in Java, vCenter Orchestrator, and other programming languages, but the point to note is that it is programmable and consumable via orchestration workflows.
NSX combined with 3rd party integration means not only are you leveraging L2-L7 network services from NSX natively, you can also leverage best in breed IDS, IPS solutions, Load balancing solutions, and even IPAM solutions. Essentially, every aspect of networking can now be performed via orchestration.
So when you see all of the capabilities of NSX via the vSphere Web Client, also consider that all that the Web Client is doing is providing a UI interface which calls the various NSX API’s to perform the associated actions… Creating a networking self service portal for internal or external consumers is actually very simple to do.
If anyone doubts the new world of orchestration and automation, I like to use the Amazon example where via AWS a customer can provision virtual networks – All of this is being provided via API… A bunch of network engineers don’t get up and start punching CLI commands into switches when we press “Enter” on the keyboard.
As you build infrastructure delivery platforms using orchestration, virtual compute, virtual storage, and now virtual networking via NSX is a tool available for you to use… Building enterprise class applications using virtual infrastructure constructs is now a series of workflows and API calls, and virtual network UI interfaces just represents a subset of the full API specification available 😉