Editor's note: Cisco is putting the finishing touches on its Cisco Modeling Lab, which is expected to be released later this year. The CML virtual Internet routing lab is engineered to bring testing to the masses, writes Teren Bryson, a Seattle-area network architect. Bryson gives SearchNetworking readers a sneak peak into CML, and discusses some of the initiative's goals and benefits.
Everyone is familiar with the adage that it takes experience to get a job, but that to get a job it takes experience. But experience in the IT world has always been an expensive get -- until now. Cisco Modeling Labs (CML) aims to bring affordable hands-on training in a real-world, infinitely flexible lab environment to the masses, and in so doing turn the world of home lab building on its head.
Years ago, if you wanted to get experience on a suite of products in a somewhat real-world way, you had to buy a lot of expensive gear. Many of us chasing the coveted CCIE certification routinely invested tens of thousands of dollars in home lab equipment, power bills and soothing the inevitable worries of an often dubious spouse. Eventually, training vendors came along and provided online access to pre-built labs, but those often came with their own caveats and expenses. And of course there was the ubiquitous Graphical Network Simulator 3 that operated in a weird gray-area as far as licensing went, and had its own set of challenges in just getting it to work reliably.
If you don't want to run the entire shooting match on your laptop, you can use a small server to do the heavy lifting, and just run the front-end on your laptop.
With the shift of Cisco's testing platforms to a virtual environment in recent years, and in particular the announcement that the CCIE R&S version 5 blueprint would be based on an entirely virtual infrastructure, the time is finally right for a Cisco-authorized solution that enables the hands-on practical application of theory -- a product that allows you to get experience with Cisco's suite of products right on your own laptop or server.
Background and basics of Cisco Modeling Lab
At launch time, Cisco plans to have two versions available: a personal edition and a corporate edition. While I can't comment specifically on price, the personal edition will be quite affordable, and nobody reading this should expect any kind of sticker shock -- quite the opposite, actually. I expect many people are going to be very pleasantly surprised. The primary difference between the two versions is really going to be around scale; how large of a topology you can run.
The personal Cisco Modeling Lab edition will run on a laptop or small server, and will allow up to 15 Cisco images to be run concurrently. The number of non-Cisco images you can run will be wide open, subject to the constraints of the processor and memory in your compute environment. Realistically, everything we're talking about here is going to be limited by the resources you have available, and I don't think it should surprise anyone that running a large virtual topology on an underpowered laptop is not going to give you the best performance in the world.
Interestingly, the product runs on VMware Fusion or player, but not on VirtualBox. CML requires something called nested virtualization, which the latter does not support. Nested virtualization is what allows you to run the entire CML environment as a single VM, within which you run other VMs.
Inside the base-level VM, you can run a number of different images. At this time, you can load IOS XR, IOS XE (via the CSR1000v), IOSv, as well as generic server images such as Ubuntu Linux. Some noticeable absences are the adaptive security appliance (ASA) and any kind of Layer 2 device. No word on if the ASA will eventually be available, but Layer 2 will stay missing, as that functionality is heavily ASIC-dependent and hard to virtualize. Because Cisco's certification tests are all virtual now anyway, I don't see this as a product weakness.
If you don't want to run the entire shooting match on your laptop, you can use a small server to do the heavy lifting, and just run the front-end on your laptop. This would permit a larger topology and necessitate less load on the machine hosting the interface. Considering the ubiquity of network access these days, this might prove an attractive option for those wanting to test bigger scenarios without bogging down their personal computer. And even if you find yourself in some godforsaken place with limited network access (row 32, toilet section, 15-hour flight to Hong Kong), you could still design topologies for later use -- it's only the execution of the virtual machine images that runs on the server in this scenario.
Technical specs of Cisco Modeling Lab based on Linux
How CML is built and what's included is as interesting as what's missing. The environment is heavily open-source based, with some proprietary pieces added where needed. There are some conspicuously absent players, VMware among them, and one is left to wonder what role recent product announcements in the industry have played in the overall design and architecture of CML.
The base OS of the CML image is Ubuntu Linux, the hypervisor is kernel-based virtual machines, and OpenStack Grizzly handles the VM orchestration. Cisco-proprietary pieces take over to handle the middleware layer (Service Topology Director) and user interface (Maestro is the working project name), with the configuration engine following on in the guise of AutoNetKit with several Cisco extensions added.
The AutoNetKit portion of the product is arguably one of the most exciting individual components, as it allows for a lot of flexibility and integration with other open-source products. AutoNetKit manages all of the node-level configuration of VMs inside of CML, such as applying routing protocols, interfaces and protocol addresses, virtual routing and forwarding instances, etc. This gives users a tremendous amount of flexibility in what can be done with the product.
For instance, if I spend a lot of time designing a perfect lab scenario to study, say, MPLS Layer-3 VPNs, I can just save that configuration out to a file. In addition to being able to hand-edit and re-load the configuration, I can also pass that to other users of either CML or AutoNetKit to use. Want a large GIT repo of Cisco labs, prebuilt? Sure! And the best part is that if you're using CML, you already have the images built-in so you don't run afoul of any licensing restrictions.
First-half 2014 release date for Cisco Modeling Lab
According to Joel Obstfeld, project leader for CML, Cisco is targeting a release date for the personal edition within the first half of 2014. That puts the release likely just before or right on top of Cisco Live, and I imagine that there will be quite a lot of interest and activity at the conference as a result. I have no word on whether the corporate version -- ostensibly geared more toward larger test scenarios in advance of production rollouts -- will be released at the same time.
I've talked to a lot of people who are concerned that certain features of physical equipment aren't available in CML (Quality of Service or anything heavily reliant on ASICs for instance), but at least for the personal version I don't see this as an issue. The entire testing stack for Cisco has been, or will be, moved to virtual infrastructure as well, so any features you'll be tested on should be available in CML. If you're spending a lot of time on Layer 2 scenarios, you'll probably still want some physical equipment, but from a purely test or certification point of view it shouldn't be necessary.
At the end of the day, I can't think of a better, more tailor-made solution for home study than this. Add in the anticipated cost and it becomes even more of a slam-dunk. If someone had offered a solution for me 10 years ago that didn't involve amassing a full rack of equipment, I would have jumped at the chance. Heck, I still have the equipment and I haven't powered it on since I started playing with CML. Just don't tell my wife that the four 20-amp circuits I installed in my office aren't needed any more. Some things are better left unknown.
About the author:
Teren Bryson is a lifelong professional network engineer, VMware programmer and Unix geek. He is also whiskey taster; longtime practitioner of the art of beating computer and telecommunications systems into submission; brain hacker; student of everything; cancer survivor; lover of stuff that does stuff and a freelance writer. Read his blog at blog.packetqueue.net and follow him on Twitter @SomeClown.