最近幾年,DevOps原則和工具的應(yīng)用已經(jīng)改變了電信行業(yè)的服務(wù)交付流程。在2017年DevOps企業(yè)峰會(huì)倫敦大會(huì)上,愛立信公司發(fā)表了演講。他們的持續(xù)交付論文概括了他們面臨的挑戰(zhàn)以及他們?nèi)绾慰朔@些挑戰(zhàn)。
電信系統(tǒng)供應(yīng)商在部署系統(tǒng)時(shí)面臨的困難在規(guī)模、監(jiān)管限制、健壯性、可用性需求方面是獨(dú)一無(wú)二的。之前,在一個(gè)開發(fā)周期中,愛立信需要花7個(gè)周測(cè)試、6個(gè)月部署、2到3年開發(fā),現(xiàn)在,他們只需要90分鐘測(cè)試、3個(gè)周部署、6個(gè)月開發(fā)。電信軟件的任何新版本都會(huì)向多個(gè)網(wǎng)絡(luò)運(yùn)營(yíng)商推出。他們?cè)谧畛醪捎眠@種比較新穎的實(shí)踐方法時(shí)遇到了困難,但隨著時(shí)間推移有了改善。一個(gè)版本從正式發(fā)布到在運(yùn)營(yíng)商的節(jié)點(diǎn)上線之間的時(shí)間逐漸縮短。特性發(fā)布頻率為每月一次,而網(wǎng)絡(luò)運(yùn)營(yíng)商可以選擇一月一次部署,也可以選擇一季度一次。
圖片來(lái)源:http://cloudpages.ericsson.com/continuous-delivery
開發(fā)模型是首先需要改變的——從多個(gè)并行版本鏈轉(zhuǎn)為“單軌(single track)”。第一個(gè)采用這種變革的產(chǎn)品是GPRS服務(wù)支持節(jié)點(diǎn)——移動(dòng)管理實(shí)體軟件——然后是“演進(jìn)型分組網(wǎng)關(guān)(Evolved Packet Gateway)”。演進(jìn)分組核心是一個(gè)電信框架,其目標(biāo)是在4G網(wǎng)絡(luò)上提供統(tǒng)一的語(yǔ)音和數(shù)據(jù)服務(wù),而不是分別針對(duì)數(shù)據(jù)和語(yǔ)音采用數(shù)據(jù)包交換和電路交換。
轉(zhuǎn)型過(guò)程從2009年開始。首先開始的是流程變革——像小型跨職能團(tuán)隊(duì)、產(chǎn)品經(jīng)理任務(wù)分配、Scrum管理員任命。他們引入了精益流程。類似代碼提交頻率這樣的指標(biāo)被用來(lái)衡量他們的效率。然而,這導(dǎo)致了這些指標(biāo)的誤用。在部分變革顯示出良好的前景后,領(lǐng)導(dǎo)者就有了增加團(tuán)隊(duì)數(shù)量的壓力。這導(dǎo)致了更深層次的問題,包括快速增長(zhǎng)的團(tuán)隊(duì)以及低估了平臺(tái)變革所要具備的條件。他們的平臺(tái)不是對(duì)此有利的云就緒平臺(tái)。開發(fā)環(huán)境和CI實(shí)踐方法也還不成熟,加之程序結(jié)構(gòu)也不成熟——這導(dǎo)致他們無(wú)法很好地監(jiān)控團(tuán)隊(duì)的進(jìn)度。團(tuán)隊(duì)的整體速度比以前慢了。2015年的一次盤點(diǎn)活動(dòng)暴露出了這些問題。
他們進(jìn)行了一些變革來(lái)解決這些問題。相對(duì)于速度,質(zhì)量被賦予更高的優(yōu)先級(jí),而且特別重視質(zhì)量驗(yàn)收測(cè)試。他們?cè)黾恿艘粋€(gè)引入新團(tuán)隊(duì)及新成員的新流程。在工具方面,團(tuán)隊(duì)開始借助Kernel Virtual Machine(KVM)實(shí)現(xiàn)虛擬化,這將他們的升級(jí)時(shí)間由22個(gè)小時(shí)縮減為3個(gè)小時(shí)。KVM是一個(gè)框架,是一個(gè)運(yùn)行在Linux內(nèi)核上的虛擬層,同時(shí)也是愛立信云平臺(tái)的重要組成部分。他們還采用了持續(xù)集成框架,其中一部分是基于Docker的。他們還采用了一個(gè)集中式的硬件分配模型,根據(jù)請(qǐng)求分配資源。這簡(jiǎn)化了管理,從整體上提高了硬件的使用率。組織變革包括項(xiàng)目管理實(shí)踐、更好的規(guī)劃、特性團(tuán)隊(duì)、每日站立會(huì)議以及分享知識(shí)的培訓(xùn)(指導(dǎo))。
愛立信的其他產(chǎn)品也已經(jīng)采用了CD模型。這是電信行業(yè)大趨勢(shì)的組成部分,傳統(tǒng)的服務(wù)交付方法已經(jīng)讓位于DevOps。這也是由先前基于硬件的網(wǎng)絡(luò)服務(wù)功能(NFV)的軟件虛擬化所推動(dòng)的。這簡(jiǎn)化了DevOps工具和實(shí)踐的應(yīng)用,因?yàn)樵絹?lái)越多的功能改由軟件實(shí)現(xiàn)。
查看英文原文:Continuous Delivery of Telecom Software at Ericsson