Simple way to measure user experience? ThousandEyes on Raspberry Pis
In Cisco IT we have plenty of practice bringing acquired companies into the fold. We’ve added fourteen from January 2020 through August 2021 alone. We’re responsible for connecting the new offices to our network and delivering shared services like Cisco Webex, Office 365, and Salesforce.
When Cisco acquired Acacia Communications in March 2021, we needed to bring their global offices and contract manufacturers onto our network. Before replacing Acacia’s SD-WAN with our own enterprise backbone we had to make sure the change wouldn’t affect the user experience in Acacia’s offices.
For previous acquisitions, we used Cisco ThousandEyes to measure the user experience from each location to Cisco services like Webex. ThousandEyes is part of our Full-Stack Observability (FSO) suite—along with Cisco AppDynamics to monitor the application experience and Cisco Intersight to troubleshoot Cisco UCS rack servers. Our plan: Use ThousandEyes to measure latency, packet loss, and available bandwidth between Acacia locations and cloud services to establish a benchmark. Then compare those results against the same results for nearby Cisco locations.
The twist—we didn’t have access to Acacia’s routers
Ordinarily we measure user experience at Cisco and newly acquired companies by installing ThousandEyes on routers and endpoints. But in this case, we couldn’t get network access to install ThousandEyes because Acacia was in the middle of a new product launch. We needed another way to install the agent.
Our solution? Install ThousandEyes Enterprise Agents on low-cost, credit-card sized computers called Raspberry Pis and ship one to each Acacia location. Raspberry Pis cost less than $100 apiece, and we’d be able to reuse them for future acquisitions.
As easy as pi
Installing and configuring ThousandEyes on each Raspberry Pi took less than 30 minutes. Then we just shipped one preconfigured device to each Acacia site. We included simple instructions—essentially, “Please plug this in near an employee’s desk and connect it to the network.” Once connected, the Raspberry Pi automatically phoned home to our ThousandEyes server to check for software updates. Done!
Shipping hardware to India takes a long time because of import restrictions, so in Acacia’s Bangalore office, we deployed ThousandEyes on a virtual machine instead.
Testing the end-to-end user experience
I spent about an hour on the ThousandEyes web interface setting up synthetic tests to measure latency, packet loss, and bandwidth between each set of two Acacia locations. I also wrote a test to simulate the user experience when loading the home page for cloud services like Cisco Webex, Office 365, and Salesforce.
Tests run every 30 minutes. ThousandEyes makes it easy to spot high latency. In Figure 1, the spike shows high latency for traffic flowing from Acacia’s Ottawa, Canada office to Holmdel, New Jersey.
Figure 2 shows latency along the network path from 10 of Acacia’s sites to their Massachusetts data center. It isolates a connectivity issue with the Acacia Shenzhen site to a single hop along the path—valuable information that helped our acquisition and operations teams understand the impact of the issue and resolve it.
I also added a view that plots the values on a map of the world.
Bottom line: we understand the user experience on a network we can’t access
Summing up, ThousandEyes on Raspberry Pis gives us a simple way to check that new employees from an acquisition will continue to have the same great experience when they move onto our network. If not, we’ll make changes. Configuring the Raspberry Pis and setting up the ThousandEyes tests took just half a day. And all Acacia had to do was plug in a tiny computer to stand in for a user laptop. Such an elegant solution calls for a poem:
ThousandEyes on Raspberry Pis
Set up is a breeze
Raspberry Pis for Thousand Eyes
Test latency with ease
Learn more about our journey to an advanced network
architecture by clicking through our interactive journey map
Follow Cisco IT on social!