首頁>科技>

當下企業業務應用數量正呈現快速增長態勢,海量的業務應用導致其呼叫關係錯綜複雜,這對企業業務和底層系統的穩定性和持續性都提出了極高挑戰。如何解決這一難題,保持企業業務的持續快速增長?

激發創造,釋放潛能

位元組跳動具有長期沉澱、服務於數億使用者的大資料技術、人工智慧等基礎技術服務能力,擁有成熟的增長理念和方法論。

傳統雲架構正面臨三大挑戰

提到當下技術體系的構建,離不開一個“雲”字。關於“雲”,其實現在傳統雲架構和IT正面臨著三個挑戰:

其中,硬體層即底層極致高效的基礎設施,包括計算和儲存構成雲原生硬體底層;核心態是容器化與大規模排程空間,可聯動基礎設施與應用場景,起到了承上啟下的作用;使用者態則是一條工具鏈,為開發者提供開發、測試、運維、服務治理的一套平臺。這三層支撐著使用者業務應用的高可用、高效能和高效能需求。

雲原生OS之“硬體層” - 極致高效的基礎設施

關鍵詞:效能極致、彈性裸金屬

深入雲原生硬體層核心細節,雲原生彈性裸金屬最核心的一個點是把計算和儲存分離,可稱為“虛擬機器的外表,物理機的心臟”!

虛擬機器的外表:雲原生最核心是計算和儲存分離,智慧IO卡能將CPU、記憶體、儲存資源和網路資源隔開。簡單說,“虛擬機器的外表”能實現快速交付、彈性交付、彈性排程,是非常強大的效能。物理機的心臟:支援強大“虛擬機器外表”的,是彈性裸金屬強悍的物理機心臟,在計算角度,具有物理機一切的特徵;儲存角度,雲端的儲存能透過RDMA、智慧IO卡實現高效能加速,得到比本地磁碟更快的效能,又具有遠端儲存的高可靠、彈性分配等一系列特性;運維角度,支援熱升級和分鐘級交付。雲原生OS之“核心態” - 基於容器的大規模智慧排程

關鍵詞:容器叢集、多雲異構、應用支撐、在/離線混部

從容器核心態角度出發,管理多區域叢集,最佳化容器作業系統主要圍繞三個場景:

第一步:海量服務支撐

容器部署後,我們需要線上做很多RPC服務;需要做服務間的隔離、配置、版本升級;需要緊密結合服務化體系,例如全域性化服務發現、全域性配置中心。

第二步:大規模排程

容器執行後要面臨大規模排程問題。大規模排程可以幫助叢集進行大規模最佳化,透過叢集管理能力,能根據異構底層基礎設施的特點,針對特徵做計算層、網路層、儲存層的最佳化,並整合DevOps平臺;透過叢集元件最佳化,可以提升叢集中各控制器的效能以及叢集排程能力,透過叢集功能增長,採用聯邦叢集、映象預熱等技術,以強化叢集功能。

第三步:線上、離線混部

當下網際網路應用以天內為單位,都有著明顯的潮汐特徵,例如白天抖音活躍使用者很多,但半夜就非常少,這就會出現資源空閒浪費的情況。在內部,我們還有很多離線的計算,比如離線資料處理、機器學習訓練、影片編解碼等。

超售策略:申請資源時透過超賣,回收業務申請的冗餘資源。彈性伸縮:透過額外監控、精細化運營,回收波谷時段分散的業務資源,歸到規整的資源中。混部控制:實現線上、離線時資源的靈活拆解,讓機器知曉什麼時候該進行什麼任務。

最終我們實現全域性資源利用率為63%,這在業界屬於最高水平。

雲原生OS之“使用者態” - 架構與治理

關鍵詞:服務網格、DevOps、海量運營

雲原生作業系統使用者態的架構與治理則主要體現在Service Mesh、服務治理和DevOps上。

關於Service Mesh,簡單說,就是實現了一個高效能多協議的代理和一個靈活可擴充套件的控制服務,將它們與雲平臺原生整合,最終透過輕量級RPC框架來輸出能力,實現“無感知切換”。

至於DevOps,雖然是老生常談,但真正想做好卻沒有那麼容易,優秀的DevOps體系具有兩個核心點:靈活強大的流程引擎、豐富的可配置原子服務。我們能在流程引擎掛上可配置的原子服務,原子服務可以分類組合成無數個場景,例如灰度釋出、CI/CD、需求聯動、分層自動化測試、多環境串聯等。

11
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 雷軍給庫克10000點暴擊,網友沒想到,小米11還能這麼幹?