iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0

前言

前面 Day7 有講過超級電腦(資料中心)和IaaS平台之間的關係 🛠️,在 Day9 提到了local LLM和雲端LLM服務的差異 ☁️⚖️,而 Day20 稍微提到了從server到LLM應用服務之間的過程 🔄🛤️,儘管如此,這些介紹可能仍顯得抽象,有許多概念可以再深入補充。

Day20 提到的其中一種可能的設計,乍看之下就只有一台機器:

[程式碼]  ->  [編譯]  ->  [測試]  ->  [打包]  ->  [容器化]  ->  [伺服器 / VM / Kubernetes]  ->  [網路與分流]  ->  [負載均衡]  ->  [LLM 服務] ->  [LLM 服務監控]

雲端LLM服務的server一定不會只有一台,那很多台的話infra架構是什麼樣子的?

🔍 本章節要來了解:

  • 有IaaS平台,也有全部local的環境,能全都要嗎? 🌀
  • 多台server如何一起工作? 🤝
  • 資料中心的安全探討 🔒

接下來就將與先前提過的內容串在一起,將前面寫得不夠清楚的地方補充得更清楚一些,因此本章節希望能引領讀者更了解從資料中心(或小型機房)到App之間的完整過程

https://ithelp.ithome.com.tw/upload/images/20240927/20168115WvtYM7Ee9b.jpg
(圖源: Meme 梗圖倉庫)


🌀 雲端架構概念:公有雲 / 私有雲 / 混和雲

企業主要的基礎建設主要分成三種:

  1. ☁️ 公有雲(Public Cloud)
  • 公有雲是由第三方服務提供商運營的雲端基礎設施,例如AWS、Google Cloud或Azure等等。企業可以按需球租用這些服務,根據需求彈性擴展,而不需要自己搭建和維護伺服器或資料中心,成本相對較低。
  1. 🏢 私有雲(Private Cloud)
  • 私有雲是由單一組織專用的雲架構,通常是企業內部自己架設和管理的,也有可能是給專門的服務提供者託管的。私有雲可以確保資料的安全性,但維運成本較高,因為需要自行管理基礎設施。
  1. 🌩️ 混合雲(Hybrid Cloud)
  • 混合雲是一種將公有雲與私有雲結合使用的架構。企業可以將某些業務放在在私有雲中(例如敏感資料),而將其他不敏感的部分放在公有雲中(例如日常使用的網站)。

管這三種架構方式有所不同,它們的核心仍是基於機房與資料中心,主要的差異在於誰負責維護和管理這些資源。


🤝 多台server如何一起工作?

在處理大型應用程式(如LLM服務)的時候,單台伺服器往往無法應對龐大的運算和儲存需求。為了應付這些挑戰,通常會將多台伺服器組合成一個伺服器集群(Cluster),並使用虛擬化技術來有效管理伺服器資源。這裡以VMware vCenter管理VM的架構為例,來說明多台伺服器如何協同工作:

https://ithelp.ithome.com.tw/upload/images/20240926/20168115exAeghl6BI.png
(圖源: VMware docs,圖的最右邊在每台ESXi上可以有多個VM)

  1. vCenter 🛰️

    • vCenter是整個虛擬化環境的核心管理工具,工程師可以從vCenter去管理、監控、調度多個資料中心或機房(上圖中Location 1-N)中的伺服器資源。
    • 分散在不同location是為了實現高可用性(High Availability, HA)機制和異地備援,萬一其中一個資料中心發生故障,其他資料中心仍能正常運作,確保系統的穩定性與可靠性。
  2. 分佈式虛擬交換機(Virtual Distributed Switch, VDS) 🖧

    • vCenter使用VDS來管理不同伺服器的VMs的網路。VDS會負責將網路流量自動分配到各個虛擬機,讓不同的虛擬機之間可以互相通訊,並確保負載均衡,避免單一伺服器過載。
  3. 集群(Cluster) / 邊緣集群(Edge Cluster) 🏙️

    • Cluster是將多台實體伺服器整合在一起,形成一個統一的計算資源系統,使得多台伺服器共同分擔負載,提供了更高的計算能力、可擴展性與容錯性。
    • Edge cluster通常是用於邊緣運算,以減少延遲並提升用戶體驗。
  4. ESXi 主機(ESXi Host) ⚙️

    • ESXi Host是運行VM的實體伺服器,用來托管和管理VMs。每台實體伺服器上可以運行多個VM,而ESXi是安裝在伺服器上的虛擬化平台,因此vCenter可以透過ESXi對VM架設、刪除、監控。
  5. 虛擬機器(Virtual Machines, VM) 🖥️

    • VM是這整個架構的應用層,也是具體運作LLM服務的地方,它模擬一台完整的電腦並運作應用程式
    • 這些VM會共享伺服器的計算資源(CPU、記憶體、硬碟等),但彼此隔離、互不干擾。每個VM可以根據需求分配計算資源,並且可以在cluster內動態移動到其他主機上以確保資源的最佳分配(vMotion)

這些VM們可以是工程師的測試環境、上面放容器變成APP服務的地方,要怎麼規劃都可以。

而Infra架構的設計可以是很彈性的,設計的方式很多,不一定只有這種架構方式。不過,如果僅依賴VMware架構還有一些不足之處,像是VM啟動較慢 🕒、資源佔用大 💽,且擴展性有限 📉,難以應對大規模的服務需求。因此可能可以結合kubernetes能更有效地管理服務,提供更靈活的資源調度 🚀,這部分將在明天的內容提到!


🔒 資料中心物理上的安全

這一段是在查資料時查到有趣的部份,放上來分享。

駭客怕物理攻擊,而資料中心也是,目前網路上資料最公開的是Google,Google資料中心最著名的就是他以Google logo顏色去設計的色彩繽紛的冷卻系統管線,而台灣也有一座資料中心在彰化西濱工業區裡面!

這部分參考自: 資料與安全性

Google Data Center Security: 6 Layers Deep
Yes

Google的六層保護機制分別是:外牆(爬了會被發現)、監視器與警衛(車輛防撞護欄)、進去建築後會需要security card和生物特徵辨識、有24/7的值班監控中心、一次只能一人通過的機房、最後一層是特殊的器材報廢區

一般的機房的確是不會有這麼多層的保護,更不會有車輛防撞護欄去阻止萬一有大貨車想撞進來,不過看到這個影片喚醒了筆者很久以前的記憶,最讓人印象深刻的的確是機房刷卡一次只能一個人通過的管制機制。這影片是說低與1%的googlers有機會可以進到機房中,所以如果想要進大機房去,歡迎加入infra team,也許有機會去(???)。


章節總結

在這一章中介紹了企業infra可以選擇的幾種雲端架構模式 ☁️,並探討了在LLM應用中多台伺服器的需求對應的一種基礎建設設計方式 🏗️,學習到了cluster、HA、異地備援的概念!還深入了解了Google資料中心的安全設計 🛡️,展示了如何在大規模運算環境中確保資料的安全性與系統的穩定性 🔒。

這章想了很久要寫什麼比較好,關於資料中心和環保 🌱的議題在前面都已經講過了,如果講server機櫃的技術細節(如幾U幾U、線怎麼接)🖇️、VM寫到分散式儲存的vSAN又太過技術化,最後決定把寫之前沒有寫到的部分補起來,讓內容更加完整。

如果想進階學習VMware系列,IT邦幫忙上有很多很棒的文章都是在介紹它的,或是跟筆者一樣默默翻文件也行XD

明天將來探討VM上的容器與應用服務,以及分散式系統如何管理服務! 🔄

https://ithelp.ithome.com.tw/upload/images/20240927/20168115yfxNchLEHQ.jpg
(圖源: programmerhumor)


參考資料

關於 Google 資料中心
https://www.google.com/about/datacenters/


上一篇
Day25 - vLLM實作篇PART4:安裝到推理 (Windows version)
系列文
Local LLM infra & Inference 一部曲26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言