王峰+趙慧玲+楊明川
摘要:“開放化”和“軟件化”是運營商網絡重構的重要目標,開源軟件技術是運營商網絡重構的重要技術手段。認為當前運營商領域的開源技術體系正在日益完善中,但是在軟件能力、知識產權、社區運營等方面仍存在一定風險。運營商需要將開源技術的引入提升到企業戰略的高度,強化開源管理的重點舉措,彌補在網絡發展和業務創新中的軟件短板,并遵循完善軟件研發模式,深度參與社區建設,實現重點領域突破的工作步驟,有序推進開源技術在現網的規模引入。
關鍵詞:運營商;開源軟件;網絡重構;管理策略
開源軟件是一種源代碼可以被任意獲取的計算機軟件,這種軟件的版權持有人可在許可證協議規定下保留部分權利,進而允許軟件被任何人用于任何目的的學習、修改和發布[1]。開源軟件有助于降低軟件研發的進入門檻和采購成本,縮短開發周期,提升軟件代碼生產率,是推動互聯網產業飛速發展的重要動力。
網絡的“軟件化”和“開放化”是當前運營商網絡重構的主旋律。在這一背景下,開源軟件日益獲得運營商的關注。傳統的運營商網絡發展模式具有建設周期長、業務創新受廠商設備限制等問題,網絡一旦部署即相對“固化”,因此亟需借助軟件技術支持網絡架構和能力的靈活調整,以適應瞬息萬變的互聯網時代發展需求。同時,互聯網應用服務(OTT)業務的蓬勃發展使得運營商面臨被全面管道化的風險,運營商為了在降低成本的同時拓展新的業務領域和價值,實現與互聯網廠商的平等對弈,就必須要掌握與之相同的工具和武器,開源軟件技術無疑是其中非常重要一個方面。借助開源的力量,運營商有望克服現有網絡中存在的大量私有、封閉的接口和協議導致的難題,推動軟件系統之間的接口開放化和協議通用化,實現網絡資源和能力的更大程度的開放。
當前,主流運營商都將基于開源技術打造自身的軟件領域核心競爭力作為工作重點,并取得了一定成效,例如:AT&T計劃將現有開源軟件所占比例從5%提升到50%,包括基于開源OpenStack技術著手建立AT&T Integrated Cloud平臺等[2]。中國的三大運營商也同時在開源領域發力,例如:中國移動聯合Linux基金會發起OPEN-O編排器項目,主導發起業界首個基于容器的開源網絡功能虛擬化(NFV)項目OpenRetriever等;中國聯通和ON.Lab(開放網絡實驗室)共同推進開放網絡操作系統(ONOS)控制器、端局數據中心化(CORD)項目等;中國電信在其CTNet 2025網絡架構白皮書[3]中,明確提出在網絡重構過程中將優選開源軟件技術,實現研發運營一體化,并已經在主流開源社區建立了重要影響力,例如成功入選OpenStack開源社區的黃金會員。
在業界的推動下,開源也得到了眾多標準化組織特別是以實現“互操作”為目標的通信網絡標準化領域的重視。這主要是因為受到各方利益限制,傳統的標準制訂過程過于冗長,并且最終的標準文本通常是僅能滿足基本互連互通需求的最小子集;而開源軟件可以以事實標準的身份出現,其開放性能夠加速標準的制訂和驗證,并能避免讀者在標準文字描述上的理解差異。其中,最典型的是軟件定義網絡(SDN)領域最具影響力的標準化組織開放網絡基金會(ONF),它不但率先提出“from pdf to python”標準化工作策略,而且還通過和ON.Lab的整合,全面推進文本標準和開源代碼的協同制訂和發布[4]。
1 開源軟件技術體系
開源軟件能夠有效地滿足軟件研發在高效率、低成本等方面的需求,并已經滲透到各行各業的方方面面,乃至很多新興技術從誕生伊始就和開源項目緊密綁定。對于運營商而言,需要更多關注在網絡、數據中心、業務平臺、IT系統以及終端等領域的開源技術發展,建立和完善相應的技術體系,為開源技術的選型、整合、應用和優化提供基礎。
1.1 網絡領域開源技術
網絡是運營商賴以生存的根基,開源軟件的理念主導了當前網絡走向開放化、軟件化的趨勢,主要體現在利用SDN、NFV等技術的網絡演進和改造。
(1)在SDN領域,開源軟件主要體現在控制器層(OpenDaylight、ONOS等開源SDN控制器)和應用層(OpenStack作為應用驅動SDN資源);同時,在網絡轉發設備層,開源的虛擬網絡設備(Open vSwitch)和以“X86處理器 + Linux操作系統”為基礎的白牌交換機等也日益獲得關注。
(2)在NFV領域,網絡功能將以基于X86服務器虛擬化的方式承載,因此開源的虛擬化平臺(基于內核的虛擬機(KVM)、Docker)及其管理平臺(OpenStack、Kubernetes)成為主流;同時,為了彌補X86服務器在網絡處理上的不足,以開源的數據平面開發工具(DPDK)技術為代表的網絡數據包處理加速技術發揮了巨大的作用。
(3)運營商越來越關注編排層在網絡的架構演進、資源協同和業務創新中的重要作用,因此以OpenMANO代表的開源編排器項目是當前網絡開源領域的熱點。
1.2 數據中心領域開源技術
數據中心是運營商的重要資產,也是運營商打造創新業務的基礎,其開源引入的重點在于以云計算、大數據為代表的互聯網技術。
(1)在云計算方面,從底層基礎設施的各類開源虛擬化技術(KVM計算虛擬化技術、Ceph存儲虛擬化技術、MidoNet網絡虛擬化技術)及其開源的資源管理平臺(OpenStack),到中間的平臺層開源軟件技術(CloudFoundry),再到上層將各種各樣的開源應用軟件作為軟件即服務(SaaS),開源軟件已經實現了全堆棧覆蓋。另外,以Docker為代表的容器技術是當前云計算領域關注的焦點,它能夠在基礎設施即服務(IaaS)層面支持更便捷的資源按需供給,并作為平臺即服務(PaaS)平臺為“微服務化”應用創新提供支持。
(2)在大數據方面,Hadoop開源平臺一度被視作大數據處理技術的事實標準,而在后續演進中的實時計算框架(例如Spark)、流處理計算框架(例如Storm)、圖計算框架(例如Neo4j),乃至被稱作Hadoop 2.0的先進大數據計算框架都是來自開源社區。當前,在海量數據分析和應用的前沿,也有大量的開源項目推動技術發展,例如:深度學習領域的TensorFlow、Caffe、Deepnet等。
1.3 業務平臺及IT系統領域開源技術
業務平臺及IT系統是運營商較早引入開源的領域,主要體現在以Linux + Apache + MySQL + PHP為典型代表的開源軟件體系,以及在軟件系統開發中引入的各種開源軟件框架(Struct、Spring、Hibernate)。同時,在處理業務數據時,為了提升系統的安全性、可靠性和擴展性,業務平臺通常還會引入開源的防火墻(iptables)、負載均衡(LVS、Nginx)、系統監測控制(Zabbix)等軟件設備。當前,隨著業務訪問量和數據處理量的激增,越來越多的開源分布式處理技術成為業務平臺的必需,例如Redis分布式緩存、MongoDB分布式數據庫、Swift分布式對象存儲以及用于分布式應用系統協調的Zookeeper等。
1.4 終端領域開源技術
終端領域中的開源技術最典型的就是Android系統,它借助開源的力量,構成完備的生態體系,從而一舉戰勝了閉源的iOS系統,占據了移動終端市場的廣闊市場,并將在后續繼續成為該領域的霸主。同時,以OpenWRT為代表的開源嵌入式系統,在家庭網關等領域也被廣泛應用。當前,物聯網是終端領域的熱點,這同樣也體現在開源項目的競爭上,例如:Google發布的物聯網底層操作系統Brillo等。
2 開源管理重點舉措
商業購買和自主研發一度是運營商軟件體系中最主要的研發途徑;但是如果單純依賴商業軟件,其特有的封閉性將使得運營商可能被軟件廠商“綁架”,從而喪失議價權,造成采購成本的提升。同時,如果商業軟件中植入有惡意代碼,也很難被偵測。然而,如果運營商采用完全自主研發,雖然能夠在業務適配度、代碼掌控力、軟件安全性等方面獲得較高保證,但是其弊端在于代碼研發過程中的質量風險以及相關軟件研發隊伍的低利用率等問題。
開源軟件的興起為運營商的軟件研發提供了新的模式,主要體現在其開放的特性足以消除用戶對采用封閉商業軟件的顧慮;其架構和實現在開源社區的群力打造下不斷完善,有助于緩解獨力研發的壓力。需要引起注意的是開源軟件在其帶來便利優勢的同時也存在著不可小覷的風險,需要使用者在管理上建立更加全面細致的舉措。
2.1 開源軟件風險分析
開源軟件的首要風險來自于軟件能力方面。開源軟件依托相對松散的社區提供代碼維護和支持,因此在質量保障、運行穩定性等方面容易出現問題,例如:項目進度難以得到保障乃至出現項目中止的情況。同時,開源軟件缺少對運維的完備支持,需要用戶自行部署和維護,導致較高的運營成本(OPEX)。特別是對于軟件研發能力相對較弱的運營商而言,在面對部分開源軟件代碼質量差,軟件升級易導致版本不兼容,軟件代碼大量冗余,性能和穩定性無法滿足業務需求等問題時,需要耗費大量的人力物力,從而削減了開源引入的優勢。因此,運營商在選取開源軟件時,需要充分借鑒業界已有的最佳實踐,選用合適的軟件版本,并隨時跟蹤社區進展,檢測新版本后向兼容性,同時根據需求重構開源軟件關鍵環節,在掌控代碼細節的同時定制開發,滿足業務實際需求[5]。
開源軟件的另一個風險來自于知識產權。雖然開源軟件源代碼的公開性使得使用者可以非常容易獲得軟件,但是它和閉源商業軟件一樣,也是受到著作權保護的作品。其中,許可證制度就是開源軟件在其自身發展過程中形成的知識產權管理方法。不同許可證在開源約束的嚴格程度上有所差別,更加寬松的開源許可證要求將更加適合于商業應用。因此,運營商應培育熟知開源知識產權保護法律的人才,建立開源軟件的引入應用的管理審核機制,在應用開源軟件前務必熟知其許可證授權模式,進而通過積極參與各類型開源社區的運作,廣泛了解開源應用案例,對開源知識產權的糾紛進行剖析和熟知,避免陷入產權風險[6]。
最后,開源社區的建立和開源軟件的研發在當前受到了越來越多的商業利益的驅動,最典型的體現是眾多巨頭加入并主導社區工作。為了確保自身利益不受侵害,并增強產業影響力,運營商的軟件研發團隊必須能夠深度掌控開源代碼實現,以確保軟件代碼的質量,并積極參與社區建設。另外,必須承認的是憑借多年的研發和市場經驗,商業軟件確實在很多場合中具有開源技術不可比擬的優勢。
2.2 開源管理機制重點舉措
開源軟件能夠有效地彌補運營商在網絡發展和業務創新中“軟件缺位”的短板,形成一套成熟的基于開源的軟件應用和發展機制,涵蓋軟件架構的設計、軟件開發與協作流程、軟件部署、軟件版權管理、軟件運維等各個方面,已經成為運營商發展的必需。其中,運營商開源管理機制的重點舉措包括:
(1)將開源軟件研發實踐提升到企業戰略地位。運營商應把參與開源社區的重要性提升到與傳統參與標準制訂的同等甚至更高地位,一方面有利于將自己的訴求體現到開源軟件中,另一方面也有利于培養一支真正深入開源軟件核心開發的隊伍。
(2)培育企業文化、轉變企業生產模式。運營商要應用開源軟件,首先必須有濃厚的軟件開發氛圍、有相應的軟件研發流程支撐、有很好的軟件工程師激勵手段以及軟件工程師培育計劃。
(3)培養開源軟件架構師。核心開源軟件都有龐大社區協作研發、市場運作、合作推廣模式,開源軟件的引入絕不僅是利用開源軟件代碼,而是要培育既熟悉核心技術又熟悉開源運作的架構師隊伍,能夠基于需求和現狀對開源技術進行正確選擇,并充分借助社區力量和與生態系統協作,帶領團隊開展基于開源軟件的研發和集成。
(4)培養開源軟件研發人才隊伍。開源軟件的引入和應用并非不需要自身具備強大的軟件研發能力,相反開源軟件只是促進自主研發的重要手段,運營商應轉變傳統模式,堅持自主研發,培養一支強大的軟件研發團隊,能夠將開源軟件真正應用到企業的業務場景中,并且結合現網應用進行迭代開發和持續優化。
(5)發揚開源精神。積極在已有開源軟件的基礎上進行創新、擴展和優化,并且將研發成果回饋到開源社區,提升技術影響力。在開源模式中,企業或個人共享越多,越會得到社區的認可,從而具有越高的地位,乃至主導技術的發展和社區的運作。
通過上述舉措的實施,運營商將能更好地掌控開源軟件這一“重型武器”,實現更低的軟件研發部署成本,更快的業務創新和客戶響應速度,更好的人才成長環境以及更優的客戶體驗保障。
3 開源工作建議
開源軟件在現網的規劃和引入不能一蹴而就,運營商需根據自身的發展需要和能力水平制訂切實的實施步驟。總體而言,運營商開源工作的開展主要包括完善軟件研發模式、深度參與社區建設、實現重點領域突破等3個階段。
3.1 建立基于開源軟件的研發模式
加速開源軟件技術的學習、研發和引入過程,運營商必須遵循開源軟件技術的特點調整現有軟件研發模式。開源軟件具有項目起點高,進入門檻低,利用眾籌和敏捷開發等特點。與傳統的商業軟件提供部署和運維服務不同,開源軟件需要用戶自行完成相關工作,并根據業務需求自主開展二次開發。雖然開源軟件有效地縮減了軟件開發周期和采購成本,但是它要求用戶建立專業的軟件開發團隊,并為軟件的運行維護支付必要的成本。
基于開源軟件的研發模式需要根據業務需求選取最合適的開源項目,充分借鑒開源社區中已有的軟件架構和代碼實現,進而進行必要的重構,以切實保證開源軟件的應用效果,可行的方案包括在軟件設計階段,利用開源軟件搭建初始系統進行技術驗證與研發評估;在迭代開發階段,將開源模塊集成到軟件系統中以縮短研發周期,在全面檢查開源代碼質量的同時針對業務環境變化重寫相關開源代碼;在軟件提交階段,注意在完成軟件系統交付的同時,將修訂后的開源代碼提交給社區,并考慮將研發過程中的其他成果陸續回饋社區。
3.2 深度參與主流開源社區建設
根據業務發展和應用實踐的需要,運營商可在重點領域選取合適的開源社區進行探索,積極參與社區討論和貢獻開源代碼,逐步熟悉社區運作經驗并建立社區影響力,進而為更廣泛領域的開源軟件技術引入積累經驗。
以中國電信自主研發的“藍存”分布式對象存儲為例[7],它是以開源的Ceph為核心的分布式對象存儲產品。與其他相關的開源技術相比,Ceph在技術成熟度方面具有優勢,能夠滿足海量、高并發的數據訪問需求。在研發過程中,藍存團隊發現開源社區提供的Ceph軟件在支持規模運營方面存在不足,從而自主研發了資源管控門戶、用戶存取權限控制、文件接口協同高可用等關鍵技術,并積極和社區溝通,嘗試將相關的代碼回饋給開源社區。同時,藍存在研發中涉及到了Ceph核心系統與Zabbix、Keepalived等開源技術的整合,相關的經驗也陸續貢獻給社區,這些都是深度參與社區建設的必要活動。
3.3 在重點開源領域實現突破
開源軟件通過建立“事實標準”的方式正在迅速取代傳統的書面標準的地位,因此以建立開源社區的方式樹立產業地位,已經成為業界的共識。當前,“軟件定義一切”已經成為主流,軟件將在各個方面發揮其前所未有的作用,其中必將會涉及運營商能夠占據主導的領域。因此,運營商需要把握這一機會,鞏固既有優勢,引導產業發展。
運營商在網絡領域擁有旁人無法比擬的優勢,而圍繞這一核心開展開源軟件技術研發是必然方向。當前,上層網絡創新業務和底層網絡基礎設置之間的協同是業界共同關注的焦點,它也是運營商為用戶提供支持“隨選網絡”等創新業務的NaaS的重要掌控點,因此與該方向相關的網絡編排器、云管理平臺、網絡控制器等開源項目,都需要運營商的主導和參與。運營商已經在相關項目上發揮了重要的引領作用,例如制訂NaaS服務需求、設計SDN控制器北向接口等等,如果后續將相關成果整合到相應的開源軟件項目中,將更有助于強化運營商在網絡產業中的主導地位,并將影響力擴展到其他開源社區中。
4 結束語
開源軟件技術的研發和實踐是運營商網絡重構的重要手段。通過全面深入的調研和評測,運營商可以從主流的開源技術體系中合理選取開源技術方案,并結合自身需求開展以開源為核心的自主研發,加快軟件系統的上線和優化,增強核心技術掌控,建立產業影響力。
但是,開源軟件技術的深入學習、全面掌握和順利應用絕非一日之功。當前,運營商應該抓住開源軟件的發展機遇,從技術研究、產品開發、運營模式、人才培養、企業文化等多方面進行變革,充分利用開源軟件的既有優勢,才能“站在巨人的肩膀上”,取得更長足的進展。
參考文獻
[1] Open-source software [EB/OL]. [2017-01-18](2017-03-06).https://en.wikipedia.org/wiki/Open-source_software
[2] AT&T Wants 50% of Its Software to Be Open Source [EB/OL]. [2016-01-05] (2017-01-20). https://www.sdxcentral.com/articles/news/att-wants-50-of-its-software-to-be-open-source/2016/01
[3] 中國電信集團公司. CTNet 2025網絡架構白皮書[R/OL]. [2016-07-11] (2017-01-12). http://www.chinatelecom.com.cn/news/06/bps/
[4] Open Networking Foundation. ONF Review [EB/OL]. [2016-12] (2017-01-11). https://www.opennetworking.org/about/onf-overview
[5] 趙慧玲. 網絡重構及其挑戰[C]//2016全球網絡技術大會(GNTC), 2016
[6] 開源中國社區. 如何為你的開源項目選擇一個合適的開源協議[EB/OL]. [2016-07-07](2017-01-03). https://www.oschina.net/news/74999/how-to-choose-a-license
[7] 中國電信云計算實驗室. 藍存分布式對象存儲[EB/OL]. [2017-01-22](2017-01-20). http://cloudlab.ctbri.com.cn/