I have been observing very poor routing from these regions for the past month or so. For instance, from India traffic gets routed to fly’s cdg
and fra
ingress proxy a on Airtel network. On Reliance Jio network the situation is slightly better, where only 50% of the time the traffic is routed via the sin
or bom
ingress proxy.
I have been in touch with Fly’s support team throughout, but unfortunately there is no resolution so far.
I find this to be CRAZY! how can anycast go so wrong that it’s routing traffic via regions so far away when atleast 3 closer regions are available.
I am just making this post to check if people hosting services that have traffic coming in from India and neighbouring regions have noticed this behaviour.
The way to check this would be, hit any of your app endpoints on fly using the following request
curl -I https://[your-app-name].fly.dev -H "flyio-debug: doit"
You would get a response that looks something like this (I don’t have any API / resource on the base URL so I get a 403 from my app server, but that’s not the important bit)
HTTP/2 403
date: Wed, 17 Jan 2024 23:49:45 GMT
...
...
server: Fly/f9c163a6 (2024-01-16)
via: 2 fly.io
flyio-debug: {"n":"edge-nac-fra1-3f1d","nr":"fra","ra":"106.222.202.60","rf":"Verbatim","sr":"sin","sdc":"sg1","sid":"3d8ddd5f721989","st":0,"nrtt":244,"bn":"worker-pkt-sg1-96d6"}
fly-request-id: 01HMCX9B7Z97QEN2SX2DZJNEHW-fra
the edge through which your traffic is getting routed is the “n” param, and the region is “nr”. For me this means that my traffic is going via the “fra” region in for this request. I am based in Bangalore, India and for this particular case my server was running in “sin”. So the traffic went all the way to Frankfurt and then back to Singapore. I get either “cdg” (Paris) or “fra”, roughly 50/50 for my requests.
The whole value prop of fly to me was that I would be able to run things on the edge. But with such poor routing, it is having an adverse effect. This has been going on since Jan 3rd 2024. Before that the routing used to work fine. Initially fly’s support team was investigating this actively, but they could not do a fix, and now they’ve told me that there is no timeline to fix this.
If anyone other than the support team in fly reads this, I would request to address this with urgency. India is not a small geo. And if you want to win potential startup clients here, of which there are thousands upon thousands, this should not be ignored.
My request to the readers: if you are running services that are servicing the India and surrounding regions, please check your routing using the above request and post your findings here.
[Edit]
Some supporting data:
- Reliance Jio and Airtel are the two largest ISPs in India with a combined market share of anywhere from 70% to 80%
source - List of internet service providers in India - Wikipedia, Market Share Of ISP's - My personal tests using proxy networks suggest 100% incorrect routing on Airtel, and 90% on Reliance. These are not very largescale though, data points are about a 100 different city + ISP combos in India.