Leveraging the cloud for distributed testing
So far, we have seen how we can distribute load to various physical or virtual machines and by doing so achieve more load than can ever be possible with a single machine. Our setup so far, though, has been internal to our network using a master/slave configuration. Sometimes, it helps to isolate any artificial bottlenecks occurring on the LAN and run your tests from more realistic locations external to your network. This has the added benefit of leveraging substantially large hardware at minimal cost thanks to the various cloud offerings now at our disposal. Another area worth considering is the master/slave setup that we employed up to now.
While this will work perfectly well when few slaves are configured, as more slaves get added to the mix, the master node becomes a huge bottleneck. This shouldn't come as a surprise since I/O and network operations increase as more and more slave nodes try to feed ongoing testing results to the master. What...