The Westin Building Exchange

Post Title Image (Photo taken during my visit to Amazon Spheres, with The Westin Building visible on the far left. Image source: Ernest.)

✳️ tl;dr

  • I’ve passed by this building countless times while attending meetings or exploring coffee shops and restaurants in downtown Seattle, never realizing its significance.
  • The Westin Building Exchange is a major telecommunications hub facility located in downtown Seattle, Washington. 1
  • The building was constructed in 1981 (around the same era as me XDD),
  • Originally named The Westin Building, it served as the headquarters for the Seattle-based Westin Hotel chain.
  • It also houses the Seattle Internet Exchange (SIX) and the Pacific Northwest Gigapop Pacific Wave Exchange.

  • Since 2019 or earlier, heat generated by the building’s data center has been piped to Amazon’s Doppler building next door, providing heating for Doppler and several other Amazon buildings.
  • Amazon estimates that over the system’s expected 25-year lifespan, it will save 80 million kilowatt-hours of electricity, equivalent to 65 million pounds of coal.

  • The trigger: I came across The Verge’s report on Microsoft’s plan to migrate GitHub entirely to Azure, which made me curious about its infrastructure before the acquisition. 2
  • GitHub was acquired by Microsoft in 2018. So I went back to check the situation in 2017.
  • GitHub’s blog once described: “Those facilities don’t store customer data, rather they’re focused on internet and backbone connectivity as well as direct connect and private network interfaces to Amazon Web Services.” 3
  • GitHub is now (2025) undergoing what may be its largest infrastructure migration ever, planning to move the entire platform from self-owned data centers to Azure within 24 months.
  • The core driver of this migration is the explosive growth of AI workloads: GitHub Copilot generates millions of code suggestions daily, consuming massive computing capacity, and the existing data centers have reached their physical expansion limits. (There’s always an official narrative for the public—take it with a grain of salt) (There’s a kind of cold where grandma thinks you’re cold. There’s a kind of migration where ____ tells you to migrate?!)
  • Migration strategy: Most work needs to be completed within 12 months (because new and old systems need to run in parallel for at least 6 months), GitHub has asked teams to delay feature development and prioritize infrastructure migration.

  • In 2024, GitHub experienced 119 incidents, including 26 major outages, with an average resolution time of about 106 minutes. 4
  • Curious to see how it performs after the move.
  • For those of you tech managers using GitHub, I’m curious—what’s your take? Will this trigger any preparations on your end?

5 6

✳️ Knowledge Graph

(More about Knowledge Graph…)

%%{init: {'theme':'default'}}%%
graph LR
    GitHub[GitHub Platform]:::instance
    Azure[Microsoft Azure]:::instance
    Microsoft[Microsoft Corporation]:::instance
    Copilot[GitHub Copilot]:::instance
    CoreAI[CoreAI Division]:::instance
    DevDiv[Developer Division]:::instance

    DataCenter[North Virginia Data Center]:::instance
    Capacity[Capacity Constraints]:::concept
    Migration[Cloud Migration]:::concept
    IaaS[Infrastructure as a Service]:::concept
    Scalability[Scalability]:::concept

    AI_Workload[AI Workload Scaling]:::concept
    Compute[Compute Capacity]:::concept
    LLM[Large Language Model Infrastructure]:::concept

    MySQL[MySQL Clusters]:::instance
    Actions[GitHub Actions]:::instance
    Search[Search Services]:::instance

    PMI[Post-merger Integration]:::concept
    TechStack[Technology Stack Consolidation]:::concept
    ChangeManagement[Change Management]:::concept

    Fedorov[Vladimir Fedorov CTO]:::instance
    Daigle[Kyle Daigle COO]:::instance
    Dohmke[Thomas Dohmke Former CEO]:::instance

    OpenAI[OpenAI Partnership]:::instance
    DevCommunity[Developer Community]:::concept
    Teams[Microsoft Teams]:::instance

    GitHub -->|migrating to| Azure
    GitHub -->|acquired by 7.5B 2018| Microsoft
    GitHub -->|integrated into 2021| DevDiv
    GitHub -->|now reports to| CoreAI
    GitHub -->|operates in| DataCenter
    GitHub -->|faces| Capacity

    Capacity -->|drives need for| Migration
    Migration -->|enables| Scalability
    Azure -->|provides| IaaS
    Azure -->|enables| Scalability
    Azure -->|offers| Redundancy[Global Redundancy]:::concept

    GitHub -->|developed| Copilot
    Copilot -->|requires| AI_Workload
    Copilot -->|consumes| Compute
    Copilot -->|built with| OpenAI
    AI_Workload -->|needs| LLM
    CoreAI -->|supports| AI_Workload

    GitHub -->|operates| MySQL
    GitHub -->|provides| Actions
    GitHub -->|runs| Search

    Migration -->|described as| Existential[Existential for GitHub]:::concept
    Migration -->|follows| PMI
    Migration -->|requires| ChangeManagement
    Microsoft -->|aims for| TechStack

    Fedorov -->|leads| Migration
    Daigle -->|confirms| Migration
    Dohmke -->|departed before| Migration

    GitHub -->|switched to| Teams
    DevCommunity -->|relies on| GitHub

    Migration -->|may cause| Outages[Service Outages]:::concept
    Migration -->|delays| Features[Feature Releases]:::concept

    PastAttempts[Past Migration Attempts]:::concept -->|includes| GitInAzure[Git in Azure]:::instance
    PastAttempts -->|includes| AzureSites[Azure Sites Automation]:::instance
    PastAttempts -->|faced| Delays[Technical Delays]:::concept

    classDef concept fill:#FF8000,stroke:#CC6600,stroke-width:2px,color:#000
    classDef instance fill:#0080FF,stroke:#0059B3,stroke-width:2px,color:#fff
%%{init: {'theme':'default'}}%%
graph LR
gh[GitHub]
dc[Data Center]
ghdc[GitHub owned data centers]
pop[Point of Presence]
pop_sea[Seattle POP]
pop_va[Northern Virginia POP]
th[Transit hotel]
th_wbe[Westin Building Exchange]
th_eqx_ash[Equinix Ashburn]
th_core_va1[CoreSite Reston VA1]
ix[Internet exchange and ISPs]
bb[Backbone network]
dwdm[DWDM and wavelength transport]
pci[Private cloud interconnect]
aws_dcx[AWS Direct Connect]
aws[AWS]

gh -->|operates| ghdc
gh -->|deploys| pop_sea
gh -->|deploys| pop_va

pop_sea -->|peers with| ix
pop_va -->|peers with| ix

pop_sea -->|located at inferred| th_wbe
pop_va -->|located at inferred| th_eqx_ash
pop_va -->|also interconnects at inferred| th_core_va1

pop_sea -->|connects via metro and long haul| ghdc
pop_va -->|connects via metro and long haul| ghdc

ghdc -->|linked by| bb
bb -->|uses| dwdm

pop_sea -->|uses private interconnect inferred| aws_dcx
pop_va -->|uses private interconnect inferred| aws_dcx
aws_dcx -->|connects to| aws

dc -->|has instance| ghdc
pop -->|has instance| pop_sea
pop -->|has instance| pop_va
th -->|includes| th_wbe
th -->|includes| th_eqx_ash
th -->|includes| th_core_va1
pci -->|has instance| aws_dcx

style dc fill:#FF8000,color:#ffffff,stroke:#333333,stroke-width:1px
style pop fill:#FF8000,color:#ffffff,stroke:#333333,stroke-width:1px
style th fill:#FF8000,color:#ffffff,stroke:#333333,stroke-width:1px
style ix fill:#FF8000,color:#ffffff,stroke:#333333,stroke-width:1px
style bb fill:#FF8000,color:#ffffff,stroke:#333333,stroke-width:1px
style dwdm fill:#FF8000,color:#ffffff,stroke:#333333,stroke-width:1px
style pci fill:#FF8000,color:#ffffff,stroke:#333333,stroke-width:1px

style ghdc fill:#0080FF,color:#ffffff,stroke:#333333,stroke-width:1px
style pop_sea fill:#0080FF,color:#ffffff,stroke:#333333,stroke-width:1px
style pop_va fill:#0080FF,color:#ffffff,stroke:#333333,stroke-width:1px
style th_wbe fill:#0080FF,color:#ffffff,stroke:#333333,stroke-width:1px
style th_eqx_ash fill:#0080FF,color:#ffffff,stroke:#333333,stroke-width:1px
style th_core_va1 fill:#0080FF,color:#ffffff,stroke:#333333,stroke-width:1px
style aws_dcx fill:#0080FF,color:#ffffff,stroke:#333333,stroke-width:1px
style aws fill:#0080FF,color:#ffffff,stroke:#333333,stroke-width:1px
style gh fill:#0080FF,color:#ffffff,stroke:#333333,stroke-width:1px

✳️ Map

Maps of The Westin Building

✳️ Further Reading