後 CentOS 時代,國產操作系統能否扛起大旗?

編者按:現存的 CentOS 以及衍生版用戶或將面臨哪些風險?一套完整的遷移方案應該包括哪些步驟?在當下衆多的遷移版本中如何選擇符合市場發展訴求的操作系統……一起聽聽龍蜥社區產品生態總監張鵬程怎麼說。本文轉自 InfoQ,以下爲轉載原文:

2020 年 12 月,CentOS 社區宣佈 CentOS 服務器操作系統 8 和 7 系列分別於 2021 年底和 2024 年 6 月底停止服務。CentOS 停服對於國產操作系統而言,既有挑戰,也有機遇。一方面,如何爲國內用戶提供 CentOS 停服之後的解決方案,平穩完成服務器操作系統和數據的遷徙是國內操作系統廠商必須要解決的難題;另一方面,CentOS 停服也有望加速國產服務器操作系統替代進程。

那麼,CentOS 的停服到底會帶來哪些影響?國產操作系統能否扛起時代大旗?如何遷移到國產操作系統?近日,龍蜥社區產品生態總監張鵬程做客 InfoQ 直播間,爲大家分享國產操作系統遷移實踐經驗。

本次訪談完整視頻已上線至龍蜥官網,歡迎點擊參看:

https://openanolis.cn/video/837921694589681665

01 雲計算給操作系統帶來了哪些改變?

姜雨生:近幾年,國內外操作系統整體發展如何?有哪些值得關注的行業大事件?

張鵬程: 經過幾十年的發展,操作系統已成爲一個相對成熟的產業領域。大家對桌面端常用的操作系統如 Windows、macOS 非常熟悉。在服務器端,Linux 具有開源和免費的特性,廣泛應用於服務器操作系統。

由於我們今天的話題主要涉及服務器操作系統,因此我們將聚焦在近年來國際和國內兩方面,討論其中的標誌性事件和發展趨勢。首先看國際方面,最典型的標誌性事件是 Red Hat 公司在 2021 年和 2024 年停止維護 CentOS 8 和 CentOS 7 的版本,並轉向 CentOS Stream 作爲上游版本。這意味着之前基於 CentOS 的企業級生態系統將受到重大影響,這是一個非常典型的國際標誌事件。

接下來,我想談一下發展趨勢。從十多年前雲計算的興起開始,經過了持續的發展,雲計算已逐漸成熟。這種發展浪潮給操作系統領域帶來了一種“降維打擊”的趨勢。一個典型例子是亞馬遜在其雲計算平臺上提供的 Amazon Linux,對紅帽等操作系統市場地位造成了巨大沖擊,形成了顛覆性效果。微軟也將其 Windows 部門轉移到了 Azure 雲平臺,這有助於操作系統技術在雲上的演進和推廣。這是過去幾年持續發酵的產業發展趨勢,國際上值得關注。

國內方面,一個標誌性事件是從 2019 年開始,國家產業主管部門組織了針對操作系統領域的原生開源社區的重大專項活動。隨後,龍蜥社區等開源社區相繼誕生。這一系列事件標誌着國內在自主操作系統演進方面邁出了重要步伐,對國產操作系統的發展和應用推廣非常有幫助。此外,在國內除了前面提到的雲計算蓬勃發展外,圍繞國產化的生態系統也是我們必須關注的發展趨勢,這促使更廣泛的自主創新,相信這對操作系統發展將產生深遠影響。

02 CentOS 停服給國產操作系統帶來的挑戰與機遇

姜雨生:CentOS 是比較流行的 Linux 發行版之一,2020 年 12 月,CentOS 社區宣佈 CentOS 服務器操作系統 8 和 7 系列分別於 2021 年底和 2024 年 6 月底停止服務。隨着 CentOS 系列版本停服時間臨近,現有 CentOS 以及衍生版用戶會面臨哪些風險?

張鵬程:這個問題可能已經成爲一個正在發生的狀態。儘管 CentOS 8 用戶羣規模可能相對小於 CentOS 7,但 CentOS 8 在 2021 年 12 月底已停止維護。對於 CentOS 8 或者截止到 2024 年的 CentOS 7,它們都將直接受到影響。隨着社區停止服務,所有正在運行的版本在截止日期後將不再獲得任何問題修復或升級維護。

對於廣泛使用存量運行 CentOS 系統的用戶而言,這樣的事實可能帶來連帶影響。如果系統因爲一些 bug 導致不穩定、宕機甚至不可用的情況,很難獲得及時修復。同時,由於潛在的安全漏洞沒有及時修復,這些漏洞可能對使用 CentOS 的用戶,特別是企業用戶的系統安全和數據安全構成重大威脅。此外,許多用戶由於商業需求而使用商業發行版本,但這些商業發行版本在過去的發展過程中也是基於 CentOS 演進而來。因此,CentOS 的停止維護因素可能間接導致一些依賴於 CentOS 的商業發行版本很難進行後續演進,這對使用者也會產生連帶影響。

姜雨生:CentOS 有廣泛的行業用戶基礎,停服將導致操作系統遷移浪潮。有聲音認爲,CentOS 停服對於國產操作系統而言,既有挑戰,也有機遇,請您分別談談其中的挑戰與機遇?

張鵬程:這個機遇和挑戰,我認爲可以看作是兩面的。就像我們之前討論的,它既包含挑戰,也蘊藏着機遇。對於操作系統而言,一個非常核心的問題是操作系統的生態系統。因此,在我看來,最大的挑戰和機遇都可能在於這個生態系統中。

生態系統帶來的挑戰是我們現在使用的操作系統和相關的成熟硬件體系,以及上游的數據庫、中間件和各種企業應用軟件,大部分都是在歐美市場環境下經過數十年成熟發展和不斷迭代形成的。在這個發展過程中,軟硬件體系相互適配、優化和促進是相互融合的。在這個層面上,現在出現了一些風險和停服的跡象。如果要解決操作系統的替代方案,這個替代操作系統必須解決如何與國外成熟發展的軟硬件軟件生態系統良好兼容的問題。對於國內操作系統的發展來說,這是一個巨大的挑戰,因爲我們是在追趕的位置上。在這個過程中,還有許多非技術因素會直接產生影響。我相信這是我們國內從業者共同面臨的問題,大家都在努力不斷完善和解決。

同時,我認爲這個過程中也有很多機會,因爲我們正處在一個發展浪潮中,這個浪潮帶來了許多新的機會,影響着發展的變化。正如之前提到的,不論是雲計算的發展還是國內自主創新的軟硬件生態發展,都意味着在國內的許多行業領域,企業在解決自身發展問題的同時,考慮如何進行 IT 架構或技術升級來給業務產生更大的收益。我們現在有更多選擇,可以使用創新的雲生態系統以及國內產生的芯片、數據庫和應用軟件等,這些都構成了國內獨特的生態系統。這些發展也是我們共同面臨的機遇,因爲在這個過程中,我們不再僅僅進行“蘋果與蘋果”的簡單比較,而是在進行系統與系統的比較。國內伴隨着我們快速發展和強大需求的機遇,可以幫助我們將上下游合作伙伴聯合起來。通過在更廣泛的應用領域中錘鍊,我們能更快地使國內建立起的生態系統更加成熟。

姜雨生:民生證券研究報告稱,國內整體 CentOS 存量替代空間有望達到 148 億元,這個數字符合您的預估嗎?目前國內主要是哪些行業有操作系統遷移替換需求?遷移的主要原因是什麼?

張鵬程:這個問題可以從兩個方面來看。您剛纔提到的第一個方面可能是關於市場空間的判斷。我認爲不同機構或不同視角可能對統計口徑有所差異。所以這個數字本身很難直接判斷對錯,它只是一個相對的指標,但確實能提供一些見解。判斷服務器操作系統的市場規模,我們還可以參考服務器規模,每年國內的物理服務器出貨量是一個相對確定且得到共識的數字。過去幾年的情況,每年大約有 300~400 萬臺的服務器出貨量。

這麼多年來,在操作系統領域中,CentOS 一直處於主導地位。因此,國內物理服務器的使用規模至少應該達到百萬級別,每年的存量不斷累積。此外,考慮到過去 5~10 年,國內雲計算從虛擬化發展到雲計算,以及衆多的虛擬機和類似容器的使用環境,綜合考慮這些物理機、虛擬機甚至容器的部署規模,至少達到千萬級別。如果將部署規模轉化爲市場空間,一部分將直接對應各種操作系統選項,包括免費社區發行版的發展,同時也會有商業選項。

對於某些企業客戶來說,根據他們的發展角度,仍然需要商業服務來支持他們。這些需求將產生對操作系統的消費,對應到之前提到的千萬級別的規模。因此,就整個市場規模而言,我相信超過百億是一個發展趨勢,也是整個行業共識。所以對於整個產業的從業者來說,這可能是一個相對確定性的發展機遇,他們都面臨着這個機遇。

剛纔您也提到國內的需求。我們看到在各行各業中都廣泛應用國內的服務器。根據使用規模,我們可以從中看到一些端倪。當我分析我們操作系統的用戶需求時,包括不同行業的發展時,我習慣使用象限來進行分解。縱軸可以定義爲業務對服務器或操作系統使用的影響程度,而橫軸則可能對應不同行業領域的部署規模,根據相應行業的整體經濟規模或企業數量來確定,這些因素可能決定了消耗的規模。

根據這個象限的觀察,最典型的需求來源可能體現在政務、金融、電信、能源以及教育和醫療等行業。這些行業在服務器和 IT 資源的消耗方面都屬於前幾類,而且它們的業務連續性直接關係到日常的國計民生。在這些領域,我相信替代 CentOS 的需求非常高,因爲它們影響到業務的連續運行,也影響到它們所提供的廣泛經濟活動的服務。因此,這些行業迫切希望能有良好的遷移替代選項。另外,還有一大部分服務器消費量來自互聯網行業。由於互聯網行業在架構演進過程中更多地採用分佈式架構,同時在操作系統層面上有更多的替代選項,因此它們對替代的需求可能不會那麼強烈。

綜上所述,國內市場的機會可以從不同方面來看。從市場規模的角度,超過百億是一個發展趨勢。而從需求的角度來看,政務、金融、電信、能源以及教育和醫療等行業對替代操作系統的需求非常高。同時,互聯網行業也是一個重要的消費者羣體,儘管對替代需求的迫切性可能相對較低。

姜雨生:有觀衆提問說,在教育行業的操作系統,我們目前替換的需求量如何?

張鵬程:在教育行業中,我們面臨着一個龐大的存量規模。與電信、金融和能源等行業相比,教育行業的存量規模僅次於它們,屬於高度使用的行業。在過去的兩年多裏,我們通過社區工作發現了許多教育機構的需求,包括大衆院校和教職機構。這些機構都關注如何解決 CentOS 停服替換的問題。

第一類需求比較直接,原本使用的服務器數量並不是特別多,可能總共只有一兩百臺。它們通常使用的是免費的社區版本,例如 CentOS。針對這些需求,龍蜥提供了對應版本的操作系統升級,以確保其與學校原先使用的許多軟件的兼容性。同時,龍蜥還提供了一些遷移工具,幫助用戶進行原地升級遷移,或者在有冗餘資源的情況下進行升級替換,以便更好地完成 CentOS 替換。

另一類需求是順應當前發展趨勢產生的新需求。我們注意到一些大學近年來正在構建智能計算平臺,以解決其內部現有 IT 資源池的問題,並在科研方向上實現更多的智能化能力。這種方式更適用於規模較大、具有規模效應的大學。在這種情況下,在解決 CentOS 替換的同時,考慮搭建智能計算平臺,通過雲化方式提供內部使用,並滿足科研需求。通過搭建新平臺的方式,他們可以一舉兩得,隨着新項目的發展,解決了 CentOS 停服可能帶來的威脅。

這兩種案例是教育行業用戶前進發展的典型代表。一方面,我們滿足了那些使用規模較小的學校的需求,通過升級替代的方式幫助他們遷移問題。另一方面,對於規模較大、有新業務方向或科研規劃的大學,我們支持他們搭建新平臺來替代原有的老資源,從而解決 CentOS 替換的問題,並順應其業務發展方向。

03 如何進行操作系統遷移?

姜雨生:在遷移過程中,我們提到了從舊系統到新系統的替代過程。我個人在之前的工作中也做過很多與監控相關的系統,但是對於更底層的操作系統內容,特別是在物理機或雲 Kubernetes 環境中,我確實沒有完全接觸過。服務器操作系統的遷移並不是簡單的重新安裝系統,還需要對操作系統及其搭載的應用軟件和業務系統進行替代、適配、遷移和重構等,一套完整的遷移方案應該包括哪些步驟?

張鵬程:我想首先回應一下您剛纔提出的問題。您提到了在使用 Kubernetes 等技術時,對操作系統的感知和維護方面可能比較低。這確實是一個事實,而且代表了我們共同面臨的發展趨勢。隨着雲原生技術的普及,操作系統在與上層應用的耦合性方面正在降低。這種分層解耦有利於降低維護成本並提高大規模應用的易用性。

在現實世界中,很多用戶目前仍然主要使用物理機的操作環境。如果已經使用虛擬機,那對於後續的維護可能已經有所幫助。對於這些物理機或虛擬機形態的主機,遷移過程需要考慮更多因素,特別是硬件和軟件對操作系統兼容性的影響。

通常,在進行遷移之前,我們先需要進行評估,包括對操作系統和相關軟硬件環境的評估,以及可能需要進行的兼容性適配。第二步,如果涉及硬件環境的變化,或者軟件版本的升級,可能需要進行跨架構遷移的兼容性適配。例如,從 x86 架構轉向 ARM 架構,或者操作系統版本升級,這些都可能需要考慮應用的兼容性適配。第三步是對原有環境進行備份,這對於任何遷移操作都是必要的保障。第四步是正式進行遷移實施。在具體的遷移實施過程中,通常有以下兩種典型的操作步驟。

  • 第一種是原地升級,即在原有環境下重啓和升級操作系統,使其能夠繼續正常運行。這種方式對兼容性要求較高,而且需要進行充分的前期測試。
  • 第二種方式是輪轉升級,這可以藉助集羣化管理或主備集羣的形式實現。我們可以先將新版本安裝部署在備用節點或新增節點上,並確保應用在該環境下能夠正常運行。然後,在集羣調度和管控層面逐漸將舊節點下線,並將其作爲新節點逐步升級和重新安裝。

遷移實施完成後,最後一步是進行必要的驗證,並結合操作系統或軟硬件環境的變化進行必要的優化。

通過上述五步驟流程,我們能夠儘可能應對每個操作系統所在環境中可能出現的風險,並制定相應的方案。

姜雨生:您提到了在遷移過程中涉及到主備切換的問題。在實際操作中,我們可能會先升級備份集羣,然後需要確保備份環境可以接收流量或承擔服務的運行,同時進行指標監控。我們是在這個過程中進行直接做切換操作嗎?

張鵬程:這個問題涉及環境架構的健壯性和主備切換的設計能力。例如,如果現有的集羣環境已經具備了強大的負載均衡和數據同步能力,那麼在這個環境下進行主備切換可能會比較順利,實現一次平穩的切換。

在某些極端情況下,我們可能會對主備切換持謹慎態度。在這種情況下,通常會先進行驗證,然後在停機窗口內進行升級和維護。具體的處理方式需要根據具體情況進行分析和決策。實際情況中,我們會發現新系統更容易處理遷移需求。通常建議先進行增量環境的升級,甚至做一些妥協,舊系統可能需要長期運行,直到系統生命週期結束或者出現新的機會才進行升級替換。畢竟,一些系統由於年久原因,可能無法找到維護方,這些風險是現實中需要考慮的。

姜雨生:在實際遷移過程中,我們通常會關注哪些驗證指標?

張鵬程:在驗證階段,針對操作系統通用環境,我們通常需要確保原有系統的功能正常運行。對於常規系統而言,如果之前經歷了完整的項目週期,通常會有迴歸測試場景來驗證功能的可用性。在兼容性滿足的情況下,這些測試通常不會出現大的意外。

第二步可能更關鍵,即在關鍵性能場景下進行驗證。例如,系統可能具有特定的 QPS 指標或響應時間要求,針對這些指標,對新部署環境也需要進行測試。實際企業環境中,還需要考慮端到端的整體效果。驗證的具體步驟因系統而異。

姜雨生:操作系統的遷移工作主要包含哪些成本?比如遷移時間通常需要多久?需要多少人力?運行和使用成本如何?如何才能降低企業的操作系統遷移成本?

張鵬程:在企業進行遷移過程中,成本方面需要考慮資源和人力投入。資源成本包括驗證和測試所需的資源,以及生產環境的輪轉和替換成本。人力成本涉及企業自有的 IT 運維人員負責操作系統管理和基礎環境維護,以及與應用系統維護方或項目參與方相關的人員投入。

在遷移過程中,由於兼容性適配和性能調優的需要,很可能需要應用層面的軟件維護人員或開發人員提供幫助。這與所處環境的技術架構和應用程度有關。舉例來說,傳統架構體系相對複雜的情況下,可能涉及多個業務管理系統、企業 IT 系統和雲服務系統,組件數量可能超過 100 個,涉及的服務器節點可能達到上千個。在這個過程中,硬件投入資源相對可控。由於環境已經雲化,可以利用冗餘資源進行輪轉,因此遷移過程不會導致大量額外資源採購。藉助雲的優勢,可以快速創建、使用、驗證,並在完成後銷燬回收,從而節省額外資源投入。

然而,人力成本是不可避免的。在項目中,參與人員包括項目組成員、IT 人員、應用系統相關人員和軟件供應商人員,項目組成員通常達到上百人的配置。經過近三個月的時間,項目組成功地完成了從最初的評估測試到生產級別輪轉的新試點項目。考慮到遷移過程中的不確定性和影響,這可以被視爲一個高效的項目運作方式。在這方面,對於高要求和推進方面有很多挑戰,但團隊成功應對了這些挑戰。

姜雨生:有觀衆提問說,龍蜥對於社區用戶會提供哪些生產級的技術支持,以何種方式支持?

張鵬程:龍蜥社區是阿里雲、統信軟件、浪潮信息、龍芯、Intel、Arm 等國內外知名廠商共同創建和維護的社區。龍蜥社區由 24 家理事單位共同管理,超過 300 家操作系統產業生態夥伴共同維護, 爲國內用戶提供更加安全穩定使用的操作系統。在社區操作系統中,我們提到的產品形態可以分爲兩層結構

第一層是社區自身的上游產品,稱爲龍蜥社區版 Anolis OS(龍蜥操作系統),它是一個開源、免費的版本供大家使用。

第二層是在社區中,理事單位和廣泛夥伴可以基於社區版進行衍生開發和商業擴展的版本。其他理事單位可以構建衍生版本,通常與廠商合作,在社區版本的基礎上增加自主研發的能力,並提供附加的商業服務和增值功能。這樣的衍生版本以商業產品的形式提供給市場上的用戶。

在國內廣泛的社區使用中,存在兩種情況:一種是使用社區免費版本的用戶,另一種是使用基於社區發行的商業衍生版本的用戶。對於廣泛的用戶羣體而言,如果使用的是社區免費版本,通常會採用社區的服務或開源方式進行維護和推進。在這個過程中,用戶可能會在官網或通過釘釘羣、微信羣等渠道報告問題。社區內包括阿里的成員、不同理事單位的成員以及廣泛的開發者用戶,大家可以在這個開放平臺上共同協作,解決問題並提供解決方案。這是第一層次。

如果用戶選擇了商業衍生髮行版本,通常會獲得服務提供方提供的商業服務。在生產環境下,這些服務可能包括 on-call 支持或專家服務。這些商業服務是商業產品的配套服務,用於支持實際使用的應用場景。

姜雨生:當前國內外已經出現了不少 CentOS 停服解決方案,在選擇操作系統遷移替換時,不同行業的關注重點分別是什麼?與其他遷移方案相比,龍蜥社區的差異化和優勢體現在哪裏?主要有哪些遷移工具?

張鵬程:龍蜥社區的誕生源自阿里雲將其內部使用的操作系統進行開源,並與更廣泛的社區夥伴合作,以開源社區的方式更好地推進這項工作。

龍蜥操作系統是基於阿里雲在過去十多年發展歷程中的沉澱而來,經過大規模驗證的生產級別產品。阿里雲最初在內部開發龍蜥操作系統是爲了替換 CentOS,以滿足內部的需求,例如“雙十一”等大規模穩定運行的要求。龍蜥操作系統在滿足自用的階段已經在內部發展出了雛形。

隨後,我們考慮到雲上存在許多企業用戶,他們對操作系統需要具備差異化的能力,例如快速啓動和彈性部署等。爲此,我們將其產品化爲阿里巴巴雲操作系統(Alibaba Cloud Linux),以更好地服務於雲上的廣泛用戶。

隨着龍蜥社區的發展,從 2020 年開始,我們圍繞開源社區產業協同共建機制,共同完善龍蜥操作系統。總的來說,我們的發展差異化最核心的基礎一直是立足於雲計算趨勢的發展,並不斷演進,以滿足國內的自主需求以及整個技術體系的發展需求。

我們的操作系統具備操作系統必備的核心要素,如穩定性和安全性。阿里雲上的龍蜥操作系統經過上百萬臺服務器的運行打磨,其穩定性顯而易見,相比我們所熟悉的開源版本具有更高的穩定性。同時,在安全性方面也進行了針對雲場景的優化。

龍蜥社區還積累了一個生態協同的優勢。例如,在國外發展成熟的操作系統中,存在停服和不同生態發展之間的差異和隔閡問題。而在我們的社區中,國際合作夥伴(如 Intel/ARM)和國內芯片廠商(如海光、飛騰、申威、龍芯、兆芯)積極參與合作,形成了良好的產業協作樣板。大家圍繞操作系統基礎進行軟、硬件協同共同研究,使我們共同研發的操作系統無論在通用服務器還是國產芯片服務器上運行,都能保證相應的硬件支持和優化。隨着國內生態的進一步發展,這方面的優勢和積累將得到更好的體現。

姜雨生:面對國內的芯片廠商,我們在提供支持的過程中進行了合作。這種合作是在我們的社區內部自發進行的,廠商也會提供一些兼容性方面的支持,畢竟他們可能需要進行一些開發工作。在這個過程中,我們社區的開源工作者們不斷構建相關內容以滿足需求,還是由廠商主導來支持代碼倉庫構建?

張鵬程:這是一個綜合發展的過程。首先,社區內部有一個完整的治理結構。我們提到了理事單位,國產芯片廠商大部分都參與其中,並負責相應的職責。在理事單位下面,還有一個技術委員會,由理事單位的代表組成,大家從技術角度參與進來。

這意味着芯片廠商確實在這個過程中擁有話語權,並參與討論。同時,通過一些特殊興趣小組(SIG)的方式,我們實際上創建了許多小型開源項目,大家在操作系統的範圍內進行合作。因此,我們將不同的芯片路線對應到不同的 SIG 合作上,以推動代碼的合作。當然,更廣泛的個人開發者也非常歡迎參與其中。

目前國產芯片的發展主要由芯片廠商主導,因爲他們需要考慮如何使硬件與操作系統相匹配,將其整合到軟件生態系統中。這是他們需要完成的一項重要任務。一旦這個飛輪開始轉動並且得到越來越多的應用和開發者的支持,這部分可能會有更好的基礎,然後可能吸引更廣泛的開發者羣體參與 SIG 組。這樣的結構有助於在這樣的基礎設施環境下,推動社區的產業協同共研,不斷地將其發展壯大,就像滾雪球一樣。

姜雨生:龍蜥在金融、交通、教育等多個領域幫助企業實現了操作系統遷移,在這些過往的遷移案例中,有哪些讓您印象深刻、特定場景下的遷移訴求?我們對應的解決方案是什麼?

張鵬程:確實每個客戶都是獨特的,無論是在我們的諮詢、交流,還是在共同開展項目方面,包括我在阿里雲接觸的客戶,都有特定的情況。從我們的角度來看,我們都有自己的能力和邊界,以及生態發展方式。因此,我們需要關注需求的共性和差異,以更好地開展工作。在用戶羣體中,我們主要關注的是保證操作系統的兼容性。如果兼容性存在不確定性,我們需要識別兼容性風險並進行相應的適配調整,以確保操作系統的順利運行。另外,對於遷移後的優化和運維管理方式,我們也需要思考如何處理。從容器設計的角度來看,這類需求具有共性。

爲了滿足這類共性需求,我們從社區的角度推動了一個名爲"遷移 SIG"的專項興趣小組。我們完成了一個名爲“社區運維工具”的項目,並與“遷移 SIG”和“運維 SIG”合作,將其打造成一個綜合平臺或工具集。它不僅包括滿足遷移評估、適配和驗證的自動化流程能力,還是一個組件化的平臺,提供系統運維管理和診斷能力,以及對問題的調優建議。因此,我們基於社區合作的成果,創建了一個升級版的 SysOM 2.0 平臺,滿足了遷移需求和遷移後的使用調優需求,而上層應用的適配則更多是個性化的需求。

通常情況下,我們希望通過社區合作的方式解決這些個性化問題。有時我們會與一些應用廠商進行合作,他們是應用的提供商,並且由於遷移的機會,與我們社區建立了聯繫。在應用層面,我們希望藉助這些應用廠商的專業知識來解決問題。解決客戶問題的同時,我們希望這些廠商與龍蜥社區建立更長期的合作關係。實際上,許多廠商在經歷了遷移案例後,已經成爲龍蜥社區的生態夥伴,並加入了我們的龍蜥社區生態發展計劃 - 龍騰計劃

姜雨生:在遷移過程中,我想了解您是否遇到了一些技術上的難點,哪些難點可能讓您頭疼很長時間,也可能困擾了整個團隊,需要花費大量時間來解決?

張鵬程:在遷移過程中,可以按照前面提到的三個階段,分享一些典型問題的經驗。首先是遷移評估階段,因爲國內用戶的評估環境多種多樣,非常複雜。硬件設備、部件的兼容性對操作系統的兼容性有很大影響,例如 RAID 卡、網卡等。在開始階段,很多用戶都會提出這些問題。爲了應對這些問題,我們藉助社區採用了一些兼容性驗證小工具,並通過推廣和積累逐漸建立了豐富的兼容性列表。我們希望通過這種方式儘早發現問題,應對碎片化的硬件生態。

在遷移過程中,更多的問題可能出現在每個系統環境上。老舊系統在升級過程中的成功率較低,或者在真正進行遷移的系統改動之後,由於環境的變化或重啓,系統的運行狀態可能不如之前正常。這些問題在運行過程中普遍存在。解決這些問題並沒有靈丹妙藥,最好的方式是提前進行系統測試驗證,確保在生產環境中沒有充分驗證之前,不要貿然進行調整。在整個項目管理流程中,需要加強驗證工作。當然,如果是新系統或者有系統升級的機會,結合項目會有事半功倍的效果。

第三種情況是遷移後的問題排查,通常涉及性能提升。有時候我們會發現,在升級後,性能可能下降了 50% 甚至更多,這時我們需要依賴一些調優工具。在社區中,我們積累了一些調優工具,例如我們自研的 Keentune 工具,它結合社區環境提供調優診斷和性能優化建議。這些都是常見的頭疼問題,需要結合工具和經驗來解決。

04 開發者如何擁抱變化?

姜雨生:對於企業開發者而言,企業在完成操作系統遷移後,開發者在後續的工作中會發生哪些變化?

張鵬程:這確實是一個現實情況。我認爲遷移本身可以分解爲兩大類型。一種是僅進行操作系統的變更,爲了解決原有擔憂 CentOS 所帶來的停服風險,而解決系統更換的問題。對於這種情況,從用戶的角度來看,我們的開發者和系統管理員決策方面無需過多擔心,因爲原有軟件生態的兼容性相對較高,具有一致性。所以對於用戶來說,他們原有的運維管理工具、開發工具,包括腳本等,基本上都可以正常運行,不會產生太大的意外。

另一種遷移往往伴隨着架構升級,這種架構升級可能體現在前面提到的國內情況中,通常伴隨着本土化生態的替代。這可能導致跨架構的情況,例如從原來使用的 x86 體系,經過遷移和升級,開始使用 ARM 甚至一些用戶接觸到了龍芯或申威等架構。在這種情況下,原有的工具和軟件需要與新架構相結合進行相應的生態調整。

還有一種情況是朝着雲原生化方向發展。例如從物理機維護或虛擬機逐漸轉向容器和 PaaS 層的使用。對於開發者來說,不僅操作系統發生了變化,開發範式和運維管理方式也可能發生變化,整體的工作流都會產生影響。

姜雨生:國產操作系統替換浪潮下,對於身處其中的開發者而言,您認爲最關鍵的、最需要掌握的技能是什麼?

張鵬程:我認爲今天的技術浪潮不僅限於操作系統領域,我們所看到的是雲計算不斷髮展的浪潮,以及國產化趨勢下的新興趨勢。最近,AI 大模型也引發了人們對人工智能的期待,這些都是開發者面臨的時代機遇。

因此,在這個過程中,我們可以不僅僅侷限於參與操作系統社區的工作。誠實地說,能夠參與操作系統級別開發的開發者是非常有限的,但更廣泛的開發者羣體在進行應用和系統開發方面發揮着重要作用。因此,我們歡迎大家參與龍蜥社區的使用。龍蜥社區不僅僅是一個操作系統,它提供了編程語言的編譯環境,以及系統管理和優化工具,這些工具對開發者來說非常實用,可以幫助他們完善自己的工作。

所以我想借這個機會進行一點宣傳,我們歡迎讀者多關注和了解龍蜥社區,參與其中的活動,如前面提到的 SIG 小組或 Meetup 活動。這些活動能夠幫助大家瞭解龍蜥社區的成員,瞭解他們最近在忙什麼,以及一些新興創新產品。這些內容可能與我們日常工作相關,如果能對大家有所幫助,那麼大家可以逐漸參與到龍蜥社區的活動中來。

05 開源會成爲國產操作系統的主流模式嗎?

姜雨生:正如我們之前討論過的,對於龍蜥的產品生態,有一個開源版本,還有一個企業級版本。在這樣的生態下,目前龍蜥的主要方向是怎樣的?從整體來看,國內操作系統未來的趨勢可能會以開源爲主,還是以商業化模式爲主呢?開源生態建設是否會成爲未來的主流趨勢?

張鵬程:在開源和閉源、開源和商業之間的話題上,隨着開源的發展,它們之間確實像 DNA 的雙螺旋一樣共同發展。簡單來說,我認爲開源肯定是發展的主流力量。

具體到您提到的開源和商業之間的比重,我覺得開源依賴於一個強大而健康的商業模式,以確保開源不會變得無根之木。參與開源的人除了出於熱愛之外,在企業角度上,他們也從中獲得商業利益的滿足,纔會更願意投入開源的發展。因此,我認爲總體而言,追求商業發展的企業會成爲開源的主導力量。就使用方面和未來發展的預測而言,我認爲供給側和需求側都會影響其發展的趨勢和比重

從供給側來看,開源方式是必不可缺的。就像我之前提到的,如果幾個硬件廠商或芯片廠商各自發展各自的操作系統,構建起生態將變得更加困難。然而,基於像龍蜥社區這樣的操作系統層面的中轉,硬件廠商可以在下一代芯片演進時基於這個中轉來嫁接更廣泛的軟件生態,這樣是符合利益的。因此,從供給側來看,開源爲大家提供了一個促進參與開源並從中獲益的過程。

而從需求側來看,它與我們面對的廣泛用戶羣體的需求有關。一些用戶可能 IT 預算較低,或者對業務連續性的要求不高,對他們來說,選擇開源已經足夠。或者在開源的基礎上,疊加其他技術層面的解決方案,也能擺脫對單一節點的需求。另外,一些企業在業務連續性、穩定性和安全性方面有較高要求,這就催生了商業版本的價值。商業版本可以由商業廠商提供更充分的服務、更好的升級以及專家資源,這些都有助於企業解決自身問題。

總體來說,開源和商業版本是相輔相成的。開源作爲背後的動力基礎,使得參與其中的羣體在商業循環中有更強的動力繼續貢獻開源,並進一步獲得回報。這是我們的期望。

龍蜥目前主要的定位是什麼,以及國內操作系統未來的趨勢,是以開源爲主還是商業化模式爲主,我認爲這是一個相互影響的過程。龍蜥作爲一個開源操作系統,在開源社區中發揮着重要的作用,並通過健康的商業模式支持其發展。我們希望在未來能夠將兩者並駕齊驅,相輔相成,共同發展。

點擊立即免費試用雲產品 開啓雲上實踐之旅!

原文鏈接

本文爲阿里雲原創內容,未經允許不得轉載。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章