雲端原生時代下,作業系統生態的挑戰與機遇
在雲端運算快速發展的背景下,伺服器作業系統的產業升級,不再侷限於實體伺服器層面,市場邊界擴張,人工智慧、大數據、雲端運算等新科技的發展也對作業系統的彈性和智慧化提出新的要求。在
2023 龍蜥操作系統大會上,龍蜥社區理事、螞蟻集團資深技術專家王旭分享了《雲原生時代下,操作系統生態的挑戰與機遇》的主題演講,分享了螞蟻集團在龍蜥社區的合作成果。以下為分享原文:
(圖/龍蜥社群理事、螞蟻集團資深 深科技專家王旭)
我代表螞蟻集團,擔任螞蟻雲端原生基礎設施和作業系統團隊的負責人,同時在龍蜥社群擔任理事和螞蟻開源技術委員會的副主席。今天我們來聊聊雲端原生時代中軟體和作業系統的角色定位。
大家都關注到,像Red Hat 停止以傳統CentOS 的方式做包括SRPM 的整個軟體distro 的發布,一個很大的原因也是在現在這樣的時代之下,整個軟體供應鏈發生了非常大的變化。我們知道以前,大家採購一個軟體、作業系統等,作業系統裡所有的軟體包自己已經完成了軟體供應鏈的維護和保障工作,這個工作就是在作業系統裡完成的。在這樣的時代裡,作業系統代表了所有大家軟體分發的管道,自然保證了供應鏈。所有採購它的人都會為它付費,這樣的鏈條是非常完整和非常充分的,所以 Red Hat 維護 CentOS 的同時,也維護了一整套商業模式,商業和開源形成了閉環模式。
現在大家都在提智能,目前的智能算力的提供也使用了雲端原生 CloudNative 的資源算力供應體系,在這樣的體系裡面,整個架構變得比原來更複雜了。而只有非常少的一部分,就是Host OS 這部分和原來一樣,透過Package Repository 到Host OS 來提供,對應上圖左側的傳統的OS 的領域,現在其實已經非常小了;而大部分的運行的軟體都跑在容器裡,是透過鏡像倉庫拉取過來的。鏡像生產是在開發端完成的,這些開發人員自己開發的應用,使用了 Base OS 的內容以及 Base OS 對應的 Package Repository,最後送到 image Repository 裡去。在這樣一個環境下,有一個非常顯著的變化,整個容器鏡像鏈路都不是透過運行基礎設施的採購方來採購的作業系統,前面的分享
《國產伺服器作業系統發展報告(2023年) 》裡也提到了,最大的採購方最有網路公司、政務等,這些公司除了自己生產軟體之外,他們自己採購的部分裡面,相對於來自其他管道的應用來說,採購自的主機作業系統部分已經非常少了。所以,他們自然地就降低了購買作業系統的慾望,或者說買的作業系統這部分不太值了,不像原來一個作業系統全部包含。
在這樣的情況之下,整個作業系統或說整個軟體供應鏈體系,大部分是在軟體生產端就已經整合進去了,而在運作端比較少有管理和控制的。所以在這種情況下,在上圖右邊的雲端原生軟體供應鏈的管理變得更複雜了,而在作業系統拉軟體包的方式上,所佔的比重嚴重減少了,這也是很大程度上讓Red Hat 發現了CentOS 在它的商業模式中開始變得不那麼重要,因為確實RHEL 的採購對用戶來說不那麼重要了。但在這樣的情況下,並不代表軟體供應鏈不重要,相反在雲端原生的情況下軟體類型非常豐富,image 來源各種各樣,尤其在有強大金融背景的公司來說,軟體供應鏈的維護是非常重要的,有很強的安全性的需求。而我們對軟體供應鏈還有合規、可信等各種各樣的需求,客戶也需要整個系統是被人信賴的系統。
基於此,我們是需要一個完整的可信任鏈條和供應鏈安全,在雲端原生的場景之下,確實需要作業系統來發生跟以往環境不一樣的變化,這也是為什麼作為一個金融相關的網路公司需要參與作業系統社群的原因,因為我們也需要確保自己的供應鏈安全。而新時代之下,並不是只採購這樣一套作業系統,像原來一樣就可以保證供應鏈安全,相反我們需要參與到完整的生產過程當中,這也是為什麼我們不僅僅參與了龍蜥社區,也參與了雲端原生SIG 做相關開發,做一些和社區上游共建工作。我相信在未來的趨勢之下,所有的有供應鏈需求的軟體用戶,其實都需要這樣更社群化的作業系統的維護。
作為龍蜥社區理事單位螞蟻集團來說,我們在社區裡參與了非常多工作,比較基礎的一方面,操作系統這邊有很多容器和虛擬化相關的技術與社區一起做開發,也參與到相應技術SIG。我自己在加入螞蟻集團之前是做容器創業的,做安全容器,發起了 Kata containers 計畫。雲端原生和虛擬化技術有很多關係的,所以我們在作業系統虛擬化、雲端原生生態裡都有很多貢獻和合作,像是鏡像技術,鏡像加速實際上是一種對內容有感知的技術,叫做Nydus,它不僅透過Dragonfly 做P2P 加速技術,而且可以透過Lazy Load 做零延遲的鏡像加速,當然這些鏡像加速技術在今天也用在大模型的加速。同時,這種內容感知性也是包含了我們對供應鏈的訴求,對內容的分佈、可靠性、安全性都是需要相關的。
螞蟻集團與龍蜥社群合作涉及大規模平行資料庫、圖計算等開源技術。安全可信賴是重點,螞蟻集團在TEE、基於Intel TDX等方面做了很多工作,例如機密容器開發。這些合作得到社區的全面支持,並增強了操作系統和安全方面的建設。
螞蟻集團和龍蜥社群秉承「開放、平等、協作、分享」的原則,進行深度合作,也希望螞蟻集團的參與幫助龍蜥社群取得更好的進步。
影片回放、課件取得:2023 龍蜥龍蜥作業系統大會直播回放及技術 PPT上線啦,歡迎點擊
觀看~
技術 PPT :關注龍蜥公眾號【OpenAnolis 龍蜥】,回覆「龍蜥課件」取得。
—— 完 ——
以上是雲端原生時代下,作業系統生態的挑戰與機遇的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

在 C 語言中,char 和 wchar_t 的主要區別在於字符編碼:char 使用 ASCII 或擴展 ASCII,wchar_t 使用 Unicode;char 佔用 1-2 個字節,wchar_t 佔用 2-4 個字節;char 適用於英語文本,wchar_t 適用於多語言文本;char 廣泛支持,wchar_t 依賴於編譯器和操作系統是否支持 Unicode;char 的字符範圍受限,wchar_t 的字符範圍更大,並使用專門的函數進行算術運算。

語言多線程可以大大提升程序效率,C 語言中多線程的實現方式主要有四種:創建獨立進程:創建多個獨立運行的進程,每個進程擁有自己的內存空間。偽多線程:在一個進程中創建多個執行流,這些執行流共享同一內存空間,並交替執行。多線程庫:使用pthreads等多線程庫創建和管理線程,提供了豐富的線程操作函數。協程:一種輕量級的多線程實現,將任務劃分成小的子任務,輪流執行。

多線程是計算機編程中的重要技術,用來提升程序執行效率。在 C 語言中,有多種實現多線程的方式,包括線程庫、POSIX 線程和 Windows API。

NULL在C語言中是一個特殊值,表示空指針,它用於標識指針變量沒有指向有效的內存地址。理解NULL至關重要,因為它有助於避免程序崩潰,確保代碼健壯性。常見用法包括參數檢查、內存分配和函數設計的可選參數。在使用NULL時,應注意避免懸空指針和忘記檢查NULL等錯誤,並採取高效的NULL檢查和清晰的命名來優化代碼性能和可讀性。

複製粘貼代碼並非不可行,但需謹慎對待。代碼中環境、庫、版本等依賴項可能與當前項目不匹配,導致錯誤或不可預料的結果。務必確保上下文一致,包括文件路徑、依賴庫和 Python 版本。此外,複製粘貼特定庫的代碼時,可能需要安裝該庫及其依賴項。常見的錯誤包括路徑錯誤、版本衝突和代碼風格不一致。性能優化需根據代碼原用途和約束重新設計或重構。理解並調試複製的代碼至關重要,切勿盲目複製粘貼。

Tauri框架下Rust語言熟練度對桌面程序開發的影響Tauri作為一款使用Rust構建的桌面應用開發框架,憑藉其輕量級和...

異步和多線程是 C# 中截然不同的概念。異步關注任務執行順序,多線程關注任務並行執行。異步操作通過協調任務執行來避免阻塞當前線程,而多線程通過創建新的線程來並行執行任務。異步更適合於 I/O 密集型任務,而多線程更適合於 CPU 密集型任務。在實際應用中,經常結合使用異步和多線程來優化程序性能,需要注意避免死鎖、過度使用異步以及合理利用線程池。

C語言條件編譯是一種根據編譯時條件選擇性編譯代碼塊的機制,入門方法有:使用#if和#else指令根據條件選擇代碼塊。常用條件表達式包括STDC、_WIN32和linux。實戰案例:根據操作系統打印不同消息。根據系統位數使用不同的數據類型。根據編譯器支持不同的頭文件。條件編譯增強了代碼的可移植性和靈活性,使其適應編譯器、操作系統和CPU架構變化。
