亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于微服務(wù)的DevOps研究與實現(xiàn)

        2018-11-22 06:09:58河北移動魏春來付永振
        網(wǎng)絡(luò)安全和信息化 2018年11期
        關(guān)鍵詞:環(huán)境服務(wù)

        ■ 河北移動 魏春來 付永振

        編者按:微服務(wù)的應(yīng)用將帶來大量問題,比如單體如何拆分成多個微服務(wù),分布式事務(wù)問題,依賴管理變得復(fù)雜,測試更加困難,故障更難于定位等等,本文將探討適配企業(yè)客戶IT運(yùn)維和開發(fā)現(xiàn)狀與環(huán)境的綜合解決方法。

        基于微服務(wù)的DevOps研究意義

        微服務(wù)能解決單體應(yīng)用及SOA帶來的問題,但是微服務(wù)也會帶來問題。微服務(wù)所面對的問題需要一個適配企業(yè)客戶IT運(yùn)維和開發(fā)現(xiàn)狀與環(huán)境的綜合解決方法。

        基于微服務(wù)的DevOps運(yùn)營體系,通過持續(xù)集成、持續(xù)交付和持續(xù)部署(CI/CD)的方法,梳理敏捷開發(fā)流程,將開代碼、構(gòu)建、測試等環(huán)節(jié)由線下轉(zhuǎn)為線上,為企業(yè)提供軟件持續(xù)集成發(fā)布平臺。通過軟件持續(xù)集成發(fā)布平臺可提升企業(yè)軟件交付的效率。

        基于微服務(wù)的DevOps功能實現(xiàn)

        1.技術(shù)背景

        (1)容器云下的微服務(wù)管控(CAAS)

        圖1 微服務(wù)管控邏輯架構(gòu)

        雖然微服務(wù)不需要使用容器來實現(xiàn),但同時使用微服務(wù)與容器這兩種技術(shù)是有益的。當(dāng)使用容器時,軟件所需要的所有東西都被打包成獨立的、輕量級的捆綁包,使部署和操作更加容易。使用Kubernetes開源系統(tǒng),用于自動化容器應(yīng)用程序的部署、擴(kuò)展和管理。微服務(wù)管控邏輯架構(gòu)如圖1所示。

        (2)CaaS在DevOps體系中所處位置

        持續(xù)集成是一種軟件開發(fā)實踐,即團(tuán)隊開發(fā)成員經(jīng)常集成它們的工作,通過每個成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡早地發(fā)現(xiàn)集成錯誤。

        持續(xù)部署是通過自動化的構(gòu)建、測試和部署循環(huán)來快速交付高質(zhì)量的產(chǎn)品。某種程度上代表了一個開發(fā)團(tuán)隊工程化的程度,畢竟快速運(yùn)轉(zhuǎn)的互聯(lián)網(wǎng)公司人力成本會高于機(jī)器,投資機(jī)器優(yōu)化開發(fā)流程化也相對提高了人的效率。

        持續(xù)集成、持續(xù)交付和持續(xù)部署提供了優(yōu)秀的DevOps環(huán)境,而微服務(wù)管控是DevOps環(huán)境實現(xiàn)的基礎(chǔ)。微服務(wù)管控(CAAS)在DevOps體系中所處位置。

        2.業(yè)務(wù)需求

        按DevOps運(yùn)營體系建設(shè)打造整體全面的平臺能力,主要包含環(huán)境管理、構(gòu)建庫管理、集成管理、部署流水線、測試管理、自動化管理、調(diào)度管理、應(yīng)用資源管理、發(fā)布監(jiān)控管理和交付看板管理等內(nèi)容。重點放在開發(fā)流水線、測試流水線和發(fā)布流水線等自動化能力。

        3.業(yè)務(wù)實現(xiàn)

        持續(xù)集成發(fā)布平臺應(yīng)由五部分組成:CI模塊、CAAS模 塊、CSA模 塊、ATP模 塊和DevOps Dashboard。 其中CI模塊為持續(xù)集成模塊,內(nèi) 部 由 Jenkins、SVN、GIT、Maven、Sornarqube等 構(gòu) 件封裝而成,用于支持持續(xù)集成過程中的各項活動;CAAS模塊為持續(xù)發(fā)布模塊,主要基于Kubernetes及其它開源項目商業(yè)化封裝而成,用于支持持續(xù)交付過程中的各項活動,并且為測試環(huán)境、準(zhǔn)發(fā)布環(huán)境提供基礎(chǔ)運(yùn)行環(huán)境(容器云);CSA模塊為持續(xù)部署模塊,主要基于Ansible商業(yè)封裝后構(gòu)建而成,用于支持測試環(huán)境/準(zhǔn)發(fā)布環(huán)境向生產(chǎn)環(huán)境(非容器環(huán)境)遷移部署過程中的活動;ATP模塊為自動化測試模塊,用于支持集成測試、自動化功能測試以及性能測試過程;最后DevOps Dashboard則是面向用戶使用設(shè)計的統(tǒng)一界面,通過該界面對其它平臺提供的功能進(jìn)行能力封裝,使其具備流水線自由編排及調(diào)度的功能。CI/CD過程的業(yè)務(wù)執(zhí)行邏輯如圖2所示。

        圖2 CI/CD過程的業(yè)務(wù)執(zhí)行邏輯

        (1)流水線定義流水線模板包括開發(fā)流水線、測試流

        水線和發(fā)布流水線,包含代碼構(gòu)建,內(nèi)置jenkins集成,可對接 git、svn軟件代碼倉庫,自動化打包管理,版本管理,實現(xiàn)開發(fā)集群的自動化部署。各流水線模板涵蓋的持續(xù)集成與發(fā)布動作如表1。

        4.用戶與平臺的交互

        為了清晰描述用戶如何通過持續(xù)集成發(fā)布平臺實現(xiàn)敏捷開發(fā)與交付過程,本節(jié)將對用戶與平臺的交互過程進(jìn)行詳細(xì)論述:

        (1)開發(fā)流水線

        第一步:研發(fā)人員向代碼庫提交代碼。研發(fā)人員在完成代碼單元的編寫后,可以通過IDE插件向SVNGITGITHUB提交代碼,提交時需要一并提交maven工程文件、源碼、數(shù)據(jù)庫DDLDML文件等,代碼庫會根據(jù)其類型自動歸類;

        表1 流水線模板

        第二步:Jenkins抽取代碼。開發(fā)經(jīng)理根據(jù)現(xiàn)場需求設(shè)置Jenkins的持續(xù)集成條件,包括代碼提交觸發(fā)、定時觸發(fā)、腳本觸發(fā)等。Jenkins會根據(jù)條件自動從代碼倉庫中拉取代碼到本地;

        第三步:代碼編譯。Jenkins將調(diào)用Maven組件對已抽取到本地的代碼進(jìn)行編譯,如果不通過則向研發(fā)人員的IDE推送異常事件;

        第四步:單元測試及代碼質(zhì)量檢查。無論代碼是否通過編譯,都可以選擇執(zhí)行單元測試和代碼質(zhì)量檢查, Jenkins將調(diào)用Xunit、Sonarqube分別進(jìn)行單元測試和代碼質(zhì)量檢查;

        第五步:同步測試結(jié)果。將測試結(jié)果返回給DevOps Dashboard,同時也支持將測試結(jié)果返回至研發(fā)人員的IDE開發(fā)工具中;

        第六步:打包。通過DevOps Dashboard觸發(fā)打包動作,準(zhǔn)備進(jìn)入測試流水線;

        (2)測試流水線

        第一步:準(zhǔn)備測試環(huán)境容器:通過DevOps Dashboard觸發(fā)CaaS平臺,生成測試所需的容器環(huán)境;

        第二步:生成build環(huán)境。CaaS平臺從其標(biāo)準(zhǔn)構(gòu)件庫中拉取容器鏡像,生成包含tomcat、數(shù)據(jù)庫等構(gòu)件的容器環(huán)境1;

        第三步 :部署 Jar、War。DevOps Dashboard通知CI平臺向容器環(huán)境1中部署本次開發(fā)的JAR或WAR包;

        第四步:執(zhí)行配置、數(shù)據(jù)庫初始化。DevOps Dashboard通知CSA平臺對容器環(huán)境1中的配置文件進(jìn)行自動修改,對數(shù)據(jù)庫環(huán)境進(jìn)行初始化。至此容器環(huán)境1已經(jīng)可以作為測試環(huán)境獨立運(yùn)行,容器環(huán)境1主要面向測試人員,用于新增功能的功能驗證測試;

        第五步:生成測試鏡像。CAAS平臺將容器環(huán)境1打包生成測試鏡像;

        第六步:生成測試環(huán)境。CAAS平臺利用上一部生成的測試鏡像生成一個與容器環(huán)境1完全相同的測試環(huán)境,即容器環(huán)境2;該環(huán)境主要面向自動化測試平臺,用于歷史功能的自動化功能回歸測試及性能測試;

        第七步:執(zhí)行測試。DevOps Dashboard通 知ATP平臺開始自動化功能回歸測試及性能測試,并將測試結(jié)果反饋給DevOps Dashboard;至此測試流水線完成,下一步開始進(jìn)入發(fā)布流水線;

        (3)發(fā)布流水線

        第一步:發(fā)布。DevOps Dashboard通知CAAS平臺進(jìn)行版本發(fā)布動作,CAAS平臺從測試臨時庫中抽取測試環(huán)境,打包生成發(fā)布版本;

        第二步:提交部署。CAAS平臺將發(fā)布版本遞交給CSA平臺,由CSA平臺向生產(chǎn)環(huán)境(以PC服務(wù)器為主)發(fā)布生產(chǎn)版本;

        第三步:設(shè)定部署策略。用戶在該階段可以選擇設(shè)定部署策略,如藍(lán)綠部署、滾動部署、金絲雀部署策略等;

        第四步:執(zhí)行部署策略。CSA平臺聯(lián)通生產(chǎn)環(huán)境,根據(jù)上一步設(shè)定的部署策略對生產(chǎn)環(huán)境中的服務(wù)器、負(fù)載均衡進(jìn)行部署策略執(zhí)行;

        第五步:結(jié)果驗證。CSA對部署結(jié)果進(jìn)行驗證,并生成上線報告同步至DevOps Dashboard,供技術(shù)經(jīng)理閉環(huán)審閱。

        猜你喜歡
        環(huán)境服務(wù)
        長期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
        一種用于自主學(xué)習(xí)的虛擬仿真環(huán)境
        孕期遠(yuǎn)離容易致畸的環(huán)境
        不能改變環(huán)境,那就改變心境
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        環(huán)境
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        亚洲精品美女久久久久久久| 国产av国片精品有毛| 国产农村乱辈无码| 亚洲熟妇少妇任你躁在线观看 | 国产精品186在线观看在线播放| 一本一道久久a久久精品综合| 亚洲A∨无码国产精品久久网| 国产一区二区av男人| 久久精品av在线观看| 午夜精品久久久久久99热| 欧美日本亚洲国产一区二区| 青青草免费激情自拍视频| 少妇精品揄拍高潮少妇桃花岛| 久久精品国产亚洲av果冻传媒| 中文字幕一区二区人妻| 亚洲最大无码AV网站观看| 最新国产一区二区三区| 漂亮人妻洗澡被公强 日日躁| 亚洲成av人片一区二区| av无码av在线a∨天堂app| 成人在线视频亚洲国产| 男女男精品视频网站免费看| 97久久精品亚洲中文字幕无码 | 熟女人妇交换俱乐部| 精品国产福利片在线观看| 亚洲精品国产熟女久久久| 国产乡下妇女做爰| 7777精品伊人久久久大香线蕉| 午夜亚洲国产精品福利| 日本加勒比精品一区二区视频| 夫妇交换性三中文字幕| 中文无码成人免费视频在线观看| 国产综合一区二区三区av | 国产av无码专区亚洲av麻豆| 日本少妇被黑人xxxxx| 97久久久久国产精品嫩草影院| 男女互舔动态视频在线观看| 又色又爽又高潮免费视频国产| 99在线播放视频| 免费看男女啪啪的视频网站| 国产狂喷水潮免费网站www|