We are going to be doing a demo of a media streaming solution next week. For the demo, we need to be able to throttle the pipe between the two streaming boxes.
This diagram shows the desired setup. Basically, we want to connect a camera to the 'send' video streaming unit and a projector to the 'receive' video streaming unit. In the middle will sit a bridge that will have the throttling functionality.
After some research, we landed on SoftPerfect Bandwidth Manager. It does exactly what we need and has a 30-day trial period. The software is super-cheap and if we had a long-term need for this type of tool, it would be a real steal!
But, I am supposed to be saying why I love virtualization so much. So, today's reason is: HUGE TIME SAVER!
When this project first came up (which was just this afternoon), we brainstormed how to go about it. Initially, I was just going to use an older server we had laying around and were not using. So, I grabbed the server, a big rack-mount beast weighing way-too-much! I set it up on my work table and went to fetch a keyboard, mouse, and monitor. As I was booting up the server (which is as loud as it is heavy!), I realized that I was also going to need two 'client' machines to send traffic between. The mental image of three computers, three monitors, three keyboards, and three mice stacked on my little work table was not pretty. Then I thought to myself, "Why aren't I doing this with VMs?"
So, I shut down the server (Ahhhhh.... sweet silence!) and RDP'd in to my Hyper-V box. This server was only hosting one machine, so there was plenty of room for my test environment. The following steps got things going in no time:
- Snapshot the current VM
- Sysprep and shut down the current VM
- Make three copies of the VHD file
- Restore the original VM to the pre-Sysprep snapshot and bring it back up
- Create three VMs, attaching each one to its own VHD copy
- Bring up the three VMs and configure as needed (network settings, install Bandwidth Manager, etc.)
So, in about 30 minutes, I had my lab environment up and running, ready to test various configuration scenarios. Again, snapshots came in handy as I could have a baseline system and then make various changes. If something didn't work, I didn't have to worry about uninstalling, reconfiguring, or anything else. Just restore the pre-config snap!
We were able to test various options and finally landed on a solution that is going to work for us and our demo.
This job is just too much fun!