Reading Time: 3 minutes
So you’re running a series A internet startup with around 60–70 employees in Bangalore, the Silicon Valley of India. Everyone is working hard to build the company that’s going to change the way we do commerce. You’re building high-scale web apps using cutting edge tech stack, catching fraudsters by deploying cool machine learning algorithms and solving business problems using creative solutions. And suddenly… the internet stops working.
Everything comes to a halt, people get frustrated. You ask yourself, how’s this even possible? We’re living in 2018, most of our life runs on internet and how can bad internet still be a problem? But that’s the reality we live in. Like everything at Simpl, we decided to take control and fix it.
Solution 1: Get a leased line
This is the easiest solution if you have lots and lots of money. Here’s why we couldn’t go with it
- Very expensive. The cost for leased lines is almost 100x compared to a normal connection.
- Can’t get higher speeds as cost is a prohibiting factor. I would rather have a faster internet 90% of the time rather than having slow internet 100% of the times.
- Wires getting cut due to trees falling or local government cutting illegal wiring. This is a problem for us as we aren’t situated in an IT hub with proper underground wiring infrastructure.
Solution 2: Ask people to use mobile hotspots
This kind of works but again the disturbance in work caused by switching networks is kind of a turn-off. On top of that, some cellular network providers have bad reception in our office.
Solution 3: Get multiple providers
The probability of all the providers going down at the same time is kind of low. It’s a good option and it kind of worked for us for some time. Here’s what wasn’t so good.
- People having to change wifi networks when one is not working. Well it works but can’t it be better? We’re a user experience centric Fintech company after all
- To solve the above problem we got a router which supports dual WAN and auto failover. It worked for some time but the functionality was kind of limited and reliable.
Final solution: Setting up a network server
We had a unused machine lying in the office. We added a network card on it to get more RJ45 ports. We installed Untangle on it which is a one stop software solution for your networking needs. After spending some time configuring various interfaces we had the network server up and running.
All WANs were connected and configured to the network server and the routers and swithces were connected to the output from the network server. The routers are configured to act as a dumb access point instead. All the networking functions are handled by the Untangle OS.
How are things now
Well it was time well spent. Untangle is really powerful and works like a charm.
- The failover functionality automatically disables the networks which go down at any point without anyone noticing. Turns out everyday each provider goes down 2–3 times a day, ranging from a couple of seconds to sometimes days.
- We‘ve also enabled the load balancer feature which automatically shares the network load across various WAN connections we have. This ensures that everyone is getting faster internet as we’re not loading any one WAN at a time.
- Our office admin gets a daily reports telling which providers were down and for how much time. Based on that he can follow up with the providers.
- Also the OpenVPN server is useful for people working remotely. As some external services used by us use IP level authenitcation, earlier they had to get their own IPs whitelisted. Now they can just connect to our OpenVPN server and act as if they’re on the office network.
Some quick hacks we learned while doing this
- If your router supports duel/tri-band or if you have multiple routers, don’t name the wifi networks differently. For example, instead of configuring awesome-wifi-2.4Ghz and awesome-wifi-5Ghz it’s better to call both of them awesome-wifi. Newer machines will automatically switch between these networks based on the quality of the signal. If the signal is strong then your machine will use the 5Ghz band as it’s faster but if you move away from the router it’ll switch to the 2.4Ghz band which is slower but has a longer range.
PS: Some of these things might seem very trivial to network experts. We don’t have an in-house network expert and spent a whole weekend figuring this stuff out. Though this article might be helpful to other startups which are in a similar situation.