元年(nián)

從裝配式建築流行(xíng)看雲原生技術平台的(de)價值(二)

方舟平台· 發布時間:2022-01-17

如(rú)同建築工程技術、工藝的(de)飛(fēi)速發展一(yī)樣,在企業數字化建設的(de)道(dào)路上,通過不斷的(de)項目研發和(hé)經驗積累,元年(nián)方舟四層技術能力架構共同打造了穩定,高(gāo)效,易用的(de)方舟低(dī)代碼平台産品。最重要的(de)基礎技術能力,系統基于雲原生設計思想,采用微服務技術實現,使用容器化部署方式,基于先進的(de)技術架構打造了堅實的(de)基礎能力。

在上一(yī)篇文章(zhāng)講述容器及微服務是如(rú)何提升應用速度後<點擊查看上篇文章(zhāng)>,我們再來看看元年(nián)方舟企業數字化PaaS平台中DevOps(開發運維一(yī)體化),CI/CD(持續集成/持續交付部署)等能力的(de)價值。

DevOps 軟件工程與建築學(xué)的(de)糾葛故事

DevOps的(de)概念誕生于2009年(nián),但直到2014年(nián),随着容器與微服務的(de)發展,DevOps才被業界所重視(shì)。DevOps不單是一(yī)個實現自(zì)動化的(de)工具鏈,而是組織、流程與技術的(de)結合。組織上強調全棧團隊、團隊特性專一(yī)、團隊自(zì)治;技術上打通開發與運維;流程上強調端到端、可(kě)視(shì)化、灰度升級、A/B測試等。


我們不妨将時間回溯到20世紀60年(nián)代,這一(yī)時間點上業界發生了著名的(de)“軟件危機(jī)”。在此前,軟件設計往往隻是為(wèi)了一(yī)個特定的(de)應用而在指定的(de)計算機(jī)上設計和(hé)編制,很少使用系統化的(de)開發方法。這樣的(de)做(zuò)法造成軟件可(kě)靠性沒有(yǒu)保障、軟件維護費用不斷上升、進度無法預測、程序人員無限度地(dì)增加等各個方面,以至形成難以控制軟件開發的(de)局面。此後,業界希望通過科(kē)學(xué)體系化的(de)方法來進行(xíng)軟件開發,最早的(de)瀑布模型就是來自(zì)于建築學(xué)的(de)模式。

元年(nián)DevOps體系

瀑布模型是典型的(de)預見性方法,嚴格遵循預先計劃的(de)需求、分析、設計、編碼、測試的(de)步驟順序進行(xíng)。步驟成果作為(wèi)衡量進度的(de)方法,例如(rú)需求規格、設計文檔、測試計劃和(hé)代碼審閱等等。而随着時代的(de)變化,這種來源于工業建築學(xué)的(de)生産模式已經難以滿足當下的(de)軟件生産需求,尤其是越來越多的(de)需求不明以及在項目進行(xíng)過程中的(de)變化。

人們對于裝修的(de)概念中都少不了那些惱人的(de)電鑽或是電錘聲,還有(yǒu)現場數不清的(de)石膏、水泥、管線等物料,以及各類建築垃圾。而在經曆了以月為(wèi)單位的(de)施工時間後,等待我們的(de)可(kě)能還有(yǒu)人為(wèi)因素造成的(de)地(dì)面或是牆面的(de)不平整、水電爆管,以及後續的(de)牆體開裂等隐患。現如(rú)今,裝配式裝修的(de)出現大幅度的(de)提升了裝修體驗,更快的(de)施工時間、更低(dī)的(de)環境影響以及更高(gāo)的(de)裝修質量。這得益于裝配式裝修所采用的(de)幹式工法裝配,即規避傳統裝修方式中采用的(de)石膏膩子(zǐ)找平、砂漿找平、砂漿粘接等濕作業,而改為(wèi)采用錨栓、支托、結構粘膠等方式實現支撐與連接構造。

從元年(nián)DevOps總覽圖可(kě)以了解到元年(nián)DevOps體系包括組件管理(lǐ),代碼管理(lǐ),環境管理(lǐ),流水線管理(lǐ),容器管理(lǐ)等部分:

組件管理(lǐ):平台通過模版的(de)方式預置了可(kě)應用到DevOps各個環節的(de)基礎組件,并可(kě)以在模版的(de)基礎上進行(xíng)自(zì)定義配置,從而更加靈活的(de)為(wèi)流水線服務。

代碼管理(lǐ):可(kě)以管理(lǐ)代碼倉庫,代碼分支。

環境管理(lǐ):管理(lǐ)物理(lǐ)機(jī),VM虛拟機(jī)以及構建容器使用的(de)環境。

流水線管理(lǐ):管理(lǐ)流水線模版,參數,及對應的(de)插件。可(kě)以創建,運行(xíng)和(hé)回收流水線。基于流水線動态構建容器,部署服務,發布版本等。

容器管理(lǐ):管理(lǐ)容器倉庫,編排容器,構建容器,彈性擴縮容,并監控容器運行(xíng)狀況,故障轉移等。

正如(rú)近年(nián)來“裝配式”在建築家裝行(xíng)業所引發的(de)飓風,DevOps也正在軟件工程行(xíng)業中催生變革。其不僅考慮了開發環節中的(de)內(nèi)容,同時還将運維過程涵蓋其中,以更小的(de)顆粒度劃分來幫助團隊更高(gāo)效的(de)展開工作,更快交付更高(gāo)産品從而有(yǒu)效提升客戶體驗。

持續集成

持續集成指的(de)是開發人員頻繁的(de)将所有(yǒu)開發者的(de)工作合并到主幹上。這些新提交在最終合并到主線之前,都需要通過編譯和(hé)自(zì)動化測試流進行(xíng)驗證,以保障所有(yǒu)的(de)提交在合并主幹之後的(de)質量問題,對可(kě)能出現的(de)一(yī)些問題進行(xíng)預警。持續集成的(de)核心在于确保新增的(de)代碼能夠與原先代碼正确的(de)集成。

這就像是裝配式裝修區别于傳統裝修的(de)另一(yī)點:通過部品集成定制從而避免現場進行(xíng)二次加工。部品集成是将多個分散的(de)部件、材料通過制造集成一(yī)個有(yǒu)機(jī)體,使得在性能提升的(de)同時實現了幹式工法,易于交付和(hé)裝配,同時還能滿足個性化定制需求。因此,我們可(kě)以在某個供應商(shāng)處選擇各種不同顔色、紋飾、材質的(de)地(dì)闆、牆闆、吊頂等等部件進行(xíng)搭配,而不用去(qù)擔心更改可(kě)能會對整體産生的(de)物理(lǐ)影響,因為(wèi)相應的(de)部件都是在工廠已經被驗證完成過的(de)。而在行(xíng)業标準件中,甚至可(kě)以選擇不同供應商(shāng)的(de)産品部件去(qù)實現各種個性化的(de)混搭。

持續交付與持續部署

在完成CI中構建及單元測試和(hé)集成測試的(de)自(zì)動化流程後,持續交付可(kě)自(zì)動将已驗證的(de)代碼發布到存儲庫。為(wèi)了實現高(gāo)效的(de)持續交付流程,務必要确保CI已內(nèi)置于開發管道(dào)。持續交付的(de)目标是擁有(yǒu)一(yī)個可(kě)随時部署到生産環境的(de)代碼庫。而對于一(yī)個成熟的(de)CI/CD管道(dào)(Pipeline)來說,最後的(de)階段是持續部署。作為(wèi)持續交付——自(zì)動将生産就緒型構建版本發布到代碼存儲庫——的(de)延伸,持續部署可(kě)以自(zì)動将應用發布到生産環境。

顧名思義,我們試着更簡單的(de)理(lǐ)解:持續交付的(de)意義在于可(kě)定時自(zì)動的(de)将完成最新集成的(de)軟件部署到測試(或是類生産)環境中進行(xíng)驗證,從而更快速的(de)得到相應的(de)反饋。而持續部署則是将驗證通過的(de)發布版本定時自(zì)動的(de)部署到生産環境中。

持續交付的(de)好處:

繁瑣的(de)部署工作沒有(yǒu)了。團隊不再需要花費幾天的(de)時間去(qù)準備一(yī)個發布;

可(kě)以更快的(de)進行(xíng)交付,這樣就加快了與客戶之間的(de)反饋環;

輕松應對小變更,加速叠代。

在已經完成裝修的(de)房屋中如(rú)若發現管道(dào)漏水或是線纜斷裂怎麽辦?隻有(yǒu)鑿開牆壁進行(xíng)檢查,在更換完成後等待我們的(de)還有(yǒu)牆壁的(de)複原工作。而在裝配式裝修中,管線與結構分離(lí),即設備、管線不在房屋結構中預埋,改為(wèi)填充在裝配式空間的(de)六個面與支撐結構之間的(de)空隙中。當管線出現問題或是升級需要更換時,隻需要打開相應的(de)結構件更換即可(kě)。

簽約持續部署的(de)好處:

發布頻率更快,因為(wèi)不需要停下來等待發布。每一(yī)處提交都會自(zì)動觸發發布流;

在小批量發布的(de)時候,風險降低(dī)了,發現問題可(kě)以很輕松的(de)修複;

客戶每天都可(kě)以看到持續改進和(hé)提升,而不是每個月或者每季度,或者每年(nián)。

對于供應商(shāng)而言,CI/CD可(kě)以盡可(kě)能的(de)保證代碼零庫存,從而更快速的(de)創造出商(shāng)業價值;而對于用戶而言,以天為(wèi)單位持續不斷的(de)獲得穩定的(de)改進更新将極大的(de)提升其滿意度。

結語

正如(rú)前文所言,雲原生不是一(yī)個産品,而是一(yī)套技術體系和(hé)一(yī)套方法論。雲原生既包含技術(微服務,容器等基礎設施),也包含管理(lǐ)(DevOps,持續交付,重組等)。雲原生也可(kě)以說是一(yī)系列雲技術、企業管理(lǐ)方法的(de)集合。

元年(nián)方舟企業數字化PaaS平台正是攝取了元年(nián)科(kē)技20年(nián)企業軟件開發與服務過程中的(de)經驗結晶,其不僅具備了雲原生的(de)一(yī)系列特性,還融入了低(dī)代碼快速開發與AI驅動等先進能力。方舟平台采用先進的(de)技術框架,基于統一(yī)的(de)架構解決技術先進性難題。利用可(kě)視(shì)化建模思想,采用配置化的(de)開發方式,通過重塑開發流程大幅降低(dī)開發成本,同時也減少了對專業人才的(de)依賴。并且通過一(yī)緻的(de)數據描述,天然統一(yī)了數據标準和(hé)數據口徑,為(wèi)數據打通提供了基礎。通過元年(nián)方舟企業數字化PaaS平台,企業不僅可(kě)以構建領先的(de)IT架構,同時實現研發的(de)降本增效,繼而支撐企業的(de)業務創新。

>>

解決方案

白皮書

研究報告

咨詢熱線

400-680-2995