Azureglobe
==========
Round-trip latency between Azure datacenters, on an interactive globe.
Pick a region and see how fast it reaches every other Azure region: routes
are colored by latency (green < 100ms, yellow 100-200ms, red > 200ms) and
listed from fastest to slowest.
Run locally
-----------
git clone https://github.com/erenworld/azureglobe.git
cd azureglobe
pnpm install
pnpm dev
Live latency test
-----------------
The "Test from my browser" button measures the latency from the visitor's
browser to every Azure region: for each region it sends one warm-up HTTPS
request (DNS + TLS), then 4 timed requests to a tiny public file hosted in
that region, and keeps the median.
Those files live in one small storage account per region, created by a
script:
brew install azure-cli # once
az login
./infra/deploy.sh # creates the accounts, writes
# website/public/endpoints.json
Commit website/public/endpoints.json so the site knows where to send
requests. Regions your subscription can't use (restricted ones) are
skipped. Cost is a few cents a month: each account holds a 2-byte file,
and you only pay for reads.
To remove everything:
./infra/destroy.sh
The visitor's position on the globe comes from the browser's location
permission (rounded to ~10 km, never sent anywhere). Without it, "you" is
placed at the fastest region.
Region-to-region data
---------------------
Latencies are the P50 round-trip times published by Microsoft in "Azure
network round-trip latency statistics":
https://learn.microsoft.com/azure/networking/azure-network-latency
They live in website/app/azure-data.ts.
Credits
-------
- Ben Dicken
https://benjdd.com/aws
- Map rendering: MapLibre GL JS
https://maplibre.org
- Plan basemap: OpenFreeMap, (c) OpenMapTiles,
data (c) OpenStreetMap contributors
https://openfreemap.org
https://openmaptiles.org
https://www.openstreetmap.org/copyright
- Satellite imagery: NASA Blue Marble
https://earthobservatory.nasa.gov/features/BlueMarble
License
-------
MIT