Everyone reading this article has a lab, right? As I once famously quipped, my lab environment is whatever my production network is during off hours. The tongue-in-cheek way of looking at a lab environment is that we don’t often have the budget to emulate a proper test network. We also don’t have a way to buy all the hardware we want to test specific scenarios unless we get very creative with online auction purchases or play fast and loose with the rules.
With the advent of software defined networks (SDNs), it should be fairly simple to emulate them, shouldn’t it? If the router only exists as a software construct somewhere then we should be able to spin up dozens, if not hundreds, of routers and switches to accomplish our lab or testing goals. Sadly, that’s not the case. For one, we still need underlying hardware to drive performance. No matter how creative you get you’re still not going to emulate lab software on a Raspberry Pi cluster. For another, most of the emulation platforms that are popular today are focused on learning the commands for the system and not on emulation for the sake of other things like lab testing.
During the recent Networking Field Day 21 event, I had a chance to take a look at an up-and-coming virtual network testing solution from Tesuto. In case you’re curious, that’s Japanese for “test”. And test they do:
Tesuto is a virtual network platform designed to give you complete control over what you want to accomplish. It’s not simply a virtual switch or router that you can tie together to learn some CLI commands. It’s a full-featured platform designed to fully emulate a network in entirety. There’s even additional tooling that’s built into the system to help you organize and rapidly prototype changes.
Let’s say you need to put together a network quickly to test a change you’re going to implement next month. Traditional network labs would need to be spun up and confirmed to be on the correct software version before importing configs and verifying connectivity. And that’s all the work you have to do before you can even start figuring out the impact of the change you want to make!
On the other hand, Tesuto gives you the capability to do so much more in a virtual environment. Want to spin up multiple devices rapidly? Tesuto has a full orchestration suite. Want to do API access to send multiple commands at once? Tesuto supports that. Python? Got you covered. Tesuto even manages to support multiple vendor’s hardware! That is a huge win for real-world testing because no organization is 100% homogenous. There is always going to be some kind of device sitting in the middle of the network that is from a different vendor or has different characteristics. Modeling that in the past has involved a lot of difficult workarounds. Thanks to Tesuto you can emulate it and keep rolling right along.
Cloud Hardware Help
One of my biggest issues when studying for my CCIE ten years ago was finding a device that could run all the Dynamips/GNS3 instances I needed to make my lab work. I had a quad-core laptop maxed out all the time and seriously considered having some kind of multi-core server on hand to help me. In today’s world, we have access to the cloud and the virtually unlimited power that it offers. How can we harness that with a platform like Tesuto to emulate large numbers of devices?
As you can see in this video, Tesuto has the power to work with Amazon AWS. That should give you access to all the compute power you could possibly need. You can build bigger networks for testing and scale them quickly if you find you need to model more devices for the impact they could create. Because you can use the automation and orchestration systems to spin them up rapidly you only need to pay for what you need at any one time. And the ability to suspend Linux devices connected to Tesuto’s virtual networks means you can freeze them, power down the instances, and then bring them back up later if you need to start your testing again for more changes or other things that could be critical.
Bringing It All Together
The value of a platform like Tesuto can’t be understated. In a world where code is king, you have to have an environment where you can test and have assurances that everything is going to work the way you want it to work. You can’t just hope that your changes can be reverted by the time Dev becomes Prod again at 8am. Instead, you need to have a solution that lets you model your network properly and build on the design to test and learn. You’ll get that with Tesuto and much, much more.
To learn more about Tesuto’s platform and to get a trial to try it out for yourself, make sure you check out their website at http://Tesuto.com.