免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
如何實(shí)現(xiàn)7*24小時(shí)靈活發(fā)布?阿里技術(shù)團(tuán)隊(duì)這么做

阿里妹導(dǎo)讀:研發(fā)效能分為兩塊,一是用技術(shù)的更新來提升效率;二是提高整個(gè)技術(shù)生態(tài)中的協(xié)同效率,激發(fā)技術(shù)活力。阿里巴巴技術(shù)團(tuán)隊(duì)在此基礎(chǔ)上要實(shí)現(xiàn)的終極目標(biāo)是打造7*24小時(shí)靈活發(fā)布的通道,以及提供更快的業(yè)務(wù)代碼迭代能力。今天,阿里巴巴高級(jí)測(cè)試開發(fā)專家傲野為你帶來關(guān)于研發(fā)效能的一些思考,希望對(duì)你有啟發(fā)。

7*24小時(shí)發(fā)布窗口的實(shí)現(xiàn)其實(shí)并不簡(jiǎn)單,受限于很多因素。我簡(jiǎn)單地進(jìn)行了分解。

一、系統(tǒng)

先從最基礎(chǔ)的開始說,當(dāng)一個(gè)創(chuàng)業(yè)團(tuán)隊(duì)只有幾個(gè)人,一兩個(gè)系統(tǒng)的情況下,是可以不考慮研發(fā)效率這回事的。因?yàn)椴淮嬖谙到y(tǒng)間的依賴,系統(tǒng)內(nèi)的依賴也完全在一個(gè)可控的范圍內(nèi),本地起一個(gè) Tomcat 或 Apache 就能開發(fā)、調(diào)試。另外再加上團(tuán)隊(duì)成員之間的高頻交流,基本上可以實(shí)現(xiàn)隨時(shí)隨地,想發(fā)就發(fā)的要求。

當(dāng)業(yè)務(wù)逐漸復(fù)雜,開發(fā)人數(shù)擴(kuò)展到10幾個(gè)人時(shí)。提效的第一步是理清系統(tǒng)內(nèi)的依賴關(guān)系,并促進(jìn)角色的專業(yè)化。這也是大家所熟知的MVC,通過對(duì)視圖、模型、控制器的分離,對(duì)系統(tǒng)內(nèi)的邏輯進(jìn)行分層。把復(fù)雜的代碼邏輯下沉到Model層,而視圖層交由更專業(yè)的前端來負(fù)責(zé)。

當(dāng)然,在系統(tǒng)內(nèi)部仍然有一些擴(kuò)展的空間,比如模塊化,為不同的業(yè)務(wù)劃分bundle等。但仍然沒有突破本身的瓶頸,而且單一的系統(tǒng)也很難突破機(jī)器的特性。

二、架構(gòu)

當(dāng)技術(shù)團(tuán)隊(duì)已經(jīng)達(dá)到幾十個(gè)上百人的規(guī)模,當(dāng)業(yè)務(wù)已經(jīng)無法通過單一的應(yīng)用來進(jìn)行水平擴(kuò)展時(shí)。分布式的架構(gòu)是解決問題的有效手段。在07年時(shí),阿里集團(tuán)就在推進(jìn)SOA化,無論是淘寶還是支付寶,原來的單一應(yīng)用不斷被拆分出來,也在此時(shí),承載服務(wù)化中樞的消息等中間件蓬勃發(fā)展。

這種方式實(shí)現(xiàn)了系統(tǒng)之間的解藕,激活了技術(shù)人員的生產(chǎn)力,同時(shí)增大了系統(tǒng)的彈性,實(shí)現(xiàn)了服務(wù)能力的低成本水平擴(kuò)展。但因?yàn)閺?fù)雜的調(diào)用關(guān)系,對(duì)于某一個(gè)貫穿多個(gè)應(yīng)用的項(xiàng)目來說,無疑增加了集成的成本和質(zhì)量的風(fēng)險(xiǎn)。

同時(shí),如果對(duì)應(yīng)用規(guī)模不加以規(guī)劃和控制的話,會(huì)導(dǎo)致應(yīng)用數(shù)的不斷擴(kuò)張,從而影響到整體的開發(fā)維護(hù)成本。

三、配置管理

在5 - 10年前,阿里是有一個(gè)專門的崗位叫SCM的,負(fù)責(zé)技術(shù)團(tuán)隊(duì)內(nèi)的代碼管理,配置項(xiàng)管理和應(yīng)用部署。特別是在服務(wù)化初期,開發(fā)人員的coding生產(chǎn)力被極度釋放,應(yīng)用數(shù)出現(xiàn)一個(gè)井噴,對(duì)配置管理的需求不斷增強(qiáng),并最終促使了配置管理的變革。

在講配置管理前,先講講代碼分支管理機(jī)制。這也是很多研發(fā)模式變革的起點(diǎn)。在此,筆者先表達(dá)自己的觀點(diǎn):沒有對(duì)與錯(cuò)(先進(jìn)與落后)的代碼分支管理機(jī)制,只有適不適合自己團(tuán)隊(duì)當(dāng)下以及未來發(fā)展的管理模式。

先從大的層面上來說,我們當(dāng)前所討論的都是為了解決并行開發(fā)的問題,即有多個(gè)項(xiàng)目或團(tuán)隊(duì)對(duì)于同一系列應(yīng)用進(jìn)行功能開發(fā)。如果僅僅是串行開發(fā),是基本不用太考慮代碼管理策略。

1、分支開發(fā)、主干發(fā)布。核心理念是使用固定的主干作為集成分支。使用分支進(jìn)行開發(fā),在合并到主干分支后生命周期終止。當(dāng)然除此之外,還有緊急發(fā)布分支等。

2、分支開發(fā)、分支發(fā)布。發(fā)布成功后執(zhí)行寫基線操作,確保主干的及時(shí)更新和穩(wěn)定。同時(shí)分支發(fā)布的方式不依賴于大集成,保持很強(qiáng)的靈活性。

體現(xiàn)在項(xiàng)目上的流程為:

3、其他模式:主干開發(fā)、分支分布等。由于我們并不常用,所以略過。

平臺(tái)化的支持:早期配管的人肉化,也造成了代碼集成和部署的效率很低。不同角色之間的協(xié)同靠人來完成。因此在那個(gè)背景下,還需要一個(gè)配套的PMO組織來保障。在這樣一個(gè)歷史背景下,Aone(對(duì)外版本是云效)也孕育而生,從平臺(tái)化的角度來解決研發(fā)過程的協(xié)同、構(gòu)建、集成和測(cè)試幾個(gè)復(fù)雜的過程。為了更清楚的了解那個(gè)時(shí)期的痛點(diǎn),我找了2009年左右的Aone的藍(lán)圖,可以管中窺豹(這個(gè)時(shí)期我并沒有親自經(jīng)歷過,只是針對(duì)于當(dāng)時(shí)的前輩做了些訪談和收集了一些資料)。我猜想也正因?yàn)檫@條道路面向未來解決問題造就了現(xiàn)在的Aone平臺(tái)。

 四、測(cè)試

當(dāng)一個(gè)技術(shù)團(tuán)隊(duì)小,負(fù)責(zé)應(yīng)用少以及業(yè)務(wù)的用戶群體少時(shí),是完全可以不用測(cè)試的。只有當(dāng)業(yè)務(wù)發(fā)展到一定階段,用戶對(duì)于質(zhì)量的容忍程度越來越低時(shí),才引入專業(yè)的測(cè)試角色。其次,在軟件離線交付階段,由于軟件的召回成本很高,所以對(duì)于測(cè)試是不遺余力的,但隨著在線交付時(shí)代的深入,測(cè)試團(tuán)隊(duì)是否能夠快速的實(shí)現(xiàn)軟件質(zhì)量的評(píng)測(cè)反饋,成為一個(gè)非常關(guān)鍵的問題。而也決定著,在打通上述各個(gè)環(huán)節(jié)后,7*24小時(shí)軟件持續(xù)交付通道是否能夠真正實(shí)現(xiàn)。

在講之前,我們?cè)倩仡櫼幌律蟼€(gè)章節(jié)。Aone平臺(tái)實(shí)現(xiàn)了開發(fā)代碼、配置、應(yīng)用部署的在線化,現(xiàn)在只剩下最后的一環(huán):測(cè)試。從2010年以來,B2B的測(cè)試團(tuán)隊(duì)就希望可以把分層自動(dòng)化平臺(tái)跟Aone研發(fā)協(xié)作平臺(tái)綁定在一起,通過系統(tǒng)調(diào)用的方式來實(shí)現(xiàn)一個(gè)測(cè)試的快速驗(yàn)證機(jī)制,并最終實(shí)現(xiàn)回歸測(cè)試過程中的無人值守。

這個(gè)意義非常重大。應(yīng)用的服務(wù)化后,技術(shù)的風(fēng)險(xiǎn)實(shí)際上是收斂的,大家都可以面向服務(wù)來進(jìn)行開發(fā),實(shí)現(xiàn)高內(nèi)聚、構(gòu)耦合。并且應(yīng)用的發(fā)布也更加靈活了。但對(duì)于測(cè)試來說,卻是極大的挑戰(zhàn)。

1、測(cè)試的層次增加了。

2、測(cè)試的輪次變多了。每次集成,每次發(fā)布就有可能是一次完整的測(cè)試回歸。

就如Aone的推進(jìn)間接取替了SCM這個(gè)角色一樣。研發(fā)平臺(tái)的快速發(fā)展和業(yè)務(wù)7*24小時(shí)發(fā)布的訴求,也開始沖擊測(cè)試在代碼集成后的快速反饋能力。這是一個(gè)挑戰(zhàn),也是一個(gè)機(jī)會(huì)。否則,前期釋放出來的所有生產(chǎn)力,最后全都被卡在了測(cè)試這最后一個(gè)環(huán)節(jié),而且沒有辦法拆解(每拆解出來一個(gè),測(cè)試工作量就增加一倍)。只能通過不斷疊加集成的應(yīng)用量來提高集成測(cè)試的效率。

經(jīng)過1688測(cè)試團(tuán)隊(duì)幾代同學(xué)的努力,現(xiàn)在我們?cè)谶@個(gè)方面總算有了些成績。我們已經(jīng)通過分層自動(dòng)化體系實(shí)現(xiàn)了60%以上發(fā)布測(cè)試的無人值守,并且全年攔截故障在數(shù)百個(gè)級(jí)別(含頁面、UI等)。

它的實(shí)現(xiàn)邏輯如下:

 

 

五、文化

至此,真正所謂的7*24小時(shí)業(yè)務(wù)的持續(xù)交付通道已經(jīng)完全打造出來。我們?cè)倩仡櫼幌隆?/p>

Aone云效流程圖

1、應(yīng)用內(nèi)的架構(gòu)分層,前端、后端、測(cè)試各應(yīng)其職,通過專業(yè)化的力量激發(fā)了一輪生產(chǎn)力。

2、服務(wù)化的架構(gòu),讓技術(shù)人員可以面向服務(wù)來進(jìn)行業(yè)務(wù)的開發(fā),實(shí)現(xiàn)了架構(gòu)上的高內(nèi)聚低耦合。進(jìn)一步釋放大規(guī)模技術(shù)團(tuán)隊(duì)的活力。

3、研發(fā)平臺(tái)的搭建,提供了持續(xù)交付管道,實(shí)現(xiàn)了開發(fā)、測(cè)試過程的快速、準(zhǔn)確傳遞。

4、依托于研發(fā)平臺(tái),實(shí)現(xiàn)了環(huán)境的自動(dòng)化部署,應(yīng)用監(jiān)控,代碼檢查。掃除了研發(fā)過程的基建設(shè)施。讓技術(shù)人員聚焦于代碼的生產(chǎn)。

5、測(cè)試自動(dòng)化驗(yàn)證體系,減少系統(tǒng)集成風(fēng)險(xiǎn),提高集成的頻率。最終實(shí)現(xiàn)了代碼的快速上線。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SVN分支管理模式解析
構(gòu)建高效的軟件研發(fā)生命周期:從技術(shù)選型到監(jiān)控運(yùn)維的完整流程
InfoQ: 持續(xù)集成理論和實(shí)踐的新進(jìn)展
如何成為一名Top DevOps Engineer
SAP 電商云 Spartacus UI 的持續(xù)集成 - Continous integration
InfoQ: 持續(xù)集成之戲說Check-in Dance
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服