摘要:摘要在北京云棲大會(huì)上,阿里巴巴高級(jí)技術(shù)專家陳鑫花名神秀,給大家?guī)?lái)了億背后的企業(yè)級(jí)高效持續(xù)交付,引起強(qiáng)烈共鳴。
摘要: 在2017北京云棲大會(huì)上,阿里巴巴高級(jí)技術(shù)專家陳鑫(花名神秀),給大家?guī)?lái)了《1682億背后的企業(yè)級(jí)高效持續(xù)交付》,引起強(qiáng)烈共鳴。神秀從技術(shù)負(fù)責(zé)人關(guān)心的研發(fā)流程混亂、質(zhì)量無(wú)法保障、環(huán)境管理低效、資源浪費(fèi)等方面,結(jié)合阿里巴巴的DevOps實(shí)踐,深度解析了企業(yè)級(jí)持續(xù)交付如何做,企業(yè)如何高效協(xié)作,控制成本的精彩分享。
導(dǎo)讀:在2017北京云棲大會(huì)上,阿里巴巴高級(jí)技術(shù)專家陳鑫(花名神秀),給大家?guī)?lái)了《1682億背后的企業(yè)級(jí)高效持續(xù)交付》。神秀從技術(shù)負(fù)責(zé)人關(guān)心的研發(fā)流程混亂、質(zhì)量無(wú)法保障、環(huán)境管理低效、資源浪費(fèi)等方面,結(jié)合阿里巴巴的DevOps實(shí)踐,深度解析了企業(yè)級(jí)持續(xù)交付如何做,企業(yè)如何高效協(xié)作,控制成本的精彩分享。
一、技術(shù)管理者的煩惱
開發(fā)工程師的日常
我們看下開發(fā)工程師每天都是如何工作的。老三樣總是逃不掉,寫代碼、測(cè)試、發(fā)布到線上。具體來(lái)看首先要拉分支,每個(gè)團(tuán)隊(duì)一般都有自己的研發(fā)規(guī)范,團(tuán)隊(duì)成員都需要遵守才能保障基本研發(fā)秩序。其次,我們會(huì)先在本地進(jìn)行一些測(cè)試,編寫一些測(cè)試用例,測(cè)試通過(guò)后需要進(jìn)行合并請(qǐng)求,最終經(jīng)過(guò)一個(gè)流程,逐級(jí)發(fā)布代碼到生產(chǎn)環(huán)境。
這老三樣說(shuō)起來(lái)簡(jiǎn)單,但正是我們研發(fā)效率需要提升的重要環(huán)節(jié),因?yàn)樗鼈兠刻於荚诓煌5乇恢貜?fù)。甚至在不斷的反復(fù)踩坑。比如有重復(fù)的工作,有質(zhì)量問題,有環(huán)境問題,還有協(xié)作問題。在持續(xù)交付原則中有一項(xiàng),就是如果這件事讓你痛苦,那就盡早且盡可能頻繁地去做。當(dāng)然我們不能容忍各種坑,各種效率低下,那么就要想辦法去解決這些讓我們頭疼的問題。
技術(shù)管理者的煩惱
開發(fā)者日常的苦惱,必然也是技術(shù)管理者的煩惱。總結(jié)一下,一般會(huì)是這么幾個(gè)方面:
研發(fā)流程混亂。團(tuán)隊(duì)有大量新人的時(shí)候,如何能確保每次代碼提交都不會(huì)出錯(cuò)?跨團(tuán)隊(duì)協(xié)作的時(shí)候,如何讓所有人對(duì)于流程理解都是一致的?如何能不用一個(gè)scm團(tuán)隊(duì)來(lái)解決這個(gè)問題?其實(shí)我們的實(shí)踐中scm團(tuán)隊(duì)也解決不了,如果沒有完善的工具支持,很難確保萬(wàn)無(wú)一失。
質(zhì)量無(wú)法保障。測(cè)試用例覆蓋,規(guī)約掃描,安全檢查是否都能實(shí)打?qū)嵉谋U希绾稳ゴ龠M(jìn)代碼質(zhì)量逐步提高,而不是形成破窗效應(yīng)后越來(lái)越差。
環(huán)境管理低效和資源浪費(fèi)。這個(gè)一直是運(yùn)維工程師的痛,尤其是測(cè)試環(huán)境。微服務(wù)化后,這個(gè)問題更加嚴(yán)重,服務(wù)之間互相依賴。管理復(fù)雜度和工作量成倍提升。還好我們有了容器化的救命稻草,但是仍然無(wú)法解決應(yīng)用穩(wěn)定性問題。穩(wěn)定性不好直接導(dǎo)致開發(fā)工作互相block,最終拖慢我們整個(gè)團(tuán)隊(duì)效率。
繁雜的開源工具。用一堆工具攢出來(lái)的流程能否一站式解決所有問題,并且有比較好的體驗(yàn)?這要畫一個(gè)問號(hào)。
看到這些問題,我想大家不由自主的會(huì)想到云計(jì)算,容器化,DevOps等等新的名詞,那我們首先看看目前這幾個(gè)在業(yè)界的形勢(shì)如何。
持續(xù)交付與云計(jì)算
這是我從2016中國(guó)軟件開發(fā)者白皮書中摘錄的一些信息。首先看到的是企業(yè)上云成為趨勢(shì),因?yàn)樯显瓶梢源蟠鬁p少我們的it成本,不管是公共云還是私有云。目前來(lái)看私有云還是首選,最近3年從7%增長(zhǎng)到27%,混合云是目前比較流行的玩法。
DevOps成為業(yè)界熱詞。DevOps給大家?guī)?lái)的直接的想法是將兩種角色合二為一,效率肯定有提高,因此可以看到86%的企業(yè)不同程度上使用了DevOps相關(guān)工具,大部分是Docker和Jenkins。不難理解,這兩個(gè)工具是目前最容易上手的。
最后是企業(yè)對(duì)開發(fā)工具和流程的認(rèn)可,絕大部分企業(yè)都有嚴(yán)格的研發(fā)流程對(duì)開發(fā)工作進(jìn)行規(guī)范,7成人群在其中受益,并且21%開發(fā)者希望公司能加大在這方面投資。這個(gè)數(shù)字挺有意思,可能表明還有3成的員工還在痛苦掙扎,等待救援。
持續(xù)交付與DevOps
看了以上我們管理者的痛點(diǎn),回到正題,持續(xù)交付和DevOps,如何能使用這兩個(gè)理念來(lái)解決我們軟件生產(chǎn)中的問題?先看看兩者要解決的核心問題。
首先是持續(xù)交付,核心是需求小批量流轉(zhuǎn),配合自動(dòng)化流水線,實(shí)現(xiàn)軟件短周期的頻繁交付。
DevOps的核心是什么?幾個(gè)關(guān)鍵詞:一種方法和文化,自動(dòng)化、度量和分享,基礎(chǔ)設(shè)施即代碼。
在這里名詞解釋并不是我的重點(diǎn),先撇去概念看本質(zhì),其實(shí)兩者都是在說(shuō)效率與成本這兩個(gè)詞。如何做到效率最高,如何做到成本最低,就是我們研發(fā)平臺(tái)要解決的核心問題。
下面我會(huì)重點(diǎn)圍繞這兩個(gè)主題,來(lái)介紹阿里巴巴如何做到高效協(xié)作和成本控制。
二、高效協(xié)作&成本控制
研發(fā)模式全自動(dòng)化
說(shuō)起自動(dòng)化我們就想到了流水線,但是僅僅是流水線還是不夠的,它僅僅解決的是發(fā)布過(guò)程自動(dòng)化問題,并無(wú)法完全解決開發(fā)者的日常協(xié)作問題。比如什么時(shí)候拉分支,什么時(shí)候合并代碼,需要達(dá)到什么樣的標(biāo)準(zhǔn),發(fā)布分支怎么處理,如何和流水線自動(dòng)的結(jié)合起來(lái)。這些才是開發(fā)日常工作中最繁瑣,最容易出錯(cuò)的事情。
如何將研發(fā)模式固化下來(lái),并形成全集團(tuán)的幾套規(guī)范,落地平臺(tái)?如何讓開發(fā)之間的協(xié)作都一鍵化,自動(dòng)化?這是云效首先要解決的問題。
在我們的實(shí)踐中,將分支模式、自由模式、gitflow模式抽象到產(chǎn)品層面,穿插在流水線前中后,實(shí)現(xiàn)研發(fā)模式全自動(dòng)化。真正的做到了研發(fā)過(guò)程全上平臺(tái),所有數(shù)據(jù)可追蹤,并且徹底杜絕了漏發(fā)、錯(cuò)合、管理混亂的情況。甚至開發(fā)只需要會(huì)checkout和push,其他的都交給平臺(tái)處理。
總結(jié)一下就是規(guī)范操作、高效協(xié)作、避免錯(cuò)誤。分支模式和自由模式已經(jīng)在云效開放,其他模式和高級(jí)配置功能正在陸續(xù)開放中。
統(tǒng)一技術(shù)棧和運(yùn)維棧
研發(fā)過(guò)程統(tǒng)一了,那么接下來(lái)要面對(duì)的就是技術(shù)棧和運(yùn)維棧。我想絕大部分企業(yè)都不太喜歡自己的技術(shù)棧過(guò)于龐雜,這會(huì)給員工帶來(lái)很大的學(xué)習(xí)成本,比如阿里巴巴主要是Java,我們可以投入很大精力去做框架,去做JVM優(yōu)化,建設(shè)中間件,包括很多測(cè)試方案都會(huì)基于這個(gè)技術(shù)棧來(lái)做。運(yùn)維棧更不用說(shuō),標(biāo)準(zhǔn)化才能帶來(lái)成本的節(jié)省和效率的提升。
阿里是從以下五個(gè)方面來(lái)保障技術(shù)棧和運(yùn)維棧統(tǒng)一的。
首先我們有基于不同研發(fā)模式和流水線的視圖,根據(jù)不同的技術(shù)棧,在流水線視圖上也略有不同。打個(gè)比方:C類應(yīng)用的發(fā)布比Java類的就略顯復(fù)雜,他們?cè)谝蕾囓浖母潞蛥?shù)維護(hù)上略有差異,我們通過(guò)不同的流程組件來(lái)解決。
其次是代碼推薦,其中包括各種語(yǔ)言技術(shù)棧,最新的玩法和框架,讓我們平臺(tái)成為了新技術(shù)推廣的窗口。
運(yùn)維模板會(huì)包含軟件包的模板,Dockerfile,環(huán)境規(guī)劃等等。我們會(huì)提供標(biāo)準(zhǔn)化推薦,各個(gè)BU技術(shù)負(fù)責(zé)人也可以在平臺(tái)上針對(duì)自己的部門進(jìn)行定制和維護(hù)。所有這些都會(huì)在應(yīng)用創(chuàng)建時(shí)確定,普通開發(fā)基本不需要介入和了解。
最后兩層可以歸納到基礎(chǔ)設(shè)施層面,統(tǒng)一的應(yīng)用運(yùn)維平臺(tái),負(fù)責(zé)機(jī)器資源和相關(guān)軟件資源的分配。系統(tǒng)軟件幫我們解決虛擬化和運(yùn)行環(huán)境問題。
這五個(gè)層次共同協(xié)作才能完整實(shí)現(xiàn)技術(shù)棧和運(yùn)維棧的統(tǒng)一,而云效在阿里巴巴正是我們看到的paas和iaas層的對(duì)普通研發(fā)人員統(tǒng)一出口,并且負(fù)責(zé)將這些服務(wù)粘合起來(lái)。比如最新的發(fā)布技術(shù)、中間件隔離技術(shù)、灰度切流技術(shù)、測(cè)試技術(shù)等等。
全云化測(cè)試平臺(tái)
前面從研發(fā)、技術(shù)、運(yùn)維角度講了如何幫助開發(fā)高效協(xié)作。下面會(huì)講兩個(gè)成本控制的例子。
首先是全云化測(cè)試平臺(tái),阿里巴巴雖然技術(shù)棧大體統(tǒng)一,但是仍然避免不了各個(gè)BU在測(cè)試方面的創(chuàng)新,各種工具,各種平臺(tái)必然會(huì)導(dǎo)致一些重復(fù)建設(shè)和資源浪費(fèi)。最近幾年我們開始建設(shè)全云化測(cè)試平臺(tái),首先他要做的是將各種測(cè)試工具通過(guò)統(tǒng)一的標(biāo)準(zhǔn)接入進(jìn)平臺(tái),再通過(guò)統(tǒng)一的調(diào)度引擎為測(cè)試工作提供資源保障。當(dāng)資源由我們來(lái)控制的時(shí)候,就可以創(chuàng)新出很多資源節(jié)省的策略,比如動(dòng)態(tài)伸縮,資源池復(fù)用,離在線混布等等。目前我們每日的任務(wù)是已經(jīng)達(dá)到了10w+。
可以從這個(gè)圖中看出用戶的各種測(cè)試工具統(tǒng)一運(yùn)行在我們的Test engine上,資源來(lái)自集團(tuán)ECS和Docker池,并且在云效我們支持了企業(yè)自研自動(dòng)化測(cè)試工具的接入,方便用戶將自己的測(cè)試方案在企業(yè)內(nèi)部推廣和落地。
測(cè)試環(huán)境隔離
下面我們看下測(cè)試環(huán)境,大家可別小看了線下測(cè)試所帶來(lái)的資源成本。在阿里目前線下測(cè)試物理機(jī)規(guī)模已經(jīng)達(dá)到數(shù)萬(wàn)臺(tái)。隨著微服務(wù)化的推進(jìn),應(yīng)用數(shù)量和依賴復(fù)雜度都被迅速放大,如何管理好測(cè)試環(huán)境和資源已經(jīng)變得非常棘手。
這里介紹下阿里的一個(gè)比較好的實(shí)踐經(jīng)驗(yàn):測(cè)試環(huán)境隔離。先看下這個(gè)圖,我們把日常工作環(huán)境分為三部分,第一個(gè)是開發(fā)機(jī),調(diào)用請(qǐng)求的發(fā)起方,可能就是我的一個(gè)筆記本。第二是隔離環(huán)境,里面部署著我們需要聯(lián)調(diào)的應(yīng)用A1、B1、C1。這三個(gè)應(yīng)用正在實(shí)現(xiàn)我們一個(gè)要上線的需求。當(dāng)然我的調(diào)用鏈路會(huì)很長(zhǎng),有更多的依賴方,自然我們需要一個(gè)基礎(chǔ)環(huán)境,這個(gè)環(huán)境里部署著我們所有的應(yīng)用。
類似這種隔離設(shè)計(jì),既保障了業(yè)務(wù)聯(lián)調(diào)又節(jié)省了大量機(jī)器資源,當(dāng)然最關(guān)鍵是我們?nèi)绾螌?shí)現(xiàn)服務(wù)之間的調(diào)用隔離。在阿里內(nèi)部http統(tǒng)一接入、全鏈路追蹤和統(tǒng)一中間件技術(shù),幫助我們實(shí)現(xiàn)了無(wú)業(yè)務(wù)侵入性的服務(wù)隔離,不需要額外的運(yùn)維工作,只需要在系統(tǒng)上劃出相應(yīng)的服務(wù)范圍,對(duì)于調(diào)入請(qǐng)求會(huì)自動(dòng)進(jìn)行染色操作,不管這個(gè)請(qǐng)求調(diào)用到哪里,不管是同步還是異步,最終都可以保證A、B、C服務(wù)在兩個(gè)環(huán)境中的互斥關(guān)系。
未來(lái)類似的環(huán)境規(guī)劃和服務(wù)隔離能力也會(huì)在云效開放。總結(jié)一下就是環(huán)境復(fù)用、一鍵申請(qǐng)、快上快下、無(wú)代碼侵入。
企業(yè)級(jí)持續(xù)交付
我們看下一個(gè)持續(xù)交付平臺(tái)如何才能做到真正的企業(yè)級(jí)。
第一個(gè)階段應(yīng)用創(chuàng)建,元數(shù)據(jù)維護(hù),代碼推薦,技術(shù)棧模板,流水線。第二是測(cè)試驗(yàn)收,靜態(tài)掃描、代碼規(guī)約、安全測(cè)試等等。測(cè)試完成我們需要部署,就涉及到環(huán)境的標(biāo)準(zhǔn)化,企業(yè)統(tǒng)一的環(huán)境規(guī)劃,運(yùn)維模板和云化的動(dòng)態(tài)伸縮能力可以為我們大大節(jié)省成本。最終要發(fā)布前還需要管理審核、驗(yàn)收卡點(diǎn)、發(fā)布窗口等等管控策略。最后上線過(guò)程一定需要分批滾動(dòng)、過(guò)程監(jiān)控和快速回滾能力。
如此五大內(nèi)容基本可以滿足我們開發(fā)人員日常的研發(fā)活動(dòng),不斷地在這幾個(gè)過(guò)程中流轉(zhuǎn),實(shí)現(xiàn)最終持續(xù)交付目標(biāo)。
三、阿里DevOps落地
應(yīng)用為中心的DevOps理念
接下來(lái)我們回到DevOps這個(gè)熱詞上,和大家分享下阿里巴巴如何實(shí)現(xiàn)DevOps落地,從開發(fā)工程師角度怎么看待DevOps這個(gè)運(yùn)動(dòng)。
第一點(diǎn)我要提的是以應(yīng)用為中心的DevOps理念。應(yīng)用信息其實(shí)可以歸納為cmdb中的一種數(shù)據(jù),它對(duì)于研發(fā)人員天然是親切的,它可以直接對(duì)應(yīng)一個(gè)服務(wù),一個(gè)代碼庫(kù)。從代碼為起點(diǎn),又可以串聯(lián)流水線、環(huán)境、測(cè)試和資源,最外圍工具鏈監(jiān)控、db、運(yùn)維、中間件等等。
用應(yīng)用串聯(lián)整個(gè)工具鏈,可以讓開發(fā)順理成章的理解和打通DevOps整體過(guò)程。不會(huì)存在開發(fā)說(shuō)代碼,說(shuō)服務(wù),運(yùn)維說(shuō)機(jī)器,說(shuō)機(jī)房這種雞同鴨講的情況出現(xiàn)。
當(dāng)工具通過(guò)應(yīng)用打通后,開發(fā)就可以順理成章的在平臺(tái)上定義它的應(yīng)用,同時(shí)也是在定義運(yùn)維。比如我可以規(guī)劃環(huán)境,創(chuàng)建資源,設(shè)置發(fā)布策略等等。
完成定義后,誰(shuí)定義就要誰(shuí)負(fù)責(zé),因此在阿里,開發(fā)需要為應(yīng)用全生命周期負(fù)責(zé),也就是我們看到的這整個(gè)大圈。通過(guò)類似理念和運(yùn)維自動(dòng)化工具化的推進(jìn),dev潛移默化的接手了ops的工作,會(huì)發(fā)現(xiàn)原來(lái)這些東西并沒有那么復(fù)雜。
應(yīng)用生命周期自助管理
下面我們看一個(gè)實(shí)際的例子,這是我們一個(gè)應(yīng)用上線過(guò)程,信息初始化,代碼推薦,配置設(shè)置,資源申請(qǐng),step by step完成。
不論是測(cè)試環(huán)境還是生產(chǎn)環(huán)境,不管是技術(shù)棧還是運(yùn)維棧,全部由開發(fā)工程師來(lái)定義。在全過(guò)程中只需要一次審核操作,分鐘級(jí)即可完成應(yīng)用注冊(cè)和發(fā)布。
說(shuō)到全生命周期管理,我們?cè)趹?yīng)用上線后,還會(huì)配合度量系統(tǒng),評(píng)估應(yīng)用健康狀況和資源使用情況,對(duì)長(zhǎng)尾應(yīng)用進(jìn)行及時(shí)清理和資源調(diào)整。
容器化助力DevOps落地
再來(lái)看容器化。阿里巴巴從2016年雙11前開始大規(guī)模推廣容器化技術(shù),到今年雙11已經(jīng)完成了幾乎所有活躍應(yīng)用的容器化,這是一個(gè)非常驚人的技術(shù)革命。為什么我們要這么大力氣去推動(dòng)改變,容器化對(duì)DevOps又有何幫助?
大家可以看這個(gè)圖,左側(cè)是在容器化前,我們要做的事情和所需要的角色。軟件包管理、基線變更、運(yùn)維腳本的修改、資源申請(qǐng)、擴(kuò)縮容等等,哪個(gè)工作離不開運(yùn)維工程師。這些事情門檻高,手工程度大,變更方式復(fù)雜,最終導(dǎo)致兩個(gè)角色協(xié)作效率低下。
右側(cè)是我們?nèi)萜骰蟮那闆r,原先軟件包管理、基線變更、運(yùn)維腳本統(tǒng)統(tǒng)交給了dockerfile來(lái)解決。在代碼庫(kù)里管理,并通過(guò)流水線實(shí)現(xiàn)變更,大大簡(jiǎn)化了變更復(fù)雜度。另一部分比如日志清理,巡檢類的運(yùn)維腳本我們通過(guò)全網(wǎng)命令通道插件化的承載在ops工具上,負(fù)責(zé)同學(xué)轉(zhuǎn)型為工具開發(fā)來(lái)維護(hù)插件的可靠性。
其他資源類的事情統(tǒng)一由容器調(diào)度解決,其中包括統(tǒng)一調(diào)度開發(fā),規(guī)模化運(yùn)維相關(guān)算法開發(fā)等等,通過(guò)人工智能,通用性的解決資源利用率問題,比如2017年雙11落地的離在線混布技術(shù)。
通過(guò)容器化,我們實(shí)現(xiàn)了環(huán)境標(biāo)準(zhǔn)化,運(yùn)維服務(wù)的下沉,智能化的解決了效率和成本問題。因此可以說(shuō)通過(guò)容器化改造,DevOps理念真正在阿里落地。
松管控和強(qiáng)卡點(diǎn)
最后還有一個(gè)比較關(guān)鍵的點(diǎn),當(dāng)開發(fā)開始定義運(yùn)維,接手運(yùn)維的時(shí)候,我們管理者會(huì)不會(huì)有些擔(dān)憂,比如會(huì)不會(huì)開發(fā)任意操作導(dǎo)致線上故障,隨意發(fā)布導(dǎo)致穩(wěn)定性問題等等。
在阿里我們建設(shè)平臺(tái)的核心理念是松管控和強(qiáng)卡點(diǎn)。先看松在哪里?松在我們有多種流水線可以供開發(fā)選擇,應(yīng)用owner可以完整定義這個(gè)應(yīng)用的各種規(guī)則,比如如何發(fā)布,如何測(cè)試,資源、環(huán)境配置如何。我們有通用構(gòu)建和自定義構(gòu)建給用戶最大自由度,最后我們是輕發(fā)布,重恢復(fù)。在每一個(gè)應(yīng)用維度,開發(fā)可以隨時(shí)使用流水線來(lái)交付代碼,而并不需要特別的限制,僅僅需要思考的是如果出問題,我們應(yīng)該如何快速恢復(fù)。
在足夠的自由度下我們還有一些卡點(diǎn)可供選擇,比如代碼審核和質(zhì)量紅線,規(guī)約檢查,發(fā)布窗口,和前后端聯(lián)動(dòng)。這些卡點(diǎn)是為了保障集團(tuán)所有開發(fā)工程師步調(diào)統(tǒng)一,交付合格的產(chǎn)品。
持續(xù)交付核心是快速交付價(jià)值,給與開發(fā)最大自由度,負(fù)責(zé)開發(fā)和運(yùn)維全部過(guò)程。在監(jiān)控、故障防控工具,功能開關(guān)的配合下,可以在保障用戶體驗(yàn)和快速交付價(jià)值之間找到平衡點(diǎn)。
四、云效實(shí)踐
上手云效最佳路徑
最后我們看看如何通過(guò)云效提高研發(fā)效能。首先可以通過(guò)首頁(yè)的快速開始完成創(chuàng)建產(chǎn)品空間,創(chuàng)建代碼庫(kù),選擇我們的研發(fā)模式,創(chuàng)建應(yīng)用,也就是剛我們所說(shuō)的非常重要的基礎(chǔ)元數(shù)據(jù)。然后配置構(gòu)建、機(jī)器、部署規(guī)則,并通過(guò)流水線完成交付。
云效會(huì)提供一些模板和測(cè)試機(jī)器,幫助我們快速上手。
使用持續(xù)交付流水線
大家現(xiàn)在看到的是我們系統(tǒng)一個(gè)流水線的視圖,根據(jù)不同的研發(fā)模式,視圖會(huì)略有不同。云效根據(jù)現(xiàn)代企業(yè)軟件研發(fā)特點(diǎn),自主研發(fā)了全新的流水線。不同的團(tuán)隊(duì),比如研發(fā)、測(cè)試、運(yùn)維都可以在不同的stage上工作,并且互不干擾。而且有多種觸發(fā)機(jī)制可供選擇,阿里優(yōu)秀的組件還在陸續(xù)開放中。
無(wú)侵入的構(gòu)建加速
再來(lái)看下構(gòu)建,云效完全自研的全云化構(gòu)建調(diào)度系統(tǒng),擁有經(jīng)過(guò)阿里云安全團(tuán)隊(duì)認(rèn)可的安全加固機(jī)制。并且根據(jù)不同技術(shù)棧提供了自適應(yīng)的構(gòu)建緩存策略,避免依賴的重復(fù)下載,大大節(jié)約構(gòu)建時(shí)間,提高開發(fā)過(guò)程效率。開發(fā)在使用云效只需要選擇他的技術(shù)棧和構(gòu)建命令,其他都可以交給平臺(tái)自動(dòng)化完成。
全網(wǎng)部署能力
再看下部署能力,不管是公共云,還是專有云,還是其他云主機(jī),云效都可以接入并執(zhí)行部署。他是基于阿里內(nèi)部的agent的技術(shù),安全高效,此技術(shù)已經(jīng)在阿里巴巴全網(wǎng)部署并且經(jīng)過(guò)多年改進(jìn)。
如下圖所示,不管是采購(gòu)云效公共云還是專有云,我們的主機(jī)都無(wú)需暴露公網(wǎng)就可直接接入,可選擇通過(guò)internet或者專線對(duì)不同的云進(jìn)行互聯(lián),對(duì)開發(fā)人員屏蔽底層機(jī)器資源細(xì)節(jié),提高自動(dòng)化程度和工作效率。
Docker、EDAS、ECS任意切換
云效目前支持Docker、Edas、Ecs三種部署方式,對(duì)每個(gè)應(yīng)用的每個(gè)環(huán)境都可多帶帶定義它的部署方式,并且實(shí)現(xiàn)任意切換,方便快捷。比如我們生產(chǎn)環(huán)境使用edas保障穩(wěn)定,測(cè)試環(huán)境使用ecs混合部署節(jié)省資源都是可以實(shí)現(xiàn)的,非常方便。
在我們做運(yùn)維棧轉(zhuǎn)型升級(jí)的時(shí)候,可以通過(guò)修改部署配置進(jìn)行平滑升級(jí),如果有問題,我們還可以實(shí)現(xiàn)一鍵回滾。云效保存著歷史所有軟件發(fā)布升級(jí)的基線數(shù)據(jù)隨時(shí)可查,隨時(shí)可rollback,這些都是阿里巴巴內(nèi)部多年積累的實(shí)踐經(jīng)驗(yàn)。
作者介紹
陳鑫(花名神秀),阿里巴巴高級(jí)技術(shù)專家,負(fù)責(zé)阿里集團(tuán)持續(xù)交付平臺(tái)和研發(fā)工具建設(shè),致力于企業(yè)研發(fā)效率、產(chǎn)品質(zhì)量、DevOps方向研究和探索。在阿里6年帶領(lǐng)過(guò)大數(shù)據(jù)測(cè)試團(tuán)隊(duì)、測(cè)試工具研發(fā)團(tuán)隊(duì)、持續(xù)交付平臺(tái)團(tuán)隊(duì)。對(duì)研發(fā)協(xié)同、測(cè)試、交付、運(yùn)維領(lǐng)域都有很深的見解。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/8022.html
摘要:由此看出,云計(jì)算市場(chǎng)的競(jìng)爭(zhēng)格局還未完全確定。尤其在現(xiàn)階段,企業(yè)級(jí)業(yè)務(wù)進(jìn)入需求爆發(fā)期,能快速抓住企業(yè)上云核心需求的大型云計(jì)算廠商更有可能快速搶占市場(chǎng)份額,實(shí)現(xiàn)彎道超車。近年來(lái),在企業(yè)數(shù)字化轉(zhuǎn)型的熱潮下,我國(guó)云計(jì)算發(fā)展正式迎來(lái)需求爆發(fā)期。隨著云計(jì)算的應(yīng)用普及,越來(lái)越多的企業(yè)開始擁抱云計(jì)算服務(wù),云計(jì)算或?qū)⒂?019年全面殺入企業(yè)級(jí)市場(chǎng)。中國(guó)云計(jì)算市場(chǎng)規(guī)模和集中度增加,但市場(chǎng)競(jìng)爭(zhēng)格局仍未確定據(jù)億歐智...
摘要:關(guān)于認(rèn)證考試手冊(cè)發(fā)布之際,阿里巴巴開發(fā)規(guī)范認(rèn)證考試也同步上線,通過(guò)在線考試,檢測(cè)你對(duì)手冊(cè)中開發(fā)規(guī)范的掌握程度,并發(fā)放官方認(rèn)證證書。認(rèn)證考試致謝阿里巴巴開發(fā)規(guī)范能夠成冊(cè),離不開集團(tuán)內(nèi)移動(dòng)開發(fā)工程師的大力支持,在此感謝大家的無(wú)私奉獻(xiàn)和付出。 春節(jié)余味尚未消,我們?yōu)橐苿?dòng)開發(fā)者準(zhǔn)備了一份遲到的新年禮物——《阿里巴巴Android開發(fā)手冊(cè)》,繼《阿里巴巴Java開發(fā)手冊(cè)》之后,阿里巴巴開發(fā)規(guī)范家...
摘要:在新華三集團(tuán)領(lǐng)航者峰會(huì)上,紫光云戰(zhàn)略正式對(duì)外公布紫光集團(tuán)將投資億元進(jìn)軍公有云市場(chǎng)。紫光云公司將承擔(dān)紫光公有云整體的責(zé)任和使命。進(jìn)軍公有云正當(dāng)時(shí)對(duì)于紫光宣布進(jìn)軍公有云,業(yè)內(nèi)曾一片嘩然。在此次領(lǐng)航者峰會(huì)上,紫光集團(tuán)還正式發(fā)布了新城市運(yùn)營(yíng)平臺(tái)。在新華三集團(tuán)2018 Navigate 領(lǐng)航者峰會(huì)上,紫光云戰(zhàn)略正式對(duì)外公布:紫光集團(tuán)將投資120億元進(jìn)軍公有云市場(chǎng)。在已經(jīng)頗顯擁擠且競(jìng)爭(zhēng)激烈的公有云市場(chǎng)上...
摘要:企業(yè)級(jí)業(yè)務(wù)聯(lián)想的機(jī)會(huì)還有多大年初,當(dāng)時(shí)的全球市場(chǎng)老大惠普公司在中國(guó)臺(tái)灣打出了一則廣告聯(lián)想,連想都不要想,這一廣告語(yǔ)隨后引發(fā)軒然大波,并以惠普公司發(fā)出正式致歉信而告終。幾天前,一篇題為《假如帝國(guó)的黃昏降臨》的文章刷了屏,文中引述了橋水基金創(chuàng)始人Ray Dalio在新書《債務(wù)危機(jī)》中的一句話讓人印象深刻:很多人認(rèn)為過(guò)去發(fā)生在不同年代,不同國(guó)家的經(jīng)濟(jì)危機(jī)都是由不同的原因造成的,而我只看到了同樣一些...
閱讀 2511·2021-09-09 09:33
閱讀 2873·2019-08-30 15:56
閱讀 3156·2019-08-30 14:21
閱讀 905·2019-08-30 13:01
閱讀 868·2019-08-26 18:27
閱讀 3591·2019-08-26 13:47
閱讀 3458·2019-08-26 10:26
閱讀 1593·2019-08-23 18:38