Skip to content

About

CDN and Cloud Infrastructure location data, geo-located from corporate location lists.

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Repository files navigation

CDNs and Cloud Infrastructure

With the aim of creating a more comprehensive picture of global cloud and CDN infrastructure, I have collected data scraped from various service provider websites into CSV and GeoJSON format. So far, I have collected information from:

For the above, I took the cache locations from the websites and geolocated them. Thus the map is only accurate to city level. The dates in the filenames indicate the last time the relevant website was checked.

Independent measurements also include Anurag Bhatia's June 2026 global CDN mapping study. Its ASN and partial city observations are already incorporated separately from provider declarations. The India and Apple evaluation documents Indian network examples, Apple's coverage, and further enrichment opportunities.

The October 19 project state and handoff records the completed implementations, current counts, 18 passing validation suites, and remaining evidence dependencies. It is the retained October 19 checkpoint; the Microsoft assessment below records the October 21 extension.

For the Facebook Network Appliances, I have drawn on Anurag Bhatia's very creative work in work in locating them by the airport code in their names.

For the Netflix Open Connect Appliances, I used SecurityTrails to look for subdomains under oca.nflxvideo.net. A typical OpenConnect appliance subdomain looks like http://ipv4-c008-muc001-ix.1.oca.nflxvideo.net/. Similar to the Facebook Network Appliances, there is a three-letter airport code embedded in the url. I used the airport codes to geolocate the OCAs. There is no guarantees that all of those domains are actual live appliances but it is a place to start. I should also say that the maximum number of subdomains that SecurityTrails would list was 10,000. Thus this list is not exhaustive as there were clearly more. Other handy information in the url includes whether the appliance is located at an IXP or and ISP and whether it is IPv4 or IPv6.

This is very much an exploration so comments and suggestions are extremely welcome. Feel free to reach out to me here or on social media @stevesong@mastodon.cloud or @stevesong

The repository's original dataset is published under the Open Data Commons Attribution License (ODC-By) v1.0. Provider snapshots and independent research downloads may remain subject to their source-specific terms; provenance files record known licensing status, and no blanket relicensing is assumed.

Microsoft enrichment — 2026-10-21

The current consolidated snapshot is data/manifest.20261021.json: 28,243 location-schema records across 42 layers, 683 separately counted infrastructure assertions, six geographic-footprint views and 365 bibliographic references. The Microsoft assessment and reproduction guide records 206 global-network identifiers, refreshed public/China regions, five government regions, seven additional announced regions, 254 scoped locality/interconnection/partner assertions and 96 approximate locality references. None of these totals is a unique physical-datacenter count. The prior October 19 snapshot remains unchanged.

Repository layout

  • data/ contains the current provider snapshots.
  • data/manifest.20261021.json is the current consolidated hash/count/source manifest for 42 location-schema layers, ten derived location views, six separate geographic-footprint views, three ASN comparison views, ten network-evidence layers, ten infrastructure-evidence layers, a separate application-endpoint collection, a separately counted vendor registry, and assessments. It preserves the actual dates of retained evidence, including the October Google, China and Yandex updates and the separate Akamai/Apple cartography sources.
  • Schema-normalized location layers are committed as canonical GeoJSON and network assertions as canonical JSON; their CSV projections are generated on demand with jq and make.
  • data/google/ contains schema-normalized Google Edge, owned data-center, and Cloud region/zone layers, including AI zones, GPU availability, and GCPing endpoints.
  • data/yandex/ contains five certification-documented localities, a separate eight-record region/zone hierarchy and 35 CDN cities. data/russia/ contains assessments, a 178-record geographic view and a separate comparison of 280 RU-registered ASNs. The approved enrichment also adds Selectel, Cloud.ru and IXcellerate layers, plus Yandex service-prefix and routing evidence.
  • data/applications/ contains 15 DNS observations for five exchange-related hostnames and five entity assessments. Registry country, business presence, declared cloud hosting and unknown physical origins remain separate; application counts are excluded from location and network totals.
  • data/infrastructure/ contains 429 separately counted assertions: 84 connectivity assertions plus 135 China AI-service, 66 facility/portfolio, 12 carrier, 27 Gulf interconnect/dedicated-product, 76 completion-review, 18 Apple TV delivery, eight Apple cache-host/IX and three cache-follow-up host/policy assertions. Categories are extensible and units remain explicit. Its Russia connectivity view repeats three assertions and is excluded from canonical totals.
  • data/apple/ includes a separate Apple cache-hosting map: explicit AEC hosting in Santa Clara and a qualified Apple-cache declaration in Lyon. The AEC review retains seven unlocated leads. The follow-up adds 40 unlocated CDN candidates, ten routing observations and three host/policy assertions without adding map points. The TV delivery investigation identifies Apple, Akamai and Fastly paths and maps Santa Clara plus Fastly Palo Alto. Santa Clara appears in both views; they are not additive deployment counts.
  • data/enrichment/ contains the follow-up locality view and the disposition ledger for remaining evidence gaps across the approved plans.
  • data/vendors/ contains 47 vendor, operator, model-brand and unresolved candidate references, excluded from location, network and infrastructure totals.
  • Provider subdirectories under data/ contain schema-normalized authoritative snapshots; each manifest entry records its actual retrieval tag, including the 2026-10-11 Google refresh.
  • data/china/ records the ten-provider mainland public-cloud assessment; provider directories contain generated cloud layers and explicit mainland views.
  • data/china/vendor-coverage-assessment.20261011.json preserves the pre-enrichment 31-vendor audit. Its approved plan is implemented in enrichment-implementation.20261011.json, with refreshed directories, new Qiniu/Azure China layers, AI services, facility/carrier evidence, and legacy/quarantine candidate reconciliation. See China enrichment.
  • data/china-edge/ records the separate ten-provider CDN/edge assessment without manufacturing POPs from fleet totals or province coverage.
  • data/china-colocation/ records the separate GDS, VNET, and Chindata assessment; data/chindata/ contains the partial code-based current directory.
  • China locality enrichment expands Chindata from four to nine source-listed codes and adds 147 separate city/county reference points across ten providers. The initial Chindata proposal is retained for context.
  • AWS and Oracle Gulf enrichment reviews 19 existing records, adds nine locality points, 27 scoped infrastructure assertions and 563 prefix declarations, and includes weekly source-change monitoring. The original coverage plan preserves the baseline.
  • The enrichment bibliography and machine-readable reference index retain source URLs, dates, raw paths, hashes and admission limits.
  • data/observations/ contains independent evidence kept separate from provider declarations, including Apple-associated TLS observations.
  • data/observations/cdn-asn-comparison.20261019.json compares all seven providers across 6,564 ASNs. data/india/ contains a separate 279-ASN APNIC country view and 515 India-geolocated observations; the Apple ASN view retains 973 null-geometry observations. All comparison views are excluded from canonical totals.
  • data/network/ contains non-spatial provider-prefix, RIPEstat routing/RPKI, and bounded PeeringDB relationship evidence. These records are not locations.
  • data/quarantine/ preserves unsupported or provenance-conflicted layers without presenting them as current.
  • data/raw/ contains immutable upstream snapshots used for reproducible recovery.
  • data/recovered/ contains derived records that restore discarded identity and network fields. The original provider snapshots remain unchanged.
  • archive/ contains superseded historical snapshots.
  • schema/ contains separate canonical location and network-evidence contracts and field semantics.
  • scripts/ contains deterministic recovery and provider-update tools; tests/ validates their checked-in outputs.
  • docs/ contains coverage assessments, methods, recovery notes, and operator guidance.
  • docs/methods.md documents source selection, refinement rules, coordinate policy, parsing exceptions, observation limits, quarantine, and reproducibility.
  • docs/hyperscalers.20260804.md assesses core-cloud coverage for a ten-provider hyperscaler cohort and proposes a staged enrichment plan.
  • docs/hyperscalers.implementation.20260805.md records the implemented CoreWeave, AWS, Google Cloud, Azure, OCI, IBM, IBM classic, and Meta layers.
  • docs/google-enrichment.20261011.md records the current Google refresh, AI-zone identities, GPU availability, GCPing joins, and reproduction commands.
  • docs/russia-reassessment.20261011.md records Russian Federation coverage, Yandex source dates, image-claim exclusions, provider gaps, and offline reproduction.
  • docs/russia-yandex-crypto.20261019.md preserves the pre-implementation review of 100 RU-coded records, Yandex cloud/CDN sources and five crypto exchanges.
  • docs/russia-enrichment.20261019.md records the completed plan, source decisions, new schemas, current counts and offline reproduction.
  • docs/china-vendor-review.20261011.md compares Chinese clouds, consumer platforms, AI providers, overseas offerings, and independent platforms, and prioritizes enrichment.
  • docs/infrastructure-expansion.20261011.md records the expanded current-source search, emergent categories, source boundaries, and serialized infrastructure evidence.
  • docs/network-evidence.20260805.md records the ASN correction, partial city map, provider prefixes, RIPEstat/RPKI pilot, bounded PeeringDB pilot, and RIPE Atlas measurement gate.
  • docs/cdn-mapping-india-apple.20261019.md evaluates the June study and documents the implemented India/Apple views, dated APNIC join, country-selection limits, and sources for Indian vendors' own CDN services.
  • docs/make.md documents CSV generation, cleanup, validation, refresh usage, and troubleshooting.

The 2024 Meta FNA source fields and the reconstructable 2023 Netflix OCA hostnames have been recovered. See the recovery record for provenance, confidence levels, limitations, and regeneration commands.

The 2026-10-11 Google enrichment retains 65 edge metros, refreshes the owned data-center directory to 68 entries, and publishes 43 Cloud regions, 130 standard zones, and three explicitly listed AI zones. All 43 regions have supplementary GCPing endpoints; 89 zones have published GPU listings. Cloud geometry remains null, and no latency samples were collected. The original Google layer record documents the August snapshots.

The retained October 19 manifest contains 28,024 location-schema records, including the 416 historical Akamai records and 14 independently derived Apple DNS cities described in cartography restoration. October China enrichment refreshes eight cloud vendors, extends global Huawei/Volcano coverage, adds Qiniu and Azure China, and now retains nine partial Chindata codes with unknown lifecycle. The separate China (147-point), Gulf (nine-point), completion (13-point), Apple TV (two-point) and Apple cache-hosting (two-point) locality views are excluded from these totals and do not identify facility coordinates. China Mobile and China Unicom remain consolidated ECS source gaps; Unicom AI pools are separately scoped evidence. AI access endpoints, CDN totals, recognized facilities and GDS/VNET portfolios retain explicit units and provenance. Google Edge, owned data centers and Cloud/AI zones remain distinct. The June 2026 ASN and city layers retain 13,631 and 11,659 independent observations. Provider prefixes, sampled routing, registrations and endpoint checks total 3,989 non-spatial network records, including 220 Yandex declarations/routing observations, 563 AWS/OCI Gulf prefix declarations, four Apple TV routing observations and ten routing samples for unverified Apple CDN candidates. See the China implementation, immutable baseline assessment, reassessment, and methods.

The completion review adds Chindata project/property references, historical Tata CDN cities, VNET campus disclosures, Gulf registrations, Saudi latency aggregates and sampled routing/RPKI evidence. It accounts for every held China locality and Gulf endpoint, records the successful hosted monitor run, and distinguishes implemented work from remaining source-evidence dependencies. The October 19 bibliography contains 295 references, including the subsequent Apple TV, cache-host and candidate-routing research.

The hyperscaler assessment identified the missing core hierarchy, and the implementation report records 613 new provider-declared records across eight layers. These include seven CoreWeave super regions and 56 AZs; 39 AWS regions and 108 itemized stable AZ IDs; 43 Google regions and 130 zones; 57 Azure regions; 45 OCI regions; 13 IBM regions and 40 universal zones; 42 separate IBM classic data centers; and 33 Meta directory locations. All new geometry is intentionally null.

The refinement pipeline uses provider-approved, licensed, public filing/tender, and reproducible measurement evidence. Unauthorized or leaked inventories are not used to fill gaps; source and authorization rules are documented in methods.

To generate every normalized CSV projection from the current manifest, run make RETRIEVED_AT=2026-10-21 csv; plain make csv selects the August manifest. To generate one file, name it directly, for example make data/india/cdn-asn-comparison.20261019.csv. Location/network column order comes from the applicable schema; ASN comparisons use their provider-column metadata. Arrays or objects are emitted as compact JSON. These generated files are ignored by Git. Raw source CSVs, recovered outputs, and historical CSVs remain retained because they contain evidence or fields that cannot necessarily be reconstructed from canonical JSON. See Make usage for cleanup, validation, refresh, and troubleshooting details.

I am grateful to Mozilla for affording me the time to produce this map. Any errors are of course my own responsibility.

About

CDN and Cloud Infrastructure location data, geo-located from corporate location lists.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages