“An invention has to make sense in the world it finishes in, not in the world it started.” -Tim O’Reilly
I was finally able to finish a lab I’ve started multiple times: Big Switch Networks’ Big Cloud Fabric (BCF) beta lab. A little history is in order, I first heard about Big Switch a couple of years ago when they were the driving force behind the early OpenFlow controller project called Floodlight. Floodlight is a Java-based OpenFlow controller and was one of the first stable open controllers available.
Quick Summary: The overall solution was surprisingly straightforward to configure. I found both the CLI and GUI to be very intuitive and simple. The CLI was predictably very Cisco-like with a few key additions, namely simplified multi-tenancy configuration. The GUI was also very similar to other SDN controllers I have used, namely Plexxi Control and Cisco APIC. However, the major downside is that the Big Switch solution is proprietary in that they have customized the OpenFlow protocol to fit their needs. The silver lining is their Switch Light OS can be run on a number of alternate vendor whitebox switches.
Background: My first impressions with Big Switch were just related to using Floodlight in a very small home lab (3 Linksys switches running Open-WRT) which I still am running my home network on today. Back then Floodlight was a fairly rudimentary OpenFlow controller with only a few basic applications.
Floodlight information: http://www.projectfloodlight.org/floodlight/
Fast forward two years and it appears Big Switch has grown up and is ready to take on the world. The BCF solution is a fairly comprehensive solution that is most importantly very easy to configure.
BCF marketing information: http://www.bigswitch.com/sdn-products/big-cloud-fabrictm
CLI: There is an easy to use and intuitive Cisco-like CLI for the controller that will be very familiar in operation to Cisco VSM for those with background with that product. I especially like the REST debugging capability which basically just echo’s back the REST calls made by the CLI for any given command input. This will be immensely helpful in a staged approach where you can get a fabric up and running via CLI and/or GUI then over time collect the REST calls happening in the background for common commands to begin scripting repetitive tasks.
GUI: Speaking of the GUI it is remarkably similar to other competitive solutions like Plexxi Control and Cisco APIC except that the nomenclature used by BigSwitch is a lot more synonymous with what most networking professionals today are familiar with. I suspect that most customers will start basic configuration and provisioning with the GUI while using CLI scripts for more repetitive tasks and troubleshooting and potentially eventually moving to more automation through the API.
API: I did not get to dig much into the API just yet but what I’ve seen so far it is a fairly standard REST interface. What is important to understand is that the GUI and CLI are built on top of the REST API like many competitive solutions are now built. Every CLI command executed or GUI click is making a REST call to the API. This demonstrates that some level of thought was put into ensuring that a complete programmatic interface was available since everything has to be completely exposed natively through the API. This is an important point for automation and orchestration efforts.
Scale: In a nutshell, in order to overcome some inherent scale issues with the OpenFlow protocol today, like many other vendors Big Switch has had to make several extensions to their OpenFlow implementation. This means that the solution is not going to be inter-operable with any OpenFlow switch. However you do not necessarily have to run Big Switch metal switches as their OS capable of running on multiple white-box vendor switches.
A good read on some of the enhancements: http://blog.ipspace.net/2015/02/big-cloud-fabric-scaling-openflow-fabric.html
Switch Light OS: A Linux-based, thin switching software based on Open Network Linux (ONL) that is purpose built for the Big Switch SDN solutions.
Ethan Banks had a nicely informative write-up on the recently released version 2.5 of BCS: http://ethancbanks.com/2015/01/28/news-analysis-big-cloud-fabric-2-5-released/
Good historical overview of Big Switch if you are so inclined: http://en.wikipedia.org/wiki/Big_Switch_Networks