看完螞蟻,我們?cè)倏纯凑麄€(gè)金融行業(yè),金融行業(yè)做研發(fā)效能和DevOps,有哪些共同的挑戰(zhàn)?我們總結(jié)下來四個(gè)方面:
第一,管理者認(rèn)知方面的挑戰(zhàn)。很多中小機(jī)構(gòu)的管理者,對(duì)研發(fā)效能的認(rèn)知是嚴(yán)重不足的,不會(huì)把這些東西納入到緊急重要的日程事項(xiàng)中去。所以說就需要在意識(shí)上給他們做破冰。
第二,團(tuán)隊(duì)協(xié)作,典型的重業(yè)務(wù)、輕it,業(yè)務(wù)主導(dǎo)性特別強(qiáng)。需求就一句話,隨意變更,這都是常態(tài)。然后研發(fā)運(yùn)維各自為政,彼此之間的協(xié)作多基于文檔,整體溝通和協(xié)作的效率是非常低下的。
第三,技術(shù)人員的能力參差不齊,導(dǎo)致交付質(zhì)量千差萬別。包括技術(shù)棧各種各樣、外包難于管理,所有這些東西都影響交付的質(zhì)量和效率。
第四,就是體系規(guī)范和工具方面,整個(gè)IT的基礎(chǔ)管理規(guī)范和標(biāo)準(zhǔn)文件都比較老比較重,執(zhí)行依賴于人肉,落地就比較困難,更不用提數(shù)據(jù)積累了,整體缺少自動(dòng)化方面的全局的建設(shè),整個(gè)DevOps工具鏈?zhǔn)潜容^初級(jí)的。
那么要解決這些我們剛才提到的內(nèi)部和外部的挑戰(zhàn)和問題,螞蟻金服也給出了自己的一些解法和答案,賦能伙伴最終實(shí)現(xiàn)又快又穩(wěn)的持續(xù)交付。微觀上,我們希望我們的方案能夠盡量自動(dòng)化減少人肉,提升研發(fā)同學(xué)的幸福感,讓研發(fā)過程絲般順滑。宏觀上可以提升團(tuán)隊(duì)的研發(fā),持續(xù)交付的效能,進(jìn)而賦能企業(yè)去升級(jí)組織效能。其中,最重要的還是把我們螞蟻金服這么多年在這個(gè)領(lǐng)域積累下來的經(jīng)驗(yàn)和最佳實(shí)踐,對(duì)外提供賦能使其價(jià)值。
接下來我們就分享螞蟻在研發(fā)效能領(lǐng)域里具體的實(shí)踐,我們將按照軟件生命周期的邏輯來進(jìn)行講解。
第一部分就是需求項(xiàng)管領(lǐng)域。經(jīng)過不斷的實(shí)踐,螞蟻金服自己也沉淀出了一套敏捷研發(fā)實(shí)踐的框架。 第一個(gè)就是文化引領(lǐng),面向一線的研發(fā)團(tuán)隊(duì)進(jìn)行敏捷文化的培訓(xùn),讓團(tuán)隊(duì)成員能夠理解敏捷的基本理念和指導(dǎo)思想。第二個(gè)是實(shí)踐落地方面,是一個(gè)逐步演化的過程,團(tuán)隊(duì)范疇到項(xiàng)目范疇,以價(jià)值交付為最終目標(biāo),然后通過不斷的迭代,實(shí)現(xiàn)持續(xù)集成、持續(xù)交付。在整個(gè)過程里邊又不斷的去收集數(shù)據(jù),做統(tǒng)計(jì)分析,建立數(shù)據(jù)模型,從而形成適合團(tuán)隊(duì)及項(xiàng)目的可視化的度量指標(biāo),持續(xù)的反饋到這個(gè)項(xiàng)目的迭代中去, 從而形成統(tǒng)一的節(jié)奏、統(tǒng)一的心跳,縮短和消除項(xiàng)目組內(nèi)不同團(tuán)隊(duì)間的等待和浪費(fèi)。在不斷的實(shí)踐過程中,螞蟻也沉淀了大量的最佳案例、最佳實(shí)踐,可以逐步的對(duì)外輸出,來幫助到伙伴和客戶。
剛剛談的是偏方法論的,具體到敏捷項(xiàng)目管理的實(shí)踐。 首先看看在螞蟻項(xiàng)目是如何組織的,在我們內(nèi)部按照項(xiàng)目的規(guī)模我們有不同的叫法,比如說戰(zhàn)役、戰(zhàn)場(chǎng)這些概念,但無論是怎么樣的規(guī)模,都涉及到三個(gè)核心的角色:PD產(chǎn)品經(jīng)理、PM項(xiàng)目經(jīng)理、技術(shù)架構(gòu)師,我們叫做項(xiàng)目的三駕馬車,所有工作都圍繞這三個(gè)關(guān)鍵角色來展開。在項(xiàng)目的執(zhí)行過程中,我們引入了SCRUM一些管理實(shí)踐,需求和迭代的進(jìn)展通過電子看板能夠清晰的展示出來,使得敏捷所倡導(dǎo)的原則和理念能夠得到比較好的落地。
這里邊我們分享三點(diǎn):
第一,敏捷是貫穿軟件研發(fā)全生命周期的。敏捷不是說越重越好,適合的才是好的,我們稱之為輕量級(jí)的敏捷實(shí)踐。
第二,平臺(tái)覆蓋項(xiàng)目協(xié)作的全部領(lǐng)域,項(xiàng)目集、工作項(xiàng)、沖刺、里程碑、風(fēng)險(xiǎn)這些領(lǐng)域都能實(shí)現(xiàn)很好的管理。
第三,利用高效靈活的可視化看板,來提高整個(gè)項(xiàng)目的透明度,從而激發(fā)整個(gè)團(tuán)隊(duì)及組織的熱情和文化。
我們通過平臺(tái)也固化了一套比較有特色的迭代研發(fā)的模型。它通過發(fā)布、迭代、應(yīng)用、流水線四 層模型對(duì)研發(fā)過程進(jìn)行有效的管控:
在流水線維度,我們具備PUSH、MR、手動(dòng)等多種觸發(fā)模式;流水線的所有的組件和節(jié)點(diǎn),可編排、可擴(kuò)展。然后應(yīng)用層面,我們的所有研發(fā)活動(dòng)都是按應(yīng)用去組織和推進(jìn)的,包括質(zhì)量的門禁和階段的卡點(diǎn),都是應(yīng)用維度進(jìn)行管控。在一個(gè)研發(fā)迭代中我們可以管理多個(gè)應(yīng)用,一個(gè)發(fā)布窗口又可以管理和發(fā)布多個(gè)迭代,從而實(shí)現(xiàn)從微觀到宏觀,多個(gè)維度的、立體的項(xiàng)目協(xié)作和管控。
那么接下來是持續(xù)集成環(huán)節(jié),首先給大家介紹的是統(tǒng)一的應(yīng)用元數(shù)據(jù)管理。在螞蟻我們有5000多應(yīng)用,規(guī)模非常之大,而且支撐的業(yè)務(wù)也各不相同。我們給應(yīng)用做了分級(jí)定義,主要是從服務(wù)依賴、交易/資金量以及每天的PV UV這些維度對(duì)應(yīng)用進(jìn)行分級(jí),并在平臺(tái)中進(jìn)行統(tǒng)一管理。第一個(gè)好處,所有的應(yīng)用以及架構(gòu)一盤棋,組織層面可看到全貌,為整個(gè)架構(gòu)的規(guī)劃以及架構(gòu)的治理,提供比較好的輸入以及基礎(chǔ);第二個(gè)好處,每個(gè)架構(gòu)域每個(gè)應(yīng)用的技術(shù)負(fù)責(zé)人、質(zhì)量負(fù)責(zé)人、運(yùn)維負(fù)責(zé)人等角色一清二楚,有利于在項(xiàng)目中進(jìn)行協(xié)作;第三個(gè)好處是應(yīng)用的屬性,通過應(yīng)用分級(jí)和應(yīng)用屬性,為精益研發(fā)流程定制提供依據(jù),做到研發(fā)流程的千人千面,每個(gè)應(yīng)用都可以定制自己的個(gè)性化的研發(fā)流程。
除了應(yīng)用原數(shù)據(jù)的統(tǒng)一管理,我們還提到配置統(tǒng)一管理,這里邊配置就包括環(huán)境的配置、中間件的配置、CI配置、技術(shù)棧軟件配置等。螞蟻研發(fā)效能平臺(tái)可以按照不同的環(huán)境,對(duì)所有的配置項(xiàng)進(jìn)行集中管理,在研發(fā)迭代推進(jìn)的過程里邊,還可以實(shí)現(xiàn)配置項(xiàng)在不同環(huán)境間的自動(dòng)轉(zhuǎn)化和生效,這樣就避免了研發(fā)同學(xué)頻繁訪問配置項(xiàng)控制臺(tái)進(jìn)行人肉配置,提效的同時(shí)避免人肉錯(cuò)誤。
接下來介紹代碼質(zhì)量內(nèi)建,其實(shí)代碼質(zhì)量在整個(gè)研發(fā)過程里邊是非常關(guān)鍵的一環(huán),我們鼓勵(lì)第一時(shí)間就把代碼寫好寫正確,或者在第一時(shí)間就發(fā)現(xiàn)和修復(fù)錯(cuò)誤。
首先我們看代碼的質(zhì)量標(biāo)準(zhǔn)。 事實(shí)上在螞蟻的研發(fā)效能平臺(tái)上邊做開發(fā),質(zhì)量標(biāo)準(zhǔn)是可以按照這種應(yīng)用維度去做配置的。每個(gè)應(yīng)用都可以根據(jù)應(yīng)用的分級(jí)、業(yè)務(wù)需要去配置不同質(zhì)量標(biāo)準(zhǔn)。 在質(zhì)量標(biāo)準(zhǔn)里邊,我們沉淀的一套成熟的質(zhì)量分模型,將代碼掃描、單元/接口自動(dòng)化的通過率覆蓋率,還有一些其他的質(zhì)量指標(biāo),納入質(zhì)量分統(tǒng)一管控,進(jìn)而可以比較直觀地評(píng)價(jià)一個(gè)應(yīng)用當(dāng)前的質(zhì)量情況。 其次是代碼掃描,阿里的 Java開發(fā)規(guī)約大家都耳熟能詳,在這個(gè)基礎(chǔ)之上,螞蟻也沉淀了一些自己的開發(fā)規(guī)約,強(qiáng)強(qiáng)互補(bǔ),通過IDE以及Pipeline兩個(gè)端去執(zhí)行,確保第一時(shí)間能快速的發(fā)現(xiàn)問題和解決問題。
然后是代碼評(píng)審,代碼評(píng)審是整個(gè)開發(fā)過程里邊非常有價(jià)值的工作,他不僅能夠幫助我們提高代碼質(zhì)量,而且對(duì)整個(gè)團(tuán)隊(duì)人員的學(xué)習(xí)培養(yǎng),團(tuán)隊(duì)建設(shè)都非常有幫助。在螞蟻的研發(fā)效能平臺(tái)里邊,我們的功能也是非常有特色,實(shí)現(xiàn)了與Pipeline流水線有效集成的可多人協(xié)作的高效代碼評(píng)審。
接下來是自動(dòng)化白盒測(cè)試。這邊指的就是單元自動(dòng)化和接口自動(dòng)化。外部客戶交流中發(fā)現(xiàn),很多中小企業(yè)由于研發(fā)或者測(cè)試團(tuán)隊(duì)的能力限制,不能夠高效的去準(zhǔn)備自動(dòng)化測(cè)試腳本,所以我們也提供了一個(gè)測(cè)試腳本的輔助生成工具。測(cè)試腳本可以通過效能平臺(tái)的流水線自動(dòng)觸發(fā)執(zhí)行和收集測(cè)試結(jié)果。每次執(zhí)行完流水線之后,都會(huì)實(shí)時(shí)更新應(yīng)用的質(zhì)量數(shù)據(jù)。質(zhì)量如果不達(dá)標(biāo)的情況下推進(jìn)迭代,我們還有配套的質(zhì)量加簽的審批流程,上述全是圍繞著代碼質(zhì)量所進(jìn)行的實(shí)踐。
接下來我們給大家介紹我們的Pipeline流水線,以下是平臺(tái)運(yùn)營的實(shí)際截圖。 截圖上邊開發(fā)階段、集成階段、預(yù)發(fā)階段、發(fā)布階段,我們叫它迭代模板,這些迭代模板都是可以按需進(jìn)行定制的。在螞蟻我們鼓勵(lì)基于GitFlow的最佳實(shí)踐,通過MR而不是PUSH的方式,向項(xiàng)目分支和主干提交代碼,這樣的話給代碼門禁和流水線檢測(cè)提供一個(gè)機(jī)會(huì)。事實(shí)上我們流水線的Pipeline的所有節(jié)點(diǎn)和組件都是可編排的、可擴(kuò)展的。可擴(kuò)展的意思是說,業(yè)務(wù)可以根據(jù)自己的需要,把自己自建的一些測(cè)試工具、質(zhì)量工具,封裝成標(biāo)準(zhǔn)組件,接入到整個(gè)Pipeline流水線中來。 這樣的話每執(zhí)行完一個(gè)組件平臺(tái)都會(huì)實(shí)時(shí)的反饋結(jié)果,并更新迭代的應(yīng)用的質(zhì)量看板,幫助開發(fā)測(cè)試同學(xué)來管理質(zhì)量風(fēng)險(xiǎn)。
在流水線的執(zhí)行過程中和研發(fā)推進(jìn)過程里邊會(huì)產(chǎn)生大量的日志,為了幫助同學(xué)們快速的通過日志來定位到問題,節(jié)約同學(xué)們?cè)诙ㄎ唤鉀Q問題上的時(shí)間成本,我們針對(duì)性的開發(fā)了日志診斷服務(wù)系統(tǒng),為用戶提供一個(gè)統(tǒng)一的日志查看界面,減少不必要的信息的干擾。 同時(shí)我們通過這些異常問題的知識(shí)庫,對(duì)常見的一些問題提供精準(zhǔn)的定位和解決方案的推薦,提高開發(fā)同學(xué)的研發(fā)效率。
當(dāng)每個(gè)流水線組建執(zhí)行之后,那么應(yīng)用的質(zhì)量看板會(huì)實(shí)時(shí)的更新,這里邊我們也做了一個(gè)截圖,比如說質(zhì)量分, PMD安全問題,還包括測(cè)試的通過率、覆蓋率,除此之外,我們還提供一些代碼行接口、注釋率、重復(fù)度等基本的統(tǒng)計(jì)信息。每次代碼變更,我們都能夠看到整個(gè)質(zhì)量分,包括質(zhì)量數(shù)據(jù)的更新變化情況,做一個(gè)很好的追溯。
此外我們還提供流程審批的能力,在實(shí)際的項(xiàng)目研發(fā)過程里邊,我們鼓勵(lì)自動(dòng)化,但很多時(shí)候必要的人肉介入又不可避免。比如說技術(shù)風(fēng)險(xiǎn)評(píng)估、發(fā)布、評(píng)審這些場(chǎng)景,就需要專家介入去評(píng)估一些風(fēng)險(xiǎn)。所以靈活可配置的這種流程審批就非常有用了。
接下來我們介紹持續(xù)部署,其實(shí)部署這邊主要分兩塊,首先是線下環(huán)境的自動(dòng)部署,我們平臺(tái)通過和 SOFAStack的運(yùn)維管理相關(guān)模塊的無縫集成,提供了自動(dòng)部署的能力。它也是以流水線組件的方式執(zhí)行,需要查看詳情就直接跳轉(zhuǎn)都能夠看到整個(gè)部署的日志以及結(jié)果。
然后是一鍵提交生產(chǎn)發(fā)布。對(duì)于金融機(jī)構(gòu)來講的話,監(jiān)管對(duì)線上和線下隔離這一塊有明確的要求,所以線下我們支持自動(dòng)部署,線上的話我們提供這種一鍵提交生產(chǎn)發(fā)布的能力,自動(dòng)推送發(fā)布單并同步查詢發(fā)布單的狀態(tài),這樣有發(fā)布權(quán)限的同學(xué)就可以登錄到生產(chǎn)環(huán)境去執(zhí)行發(fā)布了。在這個(gè)過程里邊,我們通過網(wǎng)絡(luò)白名單、open API接口級(jí)別的權(quán)限控制這些技術(shù)手段,來確保線上和線下是真正有效隔離的。
接下來分享一下發(fā)布策略,這里邊提到一個(gè)概念變更三板斧,這個(gè)也是我們螞蟻內(nèi)部技術(shù)風(fēng)險(xiǎn)條例的核心思想,所有的應(yīng)用研發(fā)的底線要求。變更三板斧大概三個(gè)方面,一個(gè)叫可灰度,要求應(yīng)用發(fā)布過程確保變更的影響程度,影響面是可控的,又可以快速地應(yīng)急,具體策略包括灰度,分組,Beta,藍(lán)綠這些。第二個(gè)叫做可監(jiān)控。,在應(yīng)用上線之前要進(jìn)行日志的埋點(diǎn),監(jiān)控的配置不僅要有,而且需要確保監(jiān)控的準(zhǔn)確性,直觀性,進(jìn)而保證整個(gè)變更的過程都是可監(jiān)控的。第三個(gè)叫可應(yīng)急,隨時(shí)暫停回滾,任何變更都有據(jù)可查。其實(shí)針對(duì)變更三板斧,容器應(yīng)用服務(wù)上面有很好的實(shí)踐,比如說包括分組的灰度發(fā)布、無損升級(jí),可適配多種設(shè)計(jì)工作負(fù)載,這些能夠很好的貫徹變更三板斧的思想。
接下來進(jìn)入測(cè)試驗(yàn)證部分,首先是分層測(cè)試的能力,我們主要談兩個(gè)方面。首先就是測(cè)試環(huán)境、環(huán)境策略,從開發(fā)到集成、預(yù)發(fā)、灰度,我們的環(huán)境一步步的去接近和模擬生產(chǎn)環(huán)境,確保生產(chǎn)發(fā)布最后是沒有問題的。其次就是分層自動(dòng)化測(cè)試驗(yàn)證能力,我們將單元自動(dòng)化、接口自動(dòng)化,結(jié)合研發(fā)效能平臺(tái),靈活的通過Pipeline流水線的組件去執(zhí)行,統(tǒng)一賦能給全螞蟻的研發(fā)團(tuán)隊(duì)。
針對(duì)外部很多機(jī)構(gòu)在自動(dòng)化測(cè)試腳本的編碼方面有很大的能力和效率上的痛點(diǎn),我們提供了測(cè)試腳本輔助生成的ACTS測(cè)試框架。基于數(shù)據(jù)模型驅(qū)動(dòng)測(cè)試引擎執(zhí)行,適配TestNG+Spring的測(cè)試上下文環(huán)境,以yaml為數(shù)據(jù)載體,實(shí)現(xiàn)了這種一站式的編輯、精細(xì)化的校驗(yàn)和高效的用例管理,能夠有效的提升這種測(cè)試腳本的效率。
前面提的,無論是單元自動(dòng)化還是接口自動(dòng)化,都是應(yīng)用及系統(tǒng)級(jí)別的測(cè)試。那么端到端的話一般都更帶有業(yè)務(wù)屬性,全鏈路的測(cè)試。螞蟻經(jīng)過這么多年在分布式架構(gòu)工程測(cè)試領(lǐng)域的積累,沉淀了這種根據(jù)業(yè)務(wù)場(chǎng)景自適應(yīng)加載測(cè)試流程,動(dòng)態(tài)編排,精細(xì)化校驗(yàn)的金融級(jí)的端到端的測(cè)試能力,它又輕量又標(biāo)準(zhǔn),幫助研發(fā)測(cè)試團(tuán)隊(duì)提升業(yè)務(wù)測(cè)試效率和質(zhì)量保障能力。
在螞蟻金服開展這么多的研發(fā)效能的工程實(shí)踐,那么我們的平臺(tái)是如何來支撐的?首先是 SOFAStack-LinkE的公共云的產(chǎn)品大圖,上面是支撐的業(yè)務(wù)以及交付的價(jià)值,我們重點(diǎn)介紹中間產(chǎn)品層,目前我們提供了兩個(gè)組件,一個(gè)是項(xiàng)目協(xié)作,主要就是包括需求、項(xiàng)目、沖刺和工作項(xiàng)的管理。然后第二個(gè)組件就是持續(xù)交付,從編碼到測(cè)試、到部署、到發(fā)布,整個(gè)端到端的支撐,下邊有配套的代碼服務(wù),持續(xù)集成、持續(xù)部署、測(cè)試服務(wù)的這些組件。
那么,我們把SOFA-LinkE的產(chǎn)品能力做一個(gè)總結(jié),大體七個(gè)方面:項(xiàng)目協(xié)作、代碼服務(wù)、持續(xù)交付、代碼分析、測(cè)試服務(wù)、流程審批、環(huán)境管理。
SOFA-LinkE研發(fā)效能平臺(tái),主要輸出這四塊的產(chǎn)品價(jià)值。
就平臺(tái)產(chǎn)品特色而言,主要體現(xiàn)在三個(gè)方面:可擴(kuò)展、可編排、多樣化??蓴U(kuò)展主要指的是Pipline流水線的組件是支持自定義的;可編排體現(xiàn)在研發(fā)迭代流程及流水線,可根據(jù)業(yè)務(wù)需要對(duì)其進(jìn)行配置;多樣化支撐多種分支策略,多種技術(shù)棧,經(jīng)典與云原生架構(gòu)的雙模支持。
在多樣化的分支發(fā)布策略方面,我們內(nèi)部大概有是這4種玩法,一種叫日常發(fā)布,其實(shí)就是全站的窗口發(fā)布,主要適用于全站的這種核心鏈路上的業(yè)務(wù)應(yīng)用,之間有一定的關(guān)聯(lián)和耦合,每周發(fā)布一次。事實(shí)上現(xiàn)在我們?nèi)粘0l(fā)布已經(jīng)消除了。第二個(gè)叫獨(dú)立發(fā)布,主要場(chǎng)景在獨(dú)立業(yè)務(wù)域里應(yīng)用之間有一定的耦合度,但是更多的是為了管控的需要,把一些應(yīng)用集中放在一個(gè)窗口去發(fā)。 第三個(gè)我們叫它單應(yīng)用發(fā)布,相關(guān)應(yīng)用業(yè)務(wù)獨(dú)立性強(qiáng)、架構(gòu)層面完全解耦,單應(yīng)用想怎么走就怎么走,想什么時(shí)候發(fā)就什么時(shí)候發(fā)。前三種都是我們標(biāo)準(zhǔn)的分支策略叫分支開發(fā)主干。然后第四種緊急發(fā)布,主要是為了響應(yīng)緊急業(yè)務(wù)需求或者是修復(fù)線上的故障,通常是分支開發(fā)分支發(fā)布的模式。那么通過這四種模式,螞蟻所有的業(yè)務(wù)場(chǎng)景基本上都能滿足,你想怎么玩都能夠覆蓋到。
接下來我們談到云原生,隨著螞蟻金服對(duì)云原生理念的理解越來越深,我們相信未來的金融級(jí)應(yīng)用場(chǎng)景都會(huì)往這種極致的彈性和混合云方向去發(fā)展。所以我們的架構(gòu)也一直在不斷的演進(jìn),去擁抱云原生。向云原生新型技術(shù)轉(zhuǎn)變的過程里邊,不同場(chǎng)景的應(yīng)用很難一步到位,所以為了滿足這種業(yè)務(wù)的需要,我們同步的去支持經(jīng)典的研發(fā)模式以及云原生的研發(fā)模式。在云原生的改造中,老業(yè)務(wù)、新老業(yè)務(wù)并存過渡,通過統(tǒng)一的研發(fā)平臺(tái),同時(shí)支持基于虛擬機(jī)和容器的雙模持續(xù)交付,助力于整個(gè)架構(gòu)的穩(wěn)妥的演進(jìn)和遷移。
金融行業(yè)本身受到嚴(yán)格的監(jiān)管,螞蟻在滿足監(jiān)管以及行業(yè)規(guī)范的領(lǐng)域里也積累了一套做法,并在我們的研發(fā)效能平臺(tái)上將這些經(jīng)驗(yàn)進(jìn)行了沉淀。通過有效的技術(shù)手段去滿足監(jiān)管合規(guī)的要求,形成了金融級(jí)的技術(shù)風(fēng)險(xiǎn)的防控手段,把它內(nèi)化到研發(fā)項(xiàng)目平臺(tái)里面去了,能夠幫助咱們企業(yè)在數(shù)字化轉(zhuǎn)型的背景下邊實(shí)現(xiàn)這種穩(wěn)妥的創(chuàng)新。
接下來是最后的解決方案部分,做研發(fā)效能其實(shí)還是要想實(shí)現(xiàn)整個(gè)DevOps跨職能的全流程協(xié)同,不同的職能團(tuán)隊(duì)能夠高效地協(xié)同在一起,特別是開發(fā)、測(cè)試和運(yùn)維。
介紹一下螞蟻一站式研發(fā)效能解決方案,下圖中間部分屬于螞蟻研發(fā)效能平臺(tái)的范圍,提供從需求到發(fā)布的整個(gè)持續(xù)交付的引擎,將整個(gè)DevOps的工程能力集成串接在一起,具體能力前面都有提到。大圖底部是應(yīng)用PaaS平臺(tái),就是咱們SOFAStack運(yùn)維管理相關(guān)的組件,效能平臺(tái)通過open API和它交互,打通整個(gè)環(huán)境管理和環(huán)境部署這些功能,也實(shí)現(xiàn)了經(jīng)典發(fā)布部署和容器應(yīng)用服務(wù)的雙模支持。 大圖右側(cè)是對(duì)螞蟻智能科技其他產(chǎn)品的集成和支持,通過研發(fā)容器統(tǒng)一管理多環(huán)境的中間件配置,實(shí)現(xiàn)環(huán)境的隔離,迭代推進(jìn)過程中不同環(huán)境之間的自動(dòng)同步和生效。另外我們支持技術(shù)風(fēng)險(xiǎn)防控平臺(tái)以及端到端測(cè)試等產(chǎn)品的集成和聯(lián)動(dòng)。螞蟻研發(fā)的平臺(tái)本身具備開放集成能力,所以可以通過自定義組件的方式來對(duì)接其他平臺(tái)的能力以及業(yè)務(wù)自建的一些資產(chǎn),比如說質(zhì)量測(cè)試等工具,最終實(shí)現(xiàn)一站式的智能研發(fā)平臺(tái)的方案。
那么我們可以提供哪些軟性的服務(wù),下圖展示了咨詢及其具體領(lǐng)域,然后我們可以和客戶一起來針對(duì)痛點(diǎn)建立研發(fā)規(guī)范,我們還提供沙盤幫助用戶快速的在實(shí)際項(xiàng)目里邊去演練整套的規(guī)范以及平臺(tái)工具。
最后給大家介紹的是整個(gè)DevOps轉(zhuǎn)型的一個(gè)路徑,大概分這幾個(gè)階段: 第一個(gè)階段就是咨詢?cè)\斷階段,出具DevOps的實(shí)施方案以及落地規(guī)劃,包括平臺(tái)的搭建。第二個(gè)階段就是培訓(xùn)賦能,這里邊就包括理念的培訓(xùn),產(chǎn)品的培訓(xùn),要建立統(tǒng)一的體系和流程規(guī)范。 第三個(gè)我們提供沙盤演練,讓項(xiàng)目組的同學(xué)真正的了解敏捷、流水線和自動(dòng)化,通過在項(xiàng)目里試運(yùn)行,為企業(yè)內(nèi)部研發(fā)效能團(tuán)隊(duì)賦能,培養(yǎng)帶頭人。第四制定落地的目標(biāo)和規(guī)劃,配合企業(yè)按照業(yè)務(wù)或者按照產(chǎn)品線去落地實(shí)施,通過日常監(jiān)控以及數(shù)據(jù)的分析,能夠持續(xù)的去解決痛點(diǎn),去推動(dòng)效能的持續(xù)提升。
以上就是我今天分享的全部內(nèi)容了,希望對(duì)大家有所幫助,也希望大家去關(guān)注我們已經(jīng)商業(yè)化的SOFAStack產(chǎn)品,特別是LinkE研發(fā)效能相關(guān)的組件。
謝謝大家。如果有問題我們可以線下持續(xù)去探討。