Pictured above: Screencap of the Potato admin panel.
I had only one real complaint when I started working at Shopify’s office: the internet connectivity wasn’t all that great. For the longest time, you could easily fit the entire company into a van, but since late last year, the company had grown from 30 to almost 70 Shopifolks. The once-adequate service, made up of some bonded DSL lines, was no longer up to the task.
The additional people meant that we were going to switch offices soon, which ruled out signing up for different lines, whether cable, fibre, or what-have-you. By the time whatever telco we’d go with had secured the permits, ripped up the sidewalk and done the installation, we’d be in a different office. The solution had to be a combination of both workable and temporary.
Enter “Potato”. It’s the solution created by one of our guys, Adrian Irving-Beer, and it uses a PC running Debian to bond together 6 lines and load-balance them. The internet connectivity is so much better now. I’ll leave it to Adrian to explain how it works, which he does quite well in an article in the Shopify Technology Blog titled How a Potato Saved Shopify’s Internet.
Better still, you too can use Potato to solve your bandwidth problems. Adrian’s posted the source and config files on Github. Enjoy!