• 02/23/2015
    8:00 AM
  • Rating: 
    0 votes
    Vote up!
    Vote down!

NFV: 4 Home Lab Options

Network functions virtualization is well suited to the home lab. Ethan Banks describes how he built his NFV lab and the pros and cons of different configurations.

Network functions virtualization, as the term implies, takes networking functions that were once hardware and virtualizes them to run in software on a hypervisor. What sorts of functions? Switching, routing, stateful firewalling, and load balancing come immediately to mind, but any L2-7 network functions that can be virtualized fall under the NFV category.

While the growing popularity of NFV is big news for data center architectures, it’s also big news for technology enthusiasts with home labs. Many virtual network devices can be downloaded freely or as fully-functioning evaluations, or purchased cheaply as lab editions, possibly with limited throughput. This means folks with home labs can create mini data centers and get a handle on relatively complex technologies to expand their knowledge.

I’ve spent time with a few different versions of an NFV home lab, finally settling on a configuration I’m happy with, although I ended up spending some money. Let’s walk through each phase of my home lab build. I’ll explain the pros and cons of each lab option as I go.

Option 1: Running a hypervisor inside of your laptop or workstation OS

The most convenient way to test virtual network appliances is by loading them onto the computer you already own and work with each day. A number of software packages can help with this.

  • VMware Workstation is expensive at a $249 list price, but it's a powerful virtual machine manager that can integrate with your existing VMware infrastructure.
  • VMware Player Pro has fewer features than Workstation, but is more affordable at $149.
  • VirtualBox joined Oracle’s portfolio during the Sun acquisition, and is a free and capable hypervisor. On the other hand, VirtualBox isn’t seeing much feature development these days, although the codebase is actively maintained.

Consumer-grade PC CPUs usually have plenty of cycles to spare. Therefore, to run NFV-related virtual machines, working memory (RAM) will likely be a greater issue than CPU. Also, pay attention to the virtual networking capability of the hypervisor tool you chose. If you’re looking at testing several virtual interfaces or VLANs, you might find that the virtual networking capability of PC-based hypervisor products is limiting.

Overall, this method is good as a low-cost way to test NFV virtual machines, but can be limited by available memory and networking capability for some testing scenarios.

Option 2: Dedicating a server to run a hypervisor

I ran into a lack of flexibility running VMs on my workstation;  I wanted to test several VMs at a time, test their interoperability, and create complex IP addressing schemes. I also found that some of my labs scenarios were taking multiple days to complete. Having a dedicated lab server to run those scenarios saved me from relying so heavily on my workstation to stand up the environment.

After doing some research, I opted to build a custom server and run VMware vSphere ESXi hypervisor. ESXi is free and well-featured for a lab environment, and well-documented. If something isn’t going quite right, you can probably Google an answer to the problem. In addition, NFV vendors anticipate that their products will be run on ESXi, so they frequently offer specific installation instructions for that environment.

My server build is a bit dated now, but after nearly a year, I can report zero hardware problems; the system just runs. I spent roughly $1,200 on the server, if my memory serves me correctly. My peers who have built home labs have had good luck buying used servers stuffed full of RAM on eBay. Big cloud providers dump older hardware from time to time when they buy the latest and greatest for their data centers, so it’s possible to find a deal if you’re paying attention.

Unless you’re planning to do heavy load testing, you can get away with less CPU power, but don’t skimp on the RAM. I consider 32 GB a decent place to start, but get more if you can. If you do choose a system with an older, slower CPU, also be sure to check out the virtualization capabilities. VMware provides an excellent compatibility guide.

In summary, this option is good for those willing to spend a bit of money on dedicated hardware. An ESXi host is a good choice for testing NFV, as most vendors expect their products to run in that environment. The downsides are that a dedicated server consumes electricity, takes up space, and makes noise. In addition, it’s not as portable as, say, a laptop -- if you travel a lot and need remote access to your lab, you need to supply some way to access your lab, such as a VPN connection.

Note that it's possible to run ESXi on VMware Workstation (yes, a hypervisor on a hypervisor). This option is not the configuration I chose, but it can be done. ESXi on VMware Workstation is an option for those who want to test with ESXi, but don’t want to dedicate bare-metal hardware to ESXi. VMware suggests that the ESXi-on-Workstation scenario is best for those who are trying to learn the VMware product itself, and not necessarily for running VMs, although you certainly can do it.

Option 3: Dedicating two servers to run hypervisors

For testing NFV, a single ESXi server presents a few limitations. Ideally, it’s nice to be able to lab between two different ESXi hosts that are interconnected with a physical switch. That allows proof-of-concept that’s a bit closer to real-world data center scenarios.

Introducing communication between ESXi hosts through a physical switch reveal potential issues that you might never otherwise see. Therefore, for testing NFV, including a physical switch as a part of the test scenario is important. Testing should happen not only from virtual machines living on the ESXi hosts, but also from physical machines living outside of the ESXi environment.

This set-up is useful to more realistically simulate traffic flows through a production environment. Of course, adding a second ESXi host to the mix doubles the challenge of electricity consumption, noise, space requirements, etc. There’s also that pesky price tag.

Option 4: Cloud hosting with a VPS or Amazon Web Services

This is a scenario I have not tried, but I wanted to raise the issue as I suspect it is on people’s minds. Poking around, I found  a somewhat expensive monthly cost for a suitably beefy virtual private server (VPS), but that running my own hypervisor on a VPS instance wasn’t available anyway.

Of course, there’s always Amazon Web Services, but that seems a bit pricey as well. For example, AWS offers a Cisco Cloud Services Router, but the cheapest instance of it costs $0.07 per hour. Some quick math comes up with over $50 a month to run the instance, and Amazon still expects that you’ve brought your own license.

If you extrapolate costs to run as many NFV virtual machines on AWS as might interest you, the costs quickly exceed that of simply buying a server. Of course, you could power the lab instances up and down as you need them and cut back on that spend dramatically, but there is convenience in an always-on, always-there lab.

To me, cloud hosting a home NFV lab seems impractical at best. If you’ve come up with a cost-effective way to build a cloud lab that gives you the flexibility and ease of use to stand up and tear down NFV-related virtual machines as you like, please share in the comments section below.

In my next blog post, I'll look at the storage and networking considerations for your NFV home lab, and provide a list of NFV appliances so you can start working with NFV.

Attend Ethan Banks' live session, IT Infrastructure in 2025: What Will The Future Look Like? It's one of the dozens of learning opportunities at Interop Las Vegas this spring. Don't miss out! Register now for Interop, April 27 to May 1, and receive $200 off.


Test Labs, Simulations and Experimentation

It is always a great idea to test a process on a small scale because, the small scale testing can introduce a user to the type of economies that they will have to contend with if the project is a success and a full scale deployment is initiated.

Small scale testing projects can consume thousands of dollars either, because the hardware is expensive or the length of time required to simulate a situation before a meaningful amount of data is collected would require it to simulate for a few months. In both situations, I feel that it is best to shift the cost onto upper management or to locate an outside firm that would value the results of the final report.

Re: Test Labs, Simulations and Experimentation

I think starting with some small scale testing is important - and more practical. This way, you do not need to worry about negative turnouts compared to when you immediately go big time or full scale. The risks or consequences are lesser as compared to full scale deployment. Although you're right when you said that since it will take some months before small scale testing is concluded - or before results come out - you have to spend a significant amount of money (and resources). It's a balancing act at this point: you go small scale to minimize the risks of a negative turnout, yet you also spend probably as much you will when you fully deploy. You'll have to choose which one weighs heavily into your system of priorities then... 


Re: Test Labs, Simulations and Experimentation

I don't disagree with your assessment testing in small scale to go big. My criticism was do the fact of providing lab test environment by the product vendor to do test validation of there products and an added partnerships produces all connnect via online on the cloud. Example. VMware is coming out with Vpshere 6 now I want to test it works well with my Citrix Netscaler appliance(in Production) and all connect to my Hybrid Cloud. I would have to build hardware server (provide cooling,power, and money) just for testing. If a vendor could provide this thru a web portal on a bare metal server deployment to install VMware Vphere 6 and the Citrix Netscaler appliance I specify. I then deploy Vphere 6 and config and config for Citrix Netscaler appliance do testing it works. And with no taxonomy from actual vendor. Then the add value of the produce would go up. The only taxonomy would be in resources which would much simplier. 

Home Labs

I think you covered the main ways to test stuff. I like that many offering are now available as VMs - it makes testing so much easier. I use a mixture of VMs on my laptop for easy portable testing, and I have a dedicated ESXi server running as well, for longer term or "always on" testing. I paid about $125 from ebay for a dual Xeon quad-core server with 16GB of RAM. Not the highest spec ever, but it's enough to run most things for testing purposes. I'm a cheapskate, doncha know? ;-)

Re: Home Labs

Specially when motive is to construct a cheap test lab, i guess virtualized functions should be located where they will be the most effective and least expensive.

Note on ESXi

Note that while the free version of ESXi is great it is restricted to 32GB ram.  So your comment about adding more than 32GB is only valid if you own a copy of ESXi

Good article none the less

Re: Note on ESXi

Psandy, thanks for chiming in here. I thought I heard that VMware changed the 32 GB limit on the free ESXi version. Of course, whether it actually works in practice is a different matter. Has anyone else heard about that?

I also recommend eBay, although you have to be willing to deal with the complications and adventures that sometimes introduces. You don't always get exactly what you expect when you bargain hunt :)


Interconnecting Test labs.

I like this post. But it is missing one thing. I would like to see the Free test labs for new NFV products that interconnect to all thru the cloud. As engineer if the partnerships hold in place then the I can test a F5 loadbalancer with a Vmware NSX on a VMware ESXI hypervisor on a EMC storage or Netapp or any HP 3par. All access free to IT engineers so to test validation. Then if I want to throw a new vm firewall at it or either ASA, Checkpoint, Palo Alto, or any vendor on it. Test lab are meant to testing not buying. VMware allows you to test NSX online but I would like see them add all there parternships in there test lab with all appropriate products. 

Re: NFV: 4 Home Lab Options

Thanks for this, Ethan. This could almost be a general-purpose guide for anyone looking to set up a home lab, get started with virtual machines, or buy their own server hardware for other purposes. I was surprised to notice that the attached video tutorial from VMware on installing ESXi on VMware workstation included extremely simple instructions like 'press down to scroll through the menu'. This is a field that not only pre-existing IT professionals are looking to get in on, but people from all walks of life returning to college or going for certification to give themselves a better future. I was glad to see you've constructed a guide that breaks down the how and why, the costs and benefits, and the important details needed to get started, that's suitable for someone of any level. I certainly learned a lot here as someone who's already familiar with most of this stuff.

I would say that the primary purpose of a home lab (in this case) is still for those trying to expand their knowledge base, go for (re)certification, or to beef up their resume/interview prospects. In that sense, I think the market of people who can afford to spend upwards of 1500 dollars on one - and who have room for servers at home - might be a little limited .For those who can't, the cloud hosting option seems really great because they get a picture of how everything works at a fraction of the cost, they can get a feel for most real-life lab situations even if they'll still need some hands-on experience later. Then, if they don't need it after they get their certification or what-have-you, they can turn it off quickly and easily. The difference between having just a little hands on time with this stuff and none could be huge for the purpose of answering tough interview questions.

Re: NFV: 4 Home Lab Options

NFV reaching home, sounds good enough. But who needs that, is it you, me or some company trying to deploy....okay that was my personal view.

Before we actually shake hands with NFV, i still doubt if many people are sure about it i.e. what exactly and how NFV works. And fact even i include my self in the list.