I wrote last week about some of the reasons you might want to simulate access to the cloud before going all-in -- especially if you can't justify the cost of a direct connection to the cloud. I also spent some time digging into various ways that you can estimate the end-to-end performance of an Internet connection.
Next on the list: Here's how to actually emulate that connection on your own premises with your own applications.
A wide variety of tools enable you to emulate a WAN circuit. Which one is best for you depends upon your experience with network engineering (and, generally, Linux) along with whether you think you'll need tech support. In no particular order, here are a few of the tools I've used, but many others are out there. Don't be afraid to try them, too.
The Linux kernel
Believe it or not, the Linux kernel itself gives you all the tools you need to emulate a WAN. It can handle IP routing, bridging, variable delay introduction, and traffic shaping and policing. If you're familiar with Linux and the idea of turning your favorite Live CD distribution into a router doesn't faze you, this is probably the methodology that will give you the most control and insight -- and won't cost you a dime.
Aside from enabling IP forwarding (or bridging -- more on that later), your tools of choice will be Netem and TC. Netem can be used to introduce delay (latency), jitter (variability in latency), packet reordering, packet loss, packet duplication, and packet corruption. You can implement fairly complex jitter and loss correlation settings that can make periods of higher latency, such as those surrounding upstream congestion, come in waves rather than appear randomly. Though typically used to implement QoS on Linux-based routers, TC can play a role when implementing almost any kind of traffic shaping or policing rule you can come up with.
However, turning the dials manually does pose a fairly steep learning curve. If you're looking for something quick, it's probably not the right tool.
WANem is a free Linux-based WAN emulation distribution that was originally created by Tata Consulting. It's distributed as a Live CD based on the popular Knoppix distribution, so you can run it on just about anything with a CD-ROM drive and a pair of NICs. Current stable 2.x releases are nongraphical locally, but they can be configured from a Web-based GUI from another workstation on your network. The newer 3.x (in beta right now) runs a local graphical environment within a Web browser, so you can configure the emulator locally.
Sign up for CIO Asia eNewsletters.