(圖說:當年參訪 Amazon Spheres 的時候,剛好有拍到 The Westin Building,照片中的最左邊那一棟建築物。圖片來源:Ernest。)
✳️ tl;dr
- 之前在西雅圖市區路過開會、或探訪咖啡與美食,走來晃去一直經過它,沒想到大有來頭。
- 威斯汀大廈交換中心是位於華盛頓州西雅圖市中心的大型電信樞紐設施。
- 該建築建於 1981 年(跟我差不多年代 XDD),
- 最初名為威斯汀大廈,是當時總部位於西雅圖的威斯汀酒店集團的辦公室。
- 它也是西雅圖網際網路交換中心(SIX) 和 Pacific Northwest Gigapop Pacific Wave Exchange 的所在地。
- 自 2019 年或更早起,該建築資料中心產生的熱量透過管道輸送到亞馬遜的多普勒大樓 (Doppler) ,用於隔壁多普勒大樓和其他幾棟亞馬遜大樓的暖氣供應。
- 亞馬遜估計,在該系統 25 年的預期使用壽命內,它將節省 8,000 萬千瓦時的電力,相當於 6,500 萬磅煤炭。
- 起因是看到 The Verge 報導 Microsoft 打算將 GitHub 整個搬移進 Azure,而好奇在被收購之前的基礎設施情形。
- GitHub 在 2018 年被 Microsoft 收購。所以回頭查詢 2017 年的情況。
- GitHub blog 曾描述:“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 現在 (2025) 正進行(史上?)最大規模的基礎設施遷移計劃,計劃在 24 個月內將整個平台從自有資料中心遷移到 Azure。
- 這次遷移的核心驅動力是 AI 工作負載的爆炸性成長:GitHub Copilot 每天產生數百萬次程式碼建議,消耗大量運算容量,現有資料中心已達到物理擴展極限。(對外總是會有一套說法,聽聽看看參考就好)(有一種冷,叫做阿罵覺得你冷。有一種移,叫做____就請你移?!)
- 遷移策略:大部分工作需在 12 個月內完成(因為需要新舊系統並行運行至少 6 個月),GitHub 已要求團隊延遲功能開發,優先處理基礎設施遷移。
- GitHub 在 2024 年經歷了 119 起事件,包括 26 起主要中斷,平均修復時間約 106 分鐘。
- 好奇搬家之後的表現。
- 有在使用 GitHub 的各位技術管理者們,好奇各位怎麼看?會觸發做些準備嗎?
✳️ 知識圖譜
(更多關於知識圖譜…)
%%{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
✳️ 地圖

✳️ 延伸閱讀