(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.
- 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.
- 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.”
- 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.
- 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?
✳️ 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

✳️ Further Reading