應(yīng)用服務(wù)共享功能
Choerodon平臺中的開發(fā)和部署都是圍繞應(yīng)用服務(wù)來進(jìn)行的,由此可見應(yīng)用服務(wù)在DevOps實(shí)踐過程中的重要性。本文旨在為大家介紹Choerodon v0.19及以上版本中的應(yīng)用服務(wù)共享功能。
文 / 毛智偉 漢得能效中臺中心
了解
背景
共享應(yīng)用服務(wù)功能的背景
在詳細(xì)介紹Choerodon平臺中“共享應(yīng)用服務(wù)”功能的使用之前,我們需要知道使用這個(gè)功能的原因是什么,以及這個(gè)功能可以解決什么問題。
在說起Choerodon平臺中的應(yīng)用服務(wù)時(shí),我們就不得不提微服務(wù)。正是因?yàn)槲⒎?wù)的出現(xiàn),之前的單體應(yīng)用架構(gòu)帶來的問題才得以解決。而下圖也更為直觀地指出了單體應(yīng)用架構(gòu)與微服務(wù)架構(gòu)的區(qū)別。
通過上圖,我們不難發(fā)現(xiàn)微服務(wù)架構(gòu)中的應(yīng)用會(huì)被分解為更小、完全獨(dú)立的服務(wù)組件,這使得它們擁有更高的敏捷性、可伸縮性和可用性。換言之,微服務(wù)架構(gòu)的基本思想就是:圍繞業(yè)務(wù)領(lǐng)域組件來創(chuàng)建應(yīng)用服務(wù),讓應(yīng)用服務(wù)可以獨(dú)立地開發(fā)、管理和交付。
通過微服務(wù)實(shí)現(xiàn)組件化服務(wù)的開發(fā)和交付后,這些組件化服務(wù)按照項(xiàng)目需求組合起來,稍作修改,便是一個(gè)可用的產(chǎn)品。因此,盡管項(xiàng)目是暫時(shí)性的,但項(xiàng)目團(tuán)隊(duì)的交付物卻能以組件的形式共享至其他項(xiàng)目,以此來避免重復(fù)造輪子的情況。而怎樣將已有的應(yīng)用服務(wù)快速地導(dǎo)入或部署到組織下其他項(xiàng)目呢?針對這個(gè)問題,共享應(yīng)用服務(wù)的功能應(yīng)運(yùn)而生。
如何
使用
怎樣使用共享應(yīng)用服務(wù)功能?
當(dāng)組織下其他項(xiàng)目需要用到本項(xiàng)目下某個(gè)應(yīng)用服務(wù)時(shí),項(xiàng)目所有者可以為此應(yīng)用服務(wù)設(shè)置共享規(guī)則,以此來將對應(yīng)版本的應(yīng)用服務(wù)共享至其他項(xiàng)目。
以上便是Choerodon平臺中共享應(yīng)用服務(wù)功能的大致流程,下面我們就按照這個(gè)流程進(jìn)行展開,帶大家了解Choerodon中應(yīng)用服務(wù)的共享功能。
Step1 添加共享規(guī)則
首先,選中一個(gè)目標(biāo)應(yīng)用服務(wù),進(jìn)入詳情界面,選中“共享設(shè)置”,點(diǎn)擊頂部的“添加共享規(guī)則”;在添加共享規(guī)則時(shí),項(xiàng)目所有者可以選擇將該應(yīng)用服務(wù)的某一類型的所有版本全部共享出去,或者選擇一個(gè)特定的應(yīng)用服務(wù)版本共享至目標(biāo)項(xiàng)目。最后選擇“共享范圍”,那么一條共享規(guī)則就這樣添加成功了。
- 目前平臺中預(yù)置可選的版本類型為以下5種,分別是:master、release、feature、bugfix 和 hotfix。
- 此處版本類型是按照版本名中對應(yīng)的分支類型來命名的;但可根據(jù)需求,在此填寫一個(gè)自定義的版本類型。
- 若您想將該類型的所有服務(wù)版本共享出去,僅填寫版本類型即可,不用再選擇特定版本。
共享規(guī)則添加成功并生效之后,共享范圍之內(nèi)的項(xiàng)目便能獲取到該服務(wù)對應(yīng)版本的代碼庫與鏡像,用于之后的二次開發(fā)或直接部署。
Step2 管理共享規(guī)則
共享規(guī)則添加成功之后,可以在之后對其進(jìn)行靈活地修改或是直接刪除;此處支持修改共享規(guī)則中的共享版本與共享范圍;
共享規(guī)則更改后,平臺將按照新的共享規(guī)則執(zhí)行,但不會(huì)影響其他項(xiàng)目下已部署的實(shí)例。
Step3 導(dǎo)入共享應(yīng)用服務(wù)
應(yīng)用服務(wù)的接收方,若發(fā)現(xiàn)已存在的應(yīng)用服務(wù)并不能完全滿足自己的項(xiàng)目需求,便可選擇“導(dǎo)入共享應(yīng)用服務(wù)”,在已有代碼庫的基礎(chǔ)上進(jìn)行二次開發(fā)。
Step4 部署共享應(yīng)用服務(wù)
若共享的應(yīng)用服務(wù)已經(jīng)能夠滿足項(xiàng)目需求,此時(shí)部署人員便可直接在手動(dòng)部署界面,將該服務(wù)對應(yīng)的版本部署至本項(xiàng)目對應(yīng)的環(huán)境。
共享應(yīng)用服務(wù)的功能支持各個(gè)項(xiàng)目團(tuán)隊(duì)更方便地圍繞業(yè)務(wù)來進(jìn)行應(yīng)用服務(wù)的組織,從而使得微服務(wù)彈性伸縮的特性可以得到充分地發(fā)揮,避免出現(xiàn)重復(fù)造輪子的情況。
此外,以應(yīng)用服務(wù)為中心進(jìn)行開發(fā)和部署是Choerodon平臺實(shí)踐DevOps的重要步驟,所以應(yīng)用服務(wù)相關(guān)的功能與體驗(yàn)也是我們一直都在關(guān)注的。
關(guān)于
我們
關(guān)于Choerodon豬齒魚
Choerodon豬齒魚作為開源多云技術(shù)平臺,是基于開源技術(shù)Kubernetes,Istio,knative,Gitlab,Spring Cloud來實(shí)現(xiàn)本地和云端環(huán)境的集成,實(shí)現(xiàn)企業(yè)多云/混合云應(yīng)用環(huán)境的一致性。平臺通過提供精益敏捷、持續(xù)交付、容器環(huán)境、微服務(wù)、DevOps等能力來幫助組織團(tuán)隊(duì)來完成軟件的生命周期管理,從而更快、更頻繁地交付更穩(wěn)定的軟件。
————
歡迎通過我們的 GitHub 和 豬齒魚社區(qū) 進(jìn)行反饋與貢獻(xiàn),幫助 Choerodon 豬齒魚不斷成長,我們將持續(xù)迭代優(yōu)化,敬請期待。大家也可以通過以下社區(qū)途徑了解豬齒魚的最新動(dòng)態(tài)、產(chǎn)品特性,以及參與社區(qū)貢獻(xiàn):
官網(wǎng):http://choerodon.io
Github:https://github.com/choerodon
歡迎加入 Choerodon 豬齒魚社區(qū)
共同為企業(yè)數(shù)字化服務(wù)打造開放的生態(tài)平臺
即時(shí)獲取行業(yè)干貨及最新資訊
企業(yè)級技術(shù)中臺,應(yīng)用微服務(wù)、容器、DevOps等云原生技術(shù),封裝大量技術(shù)開發(fā)包、技術(shù)應(yīng)用組件、技術(shù)場景實(shí)現(xiàn)能力,為企業(yè)服務(wù)化中臺整合、數(shù)字化轉(zhuǎn)型提供強(qiáng)力支撐,也為企業(yè)提供最佳架構(gòu)實(shí)踐
企業(yè)級數(shù)字化平臺,幫助企業(yè)提升核心競爭力,沉淀業(yè)務(wù)能力,服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型,賦能業(yè)務(wù)創(chuàng)新,構(gòu)建企業(yè)信息化生態(tài)