重點摘要#
- 硬體容量規劃對許多軟體架構師來說超出舒適區,但它仍然是架構師工作的重要部分
- 忽略硬體的主要原因是我們專注於軟體,且被高階語言和框架隔離了
- 缺乏硬體專業知識時使用大量安全係數,往往導致過度配置和資源浪費
- 水平擴展性是關鍵 – 按需添加硬體而非一開始就過度購買
詳細內容#
為什麼架構師忽略硬體#
軟體架構師忽略硬體的原因主要有:
- 我們專注於軟體,傾向忽視硬體需求
- 高階語言和軟體框架讓我們自然地與硬體隔離
- 需求不明確或可能改變,客戶可能無法預測用戶規模或系統使用模式
- 硬體在不斷演進,過去的硬體知識可能不再適用
過度配置的陷阱#
沒有硬體專業知識時,預測待開發系統的硬體配置非常容易出錯。為了補償,一些架構師使用大量安全係數,但這些因素通常不是基於客觀評估。在大多數情況下,這導致了即使在尖峰需求時期也不會被充分利用的過度基礎設施容量,浪費客戶的金錢。
解決方案#
最好的防禦是與基礎設施架構師密切合作。基礎設施架構師與軟體架構師不同,他們是硬體容量規劃的專家,應該成為團隊的一部分。
當沒有基礎設施架構師可用時,軟體架構師可以:
- 利用過去經驗 – 你過去實作過系統,多少有一些硬體容量規劃的知識
- 與客戶討論,說服他們為硬體容量規劃撥出專門預算
- 採用水平擴展策略 – 按需添加硬體而非一開始就過度購買
要讓水平擴展策略生效,軟體架構師需要持續測量容量、隔離軟體組件,使其在可預測的效能環境中執行。
硬體與軟體同等重要#
硬體容量規劃與軟體架構同等重要,無論你是否有基礎設施架構師在手邊,都需要將其列為首要優先事項。就像架構師負責建立業務需求和軟體解決方案之間的連結一樣,架構師也負責構想硬體和軟體之間的連結。
— By Kamal Wickramanayake