51国产偷自视频在线视频播放_中国毛片视频天天色成人_99成人故事视频在线_狠狠cao熟女少妇_一级女性全黄久久片免费_国产精品天天在线观看麻豆_国产尤物白浆精品_日韩精品欧美亚洲_亚洲乱码一区二区三区在线欧美_日韩经典毛片观看

睿云新聞

深圳睿云智合科技有限公司 > 睿云新聞 (Page 3)

我們應(yīng)該如何基于容器來進行軟件的持續(xù)交付

在過去的一段時間里容器已經(jīng)大量的使用到了IT軟件生產(chǎn)的各個環(huán)節(jié)當(dāng)中:從軟件開發(fā),持續(xù)集成,持續(xù)部署,測試環(huán)境到生產(chǎn)環(huán)境。   除了Docker官方的DockerSwarm,DockerMachine以及DockerCompose以外,開源軟件社區(qū)還涌現(xiàn)了一系列的與容器相關(guān)的工具,涵蓋了從容器編排,調(diào)度,監(jiān)控,日志等等各個方面的需求。   本文將從軟件研發(fā)流程出發(fā)討論如何基于容器解決軟件的持續(xù)交付問題,以及團隊協(xié)作問題。并為大家展示睿云智合(Wise2C)的持續(xù)交付平臺是如何基于目前最先進的軟件開發(fā)流程思想設(shè)計出來的。   在持續(xù)集成中使用容器   構(gòu)建環(huán)境統(tǒng)一管理   在傳統(tǒng)模式下使用持續(xù)集成工具諸如Jenkins,在部署企業(yè)持續(xù)持續(xù)集成平臺的第一個問題就是多樣化的構(gòu)建構(gòu)建環(huán)境需求,而通常的做法是將構(gòu)建Agent(服務(wù)器或者虛擬機)分配給團隊由團隊自己管理構(gòu)建服務(wù)器的環(huán)境配置信息,安裝相應(yīng)的構(gòu)建依賴等。   在持續(xù)集成中使用docker dockerrun--rm-v`pwd`:/workspace-v/tmp/.m2/repository:/root/.m2/repository--workdir/workspace?maven:3-jdk-8/bin/sh-c'mvncleanpackage'   如上所示,我們可以非常方便的通過容器來完成軟件包的構(gòu)建,其中有幾個點需要注意的是: ?--rm命令可以確保當(dāng)命令執(zhí)行完成后能夠自動清理構(gòu)建時產(chǎn)生的容器,我想你應(yīng)該不太希望需要不定期清理構(gòu)建服務(wù)器磁盤的問題吧。   ??-v除了將當(dāng)前源碼掛載到容器當(dāng)中以外,我們還可以通過掛載磁盤來緩存一些構(gòu)建所需的依賴,比如maven下載的jar包,從而提高編譯效率。   ??--workerdir用以指定構(gòu)建命令執(zhí)行的工作路徑,當(dāng)然需要和workspace保持一致。   如上,基于容器我們可以快速搭建適應(yīng)多種構(gòu)建需求的CI構(gòu)建環(huán)境,所有需要的一起就是你的構(gòu)建服務(wù)器上需要的只有Docker。   在持續(xù)集成中使用docker-compose   在某些情況下,在構(gòu)建或者集成測試階段我們可能需要使用到一些真正的第三方依賴,比如數(shù)據(jù)庫或者緩存服務(wù)器。在傳統(tǒng)的持續(xù)集成實踐中,通常要么你直接使用已經(jīng)部署的數(shù)據(jù)庫(記得清理測試數(shù)據(jù),并發(fā)如何保證),直接使用內(nèi)存數(shù)據(jù)庫來代替真實數(shù)據(jù)庫,要不使用mock或者stub來進行測試。   當(dāng)然在理想情況下我們還是希望能夠使用與真實環(huán)境一直的真正的數(shù)據(jù)庫或者其他中間件服務(wù)。基于docker-compose我們可以非常方便的實現(xiàn)對于復(fù)雜構(gòu)建環(huán)境的需求。   build:?command:sh-c'mvn--help'?image:maven:3-jdk8?links:[mysql]?volumes: -'.:/code' -'/tmp/.m2/repository:/root/.m2/repository'?working_dir:/codemysql:?environment:{MYSQL_DATABASE:test,MYSQL_PASSWORD:test,MYSQL_ROOT_PASSWORD:test,MYSQL_USER:test}?image:mysql:5.5   同樣我們以maven為例,假設(shè)我們需要在構(gòu)建中使用到mysql以支持集成測試的需求   docker-composerun--rmbuildsh-c'mvncleanpackage'&&docker-composestop&&docker-composerm-f ?--rm確保在構(gòu)建命令執(zhí)行完成后自動清理build所產(chǎn)生的容器。 ?-docker-composestop&&docker-composerm-f確保依賴的其它服務(wù)如mysql能夠正常的退出并且清理所產(chǎn)生的容器。   建立持續(xù)交付解決方案 建立基于共同目標的具有跨職能協(xié)同的研發(fā)團隊,是DevOps運動的根本。而自動化則是提高效率的基石?;谝陨衔覀兪侨绾位谌萜鹘⑽覀兊某掷m(xù)交付解決方案?   基礎(chǔ)設(shè)施自動化   使用Rancher理由很簡單,Rancher是目前市面上唯一一個能滿足開箱即用的容器管理平臺,同時能夠支持多種編排引擎,如Rancher自己的Cattle,Google的K8S,以及Docker官方的Swarm作為容器編排引擎。同時Rancher提供的Catalog應(yīng)用商店能夠幫助研發(fā)團隊自主創(chuàng)建所需要的服務(wù)實例。   創(chuàng)建持續(xù)交付流水線   建立持續(xù)交付流水線的核心問題是如何定義企業(yè)的軟件交付價值流動。   如下圖所示,我們總結(jié)了從開發(fā),持續(xù)集成,持續(xù)交付各個階段所使用的一些典型工具的使用,以及在各個階段中的相關(guān)團隊的相關(guān)活動,典型的DevOps相關(guān)的活動。   在持續(xù)交付流水線下的團隊協(xié)作   正如上文所說,創(chuàng)建持續(xù)交付流水線的本質(zhì)就是定義軟件的交付的價值流動,反應(yīng)正式的軟件交付流程。價值的流動則涉及到團隊中各個職能的成員的高度協(xié)同。   開發(fā)流水線   開發(fā)人員:頻繁提交持續(xù)集成,通過持續(xù)的編譯,打包,測試,鏡像構(gòu)建,自動化驗收測試等環(huán)節(jié)產(chǎn)生可測試的候選鏡像列表(如:0.1-dev)。   ?以源碼倉庫為起點,開發(fā)人員頻繁提交,每一次代碼變更都要立即在流水線中傳遞;睿云智合WiseBuild持續(xù)交付平臺支持定時周期觸發(fā),代碼變更檢查以及Webhook等多種觸發(fā)方式。   ?提交測試階段從技術(shù)角度斷言整個系統(tǒng)是可運行的,該階段會進行編譯,運行一套單元測試,并進行代碼質(zhì)量分析,WiseBuild持續(xù)交付平臺設(shè)計遵循“BuildInDocker,BuildWithDocker,RunWithDocker"基于容器技術(shù)全面減少對于異構(gòu)構(gòu)建環(huán)境的支持,并且默認提供了當(dāng)前主流的編程語言的編譯,以及測試支持。同時用戶可以根據(jù)需要在持續(xù)交付流水線中集成Sonarqube進行代碼的質(zhì)量跟蹤和管理。   ?自動化測試階段,從功能交付斷言整個系統(tǒng)是能夠滿足客戶規(guī)范和要求的,WiseBuild持續(xù)交付平臺支持基于Rancher或者RancherCompose在流水線中自動部署鏡像到Rancher平臺,同時內(nèi)置了Selenium,Robotframework,Cucumber等主流自動化測試工具和框架。   ?手動測試階段,當(dāng)新的代碼提交部署到rancher環(huán)境后,開發(fā)人員同時可以快速的進行手動測試,確保新提交的代碼在測試環(huán)境中是可用的,并且滿足相關(guān)的功能需求。   ?鏡像構(gòu)建,當(dāng)代碼提交通過了整個流水線的持續(xù)驗證后將會產(chǎn)生響應(yīng)版本的鏡像文件。   基于流水線中的過程質(zhì)量和代碼質(zhì)量數(shù)據(jù),團隊可以快速處理典型的代碼質(zhì)量問題,避免技術(shù)債務(wù)的產(chǎn)生。 總而言之,開發(fā)流水線可以幫助團隊頻繁的進行代碼集成并且通過單元測試,代碼靜態(tài)分析,自動化驗收測試等技術(shù)實際幫助開發(fā)人員快速的發(fā)現(xiàn)和解決問題,并且產(chǎn)生可待測試的鏡像列表。   測試流水線   測試人員:從候選測試鏡像列表中,選擇需要測試的目標鏡像,標記為測試版本(將0.1-dev標記為0.1-test),并且將待測試鏡像自動部署到驗收測試環(huán)境,完成手動探索性測試,對于已測試完成的鏡像標記為預(yù)發(fā)布版本(0.1-test標記為0.1-beta)。   在待測試鏡像列表中選擇鏡像,發(fā)布到開發(fā)用DockerRegistry倉庫。 對于測試人員而言,流水線的起點則變?yōu)榇郎y試的鏡像列表,基于WiseBuild創(chuàng)建Docker類型流水線,可以支持測試人員快速創(chuàng)建測試環(huán)境并且運行相關(guān)的自動化測試腳本,同時滿足手動探索性測試的需求。   支持使用自動化觸發(fā)方式,如‘1.0.*-beta’的形式,當(dāng)監(jiān)聽dockerregistry有符合規(guī)則的鏡像產(chǎn)生后自動觸發(fā)流水線。   支持手動觸發(fā),測試猿人可以手動選擇服務(wù)該規(guī)則的鏡像進行手動觸發(fā),一鍵準備測試環(huán)境,運行自動化驗收測試等。   自動化部署流水線   運維人員:從預(yù)發(fā)布鏡像列表中選擇鏡像部署到預(yù)發(fā)布環(huán)境,并且在驗證通過后標記為release版本(如將0.1-beta標記為0.1-release),并且發(fā)布到生產(chǎn)環(huán)境。   與自動化測試流水線相同,運維人員可以建立獨立的部署流水線,從待發(fā)布的鏡像列表中選擇鏡像發(fā)布到生產(chǎn)環(huán)境Registry中,并且設(shè)置流水線的自動或者手動觸發(fā),實現(xiàn)對于預(yù)生產(chǎn)環(huán)境的一鍵部署。   小結(jié) 睿云智合的WiseBuild持續(xù)交付平臺支持對接基于DokcerRegistry標準的鏡像倉庫服務(wù),包括DockerHub,DockerRegistry,Habor,阿里云等等。 在基于容器的持續(xù)交付實現(xiàn)方案當(dāng)中,我們以鏡像為價值傳遞的單元,通過鏡像的持續(xù)測試以及驗證,完成鏡像從開發(fā),測試到可發(fā)布的狀態(tài)轉(zhuǎn)變,完成軟件的交付流程。   ?開發(fā)人員頻繁提交,持續(xù)集成,持續(xù)反饋。 ?測試人員自服務(wù)部署一鍵準備測試環(huán)境。 ?運維人員執(zhí)行一鍵式部署預(yù)生產(chǎn)環(huán)境。...

Read More

容器技術(shù)幫助傳統(tǒng)金融企業(yè)顯著提升IT能力的最佳實踐

2015年曾沖刺入全行業(yè)保費發(fā)展規(guī)模前三的富德生命人壽,作為一家在業(yè)界連年刷新保費增速記錄的創(chuàng)新性金融機構(gòu),近幾年進入集團化經(jīng)營發(fā)展戰(zhàn)略階段后,在更多的業(yè)務(wù)內(nèi)容創(chuàng)新、業(yè)務(wù)渠道創(chuàng)新、業(yè)務(wù)結(jié)構(gòu)優(yōu)化改造方面始終走在行業(yè)尖端。   而這一切的業(yè)務(wù)發(fā)展成績離不開強大的IT技術(shù)支持與引領(lǐng),尤其是在應(yīng)對互聯(lián)網(wǎng)金融業(yè)務(wù)市場的激烈競爭時,IT能力的對決往往決定著業(yè)務(wù)發(fā)展的優(yōu)劣。2015年下半年,富德生命人壽與中國平安科技——這兩家傳統(tǒng)金融機構(gòu)科技創(chuàng)新力量的優(yōu)秀代表,幾乎同時開始啟動了對容器技術(shù)的調(diào)研與引進,并在歷時大半年的選型與方案驗證測試后,各自完成了自己的容器技術(shù)應(yīng)用項目。   作為領(lǐng)先并專注于金融行業(yè)容器技術(shù)與產(chǎn)品服務(wù)的合作伙伴,睿云智合(Wise2C)非常榮幸地參與了這兩個率先邁出行業(yè)探索和實踐步伐的項目實施過程,并且在其后為更多金融企業(yè)用戶提供了我們的專業(yè)產(chǎn)品與技術(shù)服務(wù),積累了目前遙遙領(lǐng)先市場同業(yè)的成功案例。   下面就讓我們來看看富德生命人壽容器技術(shù)應(yīng)用案例的具體解析。   項目目標場景 富德生命人壽的容器技術(shù)應(yīng)用場景可以說在傳統(tǒng)金融企業(yè)中是最為全面、最為豐富的案例之一,非常具有代表性。其項目需求具體包括:   ?在引進容器技術(shù)之前,富德生命人壽已經(jīng)將核心業(yè)務(wù)系統(tǒng)解耦為六十多個業(yè)務(wù)模塊,正在嘗試系統(tǒng)架構(gòu)的微服務(wù)化治理,而容器技術(shù)剛好可以在有限的基礎(chǔ)設(shè)施及人力資源條件下幫助實現(xiàn)高效部署和運維這些微服務(wù)模塊。 ?作為大部分業(yè)務(wù)模塊自研為主的IT團隊,業(yè)務(wù)軟件的生產(chǎn)過程大幅提升自動化管理水平也迫在眉睫,CI/CD平臺建設(shè)很早就已在富德生命人壽進行實施,容器技術(shù)的助力使得這一平臺的使用將變得更加高效、流暢。 ?作為大力開展互聯(lián)網(wǎng)創(chuàng)新業(yè)務(wù)的金融企業(yè),混合云架構(gòu)支持下的諸多互聯(lián)網(wǎng)應(yīng)用需要在安全可靠的前提下解決高并發(fā)計算資源的彈性伸縮和業(yè)務(wù)靈活遷移,容器管理平臺正是解決這一剛需的最佳利器。 ?支撐富德生命人壽核心系統(tǒng)運行的計算資源每天差不多有一半時間沒有任何業(yè)務(wù)流量,然而大數(shù)據(jù)團隊的計算資源卻非常緊張,富德生命人壽希望將大數(shù)據(jù)平臺部署在容器化環(huán)境中,可以有效提高計算資源在不同運行時段的合理利用,真正實現(xiàn)云計算資源的科學(xué)管理。   技術(shù)實現(xiàn)方案 整體技術(shù)方案: 富德生命人壽基于容器技術(shù)設(shè)計了兩個中心:軟件持續(xù)交付中心和系統(tǒng)持續(xù)運行中心,第一期方案將主要支撐壽險業(yè)務(wù)的核心系統(tǒng)從軟件開發(fā)測試,部署上線到持續(xù)運行全流程管理。   生命人壽IT平臺架構(gòu)部經(jīng)過近一年的廣泛調(diào)研,分析和驗證性測試,最終采用了如下整體技術(shù)方案: ?容器管理平臺采用Rancher,?為上層應(yīng)用提供容器化的基礎(chǔ)設(shè)施和容器化應(yīng)用的運行環(huán)境,以及基礎(chǔ)性容器服務(wù)。 ?持續(xù)交付中心,在睿云智合的WiseBuild基礎(chǔ)上,實現(xiàn)了針對目前研發(fā),測試,運維流程的集成和定制開發(fā)。 ?在容器管理平臺之上,與睿云智合的產(chǎn)品WiseRun設(shè)計思路一致,雙方合作研發(fā)了持續(xù)運行中心,高效管理復(fù)雜業(yè)務(wù)系統(tǒng)的建模,部署過程,以及全面的系統(tǒng)應(yīng)用監(jiān)控,配置中心和日志中心。   應(yīng)用容器化和持續(xù)運營中心 ?將應(yīng)用容器化,實現(xiàn)業(yè)務(wù)系統(tǒng)在多環(huán)境的一鍵部署; ?引入容器管理和編排平臺(Rancher),實現(xiàn)開發(fā),測試,生產(chǎn)環(huán)境的自動化和底層基礎(chǔ)設(shè)施的適配,以提供應(yīng)用的運行環(huán)境,屏蔽底層基礎(chǔ)設(shè)施差異; ?實現(xiàn)應(yīng)用的自動化部署及后續(xù)生命周期管理; ?結(jié)合持續(xù)交付中心,實現(xiàn)業(yè)務(wù)系統(tǒng)的持續(xù)部署。   構(gòu)建基于容器的交付中心 ?將開發(fā)環(huán)境,測試環(huán)境和應(yīng)用環(huán)境容器化,實現(xiàn)環(huán)境“一鍵部署”,及大規(guī)模構(gòu)建環(huán)境的自動創(chuàng)建和復(fù)制,實現(xiàn)開發(fā),測試和預(yù)生產(chǎn)環(huán)境的一致性和標準化交付; ?實現(xiàn)持續(xù)構(gòu)建服務(wù),代碼管理服務(wù),并支持并行、彈性地自動構(gòu)建服務(wù)。 混合云管理 項目中睿云智合(Wise2C)技術(shù)團隊為富德生命團隊完成了市場幾乎所有主流的公有云主機以及私有環(huán)境混合場景的基礎(chǔ)設(shè)施架構(gòu)搭建測試及驗證,為富德生命人壽未來的IT資產(chǎn)投入規(guī)劃提供了有力的數(shù)據(jù)支持。   大數(shù)據(jù)平臺容器化及自動化部署 項目中睿云智合(Wise2C)技術(shù)團隊幫助完成了包括Hadoop以及HDFS、YARN、HBase、Hive、Kafka、Zookeeper等大數(shù)據(jù)組件的容器化集群部署,并全面實現(xiàn)了高可用特性以及平臺的彈性伸縮能力。   建立了在非忙時段使用業(yè)務(wù)計算資源快速啟動大數(shù)據(jù)集群進行自動化數(shù)據(jù)處理的科學(xué)機制。 項目中關(guān)鍵技術(shù)點 日志收集方案 項目中我們根據(jù)富德生命人壽的實際情況設(shè)計了一個低資源資源消耗,無應(yīng)用侵入,可以清楚識別日志來源的統(tǒng)一日志收集方案。請參閱往期微信分享容器內(nèi)應(yīng)用日志收集方案   監(jiān)控告警方案 富德生命人壽在監(jiān)控方面的需求主要包含以下四個功能點,日志采集,告警,存儲以及展示。目前業(yè)界流行的方案中只有prometheus是作為一個整體的方案可以同時滿足這四個功能,但是prometheus的默認的存儲方式是本地存儲,對opentsdb這種分布式的時間序列數(shù)據(jù)庫支持不夠,在擴展性上不夠好。所以我們?yōu)楦坏律藟墼O(shè)計了一種組合式的方案采用cAdvisor+scollector+Bosun+OpenTSDB+Grafana實現(xiàn)監(jiān)控告警需求功能。各個組件之間都有官方支持,所以兼容性有足夠的保證。...

Read More

將DevOps用到生產(chǎn)環(huán)境的民生保險容器應(yīng)用云平臺

作為傳統(tǒng)金融機構(gòu)重要代表的保險行業(yè),許多企業(yè)的關(guān)鍵業(yè)務(wù)運營幾乎毫無例外地依賴著一個笨重而陳舊的單體架構(gòu)核心業(yè)務(wù)系統(tǒng),其牽一發(fā)而動全身的復(fù)雜特性,使得諸多所屬企業(yè)IT團隊在面對企業(yè)“以客戶為中心”、“互聯(lián)網(wǎng)+”等發(fā)展戰(zhàn)略所帶來的排山倒海般的業(yè)務(wù)需求時,往往疲于奔命,甚至舉步維艱。   除了系統(tǒng)架構(gòu)本身的問題,大部分中小型金融機構(gòu),在業(yè)務(wù)軟件的交付與運營管理方面,長期依賴核心業(yè)務(wù)系統(tǒng)供應(yīng)商所提供的定制研發(fā)服務(wù),缺乏對軟件生產(chǎn)過程的高效管理,也使得大家在面對新一代業(yè)務(wù)系統(tǒng)架構(gòu)改造過程中要求的持續(xù)交付/持續(xù)運營這一艱巨挑戰(zhàn)時深感力不從心。   作為民營壽險企業(yè)的杰出代表,民生人壽成立十余年來始終堅持貫徹“以用戶為中心”的經(jīng)營理念,將不斷提升用戶體驗,豐富服務(wù)模式,嘗試通過多種渠道為客戶提供個性化、定制化的保險產(chǎn)品作為公司追求的經(jīng)營目標。而這一業(yè)務(wù)經(jīng)營方針對IT支持的要求也在日益提高,在經(jīng)過反復(fù)的“打補丁”方式勉力維持原有核心系統(tǒng)運行多年之后,民生人壽IT團隊決心破舊立新,向業(yè)內(nèi)標桿企業(yè)看齊,著手進行新一代核心系統(tǒng)的規(guī)劃與建設(shè)。   重構(gòu)一套全新的微服務(wù)架構(gòu)核心業(yè)務(wù)系統(tǒng),并且采用容器技術(shù)來優(yōu)化微服務(wù)架構(gòu)系統(tǒng)的治理模式,這樣的戰(zhàn)略規(guī)劃不可不謂大膽而創(chuàng)新,因為在業(yè)界至今仍未有完整的成功先例。民生人壽IT團隊上下都對這一項目寄予了極高的期望,大家一致認為,新架構(gòu)下的核心業(yè)務(wù)系統(tǒng)重建項目意義極為重大,它很可能帶領(lǐng)民生人壽在未來幾年保險市場風(fēng)起云涌的激烈競爭格局中突破重圍,一舉超越同類型機構(gòu)!   睿云智合(Wise2C)承接了其中一項光榮而艱巨的任務(wù):從2016年中開始,分階段為民生人壽建設(shè)基于容器的企業(yè)級PaaS平臺,包括開發(fā)者中心和運維中心,以幫助民生人壽在新架構(gòu)核心系統(tǒng)搭建過程中實現(xiàn)高效的持續(xù)集成和持續(xù)部署自動化管理,并在未來進一步實現(xiàn)自動化運維管理。   項目目標場景 第一階段建設(shè)開發(fā)者中心,為民生人壽新一代核心系統(tǒng)的項目開發(fā)提供完整的基于容器的持續(xù)集成解決方案,實現(xiàn)從代碼提交到容器化部署的完善的DevOps工具鏈和工作流,促進微服務(wù)模塊開發(fā)和上線的標準化、自動化,提高新一代核心系統(tǒng)的開發(fā)迭代效率。   第二階段建設(shè)運維中心,為日后新一代民生人壽核心系統(tǒng)提供微服務(wù)運行框架以及自動化運維能力,實現(xiàn)持續(xù)部署服務(wù)、自動化彈性伸縮、自動故障恢復(fù)、靈活遷移、高級的服務(wù)編排以及高級的日志監(jiān)控管理等能力,同時滿足業(yè)務(wù)以及平臺的高可用性要求。   技術(shù)實現(xiàn)方案 網(wǎng)絡(luò)方案 本項目中睿云智合(Wise2C)為民生人壽兩個數(shù)據(jù)中心四個業(yè)務(wù)網(wǎng)絡(luò)區(qū)搭建了生產(chǎn)災(zāi)備兩套平臺環(huán)境。各業(yè)務(wù)網(wǎng)絡(luò)區(qū)域均有獨立的冗余接入交換機及網(wǎng)絡(luò)防火墻設(shè)備,通過連接核心交換機及可選的負載設(shè)備實現(xiàn)數(shù)據(jù)流的策略控制及業(yè)務(wù)分隔。各區(qū)域間業(yè)務(wù)流量不允許互相訪問。睿云智合根據(jù)民生現(xiàn)有網(wǎng)絡(luò)架構(gòu)進行了容器平臺網(wǎng)絡(luò)的規(guī)劃設(shè)計,實現(xiàn)了業(yè)務(wù)、管理以及存儲的三網(wǎng)分離。 存儲方案 使用convoy組件連接NAS提供容器存儲。 平臺高可用(HA)方案 平臺的的高可用(HA)部署采用3臺主機節(jié)點,并且連接一個共用的外部的數(shù)據(jù)庫。同時采用Haproxy代理以實現(xiàn)對三臺HA節(jié)點的服務(wù)檢查及訪問切換策略。   MySql集群方案 容器管理平臺需要使用外部數(shù)據(jù)庫,以支持平臺高可用架構(gòu)。我們設(shè)計采用PerconaMySQL數(shù)據(jù)庫集群方案,PerconaServer為MySQL數(shù)據(jù)庫服務(wù)器進行了改進,在功能和性能上較MySQL有著很顯著的提升。   高可用鏡像倉庫方案 高可用私有鏡像庫我們采用Harbor實現(xiàn),使用Harbor提供的基于策略的Docker鏡像復(fù)制功能實現(xiàn)鏡像在兩個環(huán)境的同步共享.該方案的優(yōu)點是利用本地存儲,成本低并且可以實現(xiàn)較快的故障轉(zhuǎn)換。 日志方案 使用睿云智合自研日志收集工具WiseLog對接ELK,實現(xiàn)每個應(yīng)用容器掛載一個專屬的日志卷容器,不會存在應(yīng)用寫日志路徑?jīng)_突的問題。同時,WiseLog容器內(nèi)有l(wèi)ogstash進程收集指定的日志文件,通過進程定時查詢獲取宿主機上新增的日志卷容器,并根據(jù)模板重新生成logstash的配置文件,將新增的日志文件加入收集列表。   WiseLog可以獲取新增日志卷容器在rancher平臺上所屬的Stack,Service和Index,即使一個應(yīng)用容器被調(diào)度到另外的主機,仍然可以通過Stack_Service_Index作為標識,在邏輯上將日志拼接起來,對于復(fù)雜的日志收集邏輯,也可以可以通過logtype的標簽區(qū)分不同的應(yīng)用,設(shè)置不同的日志收集路徑。   監(jiān)控方案 采用Prometheus+Grafana監(jiān)控方案部署。實現(xiàn)對容器宿主機以及容器本身的日志采集,告警,存儲以及展示。   持續(xù)交付平臺方案 睿云智合在民生人壽生產(chǎn)環(huán)境容器管理平臺上部署了持續(xù)交付平臺WiseBuild,用來支持核心系統(tǒng)架構(gòu)改造項目中每一個微服務(wù)模塊的開發(fā)工作。 多個微服務(wù)模塊開發(fā)小組可以同時在統(tǒng)一的WiseBuild平臺上進行微服務(wù)模塊開發(fā)過程的全生命周期管理與協(xié)作,以流水線為中心,實現(xiàn)從代碼構(gòu)建,測試到部署的端到端自動化能力。 同時,WiseBuild的流水線任務(wù)動態(tài)分配并容器化執(zhí)行,構(gòu)建環(huán)境可以動態(tài),彈性擴張,可以支持民生人壽大規(guī)模的持續(xù)集成和部署活動。 通過WiseBuild提供的代碼質(zhì)量分析,自動化測試和發(fā)布決策等質(zhì)量控制體系,民生人壽將為開發(fā)外包人員設(shè)立質(zhì)量門,減少外包開發(fā)人員技術(shù)能力差異以及人員流動所帶來的技術(shù)債積累風(fēng)險。同時WiseBuild集成的各類自動化測試框架可以滿足民生人壽的提高自動化測試覆蓋率的需要。 通過WiseBuild,民生人壽將持續(xù)優(yōu)化軟件開發(fā)過程的管理流程,逐步實現(xiàn)開發(fā)過程的自動化程度以及IT交付效率的提升。通過在項目中持續(xù)的流程優(yōu)化與團隊交付能力的提升,逐步加速新一代核心系統(tǒng)架構(gòu)改造項目的開發(fā)進程。   結(jié)語 眾所周知,重構(gòu)核心業(yè)務(wù)系統(tǒng),并且是用最新的架構(gòu)與技術(shù)重構(gòu)一套沒有多少先例可循的核心業(yè)務(wù)系統(tǒng),這樣的挑戰(zhàn)并非是以傳統(tǒng)而保守著稱的金融機構(gòu)敢于輕易嘗試的項目。相信民生人壽IT團隊的專業(yè)性、先進性都將在這一項目的實施過程中得到充分體現(xiàn)和鍛煉,這一項目也必將隨著實施成果的逐步顯現(xiàn)成為行業(yè)中的優(yōu)秀典范。作為與民生人壽IT同仁們一起并肩戰(zhàn)斗的合作伙伴,睿云智合(Wise2C)將全力以赴,持之以恒地協(xié)助民生人壽共同迎接并贏得這場艱難的挑戰(zhàn)!...

Read More

中國第一家推出容器云服務(wù)的金融行業(yè)云:平安金融云

作為國內(nèi)綜合金融卓越典范的中國平安集團,IT引領(lǐng)業(yè)務(wù)發(fā)展是其多年踐行的企業(yè)科技發(fā)展戰(zhàn)略,憑借多年積累的技術(shù)與團隊經(jīng)驗,平安科技強大的IT能力始終為行業(yè)所矚目。而平安的云計算戰(zhàn)略,不僅僅著眼于平安集團自身,更期望立足于整個金融行業(yè)(和國內(nèi)其他一些金融巨頭的定位一樣!),在科技服務(wù)自身發(fā)展的前提下,逐步謀求將先進而豐富的IT能力與基礎(chǔ)設(shè)施資源對外進行輸出,以科技的力量推動行業(yè)整體發(fā)展。而對于行業(yè)中的中小機構(gòu)同業(yè)來說,在符合信息安全要求的前提下,標桿企業(yè)的專業(yè)技術(shù)與強有力的IT基礎(chǔ)設(shè)施平臺,是他們非常樂于學(xué)習(xí)和借力的先進資源,可以更快、更便利地獲得專業(yè)的技術(shù)平臺解決方案,這有利于他們將有限的人力物力更專注地投向業(yè)務(wù)應(yīng)用層面的需求響應(yīng)。   平安科技正是在這一戰(zhàn)略前提下開始致力于打造金融行業(yè)領(lǐng)先的“平安金融云”,恰逢標志著Cloud2.0時代到來的容器技術(shù)傳入中國,其諸多革命性的技術(shù)優(yōu)勢很快引起了平安技術(shù)先行者們的積極關(guān)注。及至2015年下半年,平安科技決定在新的平安云平臺建設(shè)項目中,正式啟動對容器技術(shù)的選型與引進。 項目目標場景 框架選型 在提供容器服務(wù)之前,平安云平臺已經(jīng)在為用戶提供云主機、云存儲等一系列企業(yè)公有服務(wù),為了實現(xiàn)快速對接平安云已有IaaS平臺并提供全面的容器云運營管理能力,平安科技在容器管理平臺框架選型方面提出了以下選型要求: 架構(gòu)簡單,能夠快速部署,易維護。 開源,貼近主流社區(qū)和原生平臺。 支持多租戶,能夠嚴格的隔離和必要的互通。 支持VPC網(wǎng)絡(luò)降低對網(wǎng)絡(luò)的依賴。 符合容器服務(wù)規(guī)范的Stack、Service、Container領(lǐng)域模型。 完備、豐富的RestfulAPI。 跨平臺支持好,能夠適應(yīng)混合云部署模式。 經(jīng)過一系列的驗證與測試平安科技最終在K8S,Mesos+Marathon以及Rancher之間選擇了我們的Rancher平臺作為容器服務(wù)平臺基礎(chǔ)框架。 自助服務(wù) 過去,開發(fā)測試人員做應(yīng)用的開發(fā)測試工作時往往需要通過繁雜的內(nèi)部資源申請流程獲取開發(fā)測試環(huán)境。過程中常常需要與運維團隊中負責(zé)各個基礎(chǔ)設(shè)置資源管理以及數(shù)據(jù)庫、中間件管理的成員進行多次溝通。無形中增加了時間成本溝通成本,同時所申請的環(huán)境在使用之后沒有有效的資源回收機制造成了大量的資源浪費。 為了解決上述問題,平安科技通過容器服務(wù)平臺為租戶提供自助開發(fā)測試容器環(huán)境創(chuàng)建服務(wù)。租戶可以自助在平臺上快速部署所需服務(wù)與環(huán)境,并且在平臺所分配的資源池中使用或釋放開發(fā)測試容器環(huán)境作用資源。同時自助的在平臺上完成鏡像管理、應(yīng)用編排、服務(wù)集群管理、容器管理等一系列工作。 持續(xù)交付 提供API對接平安已有的開發(fā)管理平臺Wizard,為CICD流水線提供容器運行環(huán)境,實現(xiàn)全流程部署自動化。 技術(shù)實現(xiàn)方案 服務(wù)架構(gòu) 平安云統(tǒng)一管理區(qū) 容器服務(wù)門戶 門戶系統(tǒng),提供容器服務(wù)操作。 基于lvs+keepalived部署架構(gòu),外接mysql集群。 統(tǒng)一管理節(jié)點 采用Ansible,用于部署多租戶容器環(huán)境,添加主機,初始化Registry等節(jié)點管理。 平安云公共服務(wù)區(qū) Rancher服務(wù) 核心服務(wù)組件,主要用于容器調(diào)度與部署。 基于lvs+keepalived部署架構(gòu),外接mysql集群。 Docker節(jié)點 用于鏡像制作、上傳、下載,文件傳輸,執(zhí)行Docker命令。 PublicRegistry 平安官方公共鏡像倉庫,同時是官方公共租戶的鏡像庫。 采取多節(jié)點掛載共享盤部署。 租戶VPC 租戶環(huán)境 每個租戶擁有完整容器部署和運行環(huán)境,包括RancherServer、Docker節(jié)點、PrivateRegistry。 隔離與其他租戶之間的影響,減少跨租戶的網(wǎng)絡(luò)訪問。 容器網(wǎng)絡(luò) 對外:ContainerBridge,采用端口映射。 對內(nèi):容器之間直接使用容器管理平臺框架Rancher自帶的IPsec隧道實現(xiàn)。 如果某個容器需要對外服務(wù),則采用端口映射方式,連通所在vm,就可以暴露服務(wù)。 如果容器不需要對外提供服務(wù),只需要在同個應(yīng)用內(nèi)提供服務(wù),那么采用ipsec方式,這樣避免浪費過多端口。 容器與容器之間建立私有網(wǎng)絡(luò),只有容器與容器之間可以訪問。每個容器都擁有一個私有網(wǎng)絡(luò)地址:10.42.網(wǎng)段。 容器存儲 根據(jù)Docker官方提供的所有存儲驅(qū)動的成熟度。可以看到目前Production-Ready的是AUFS和DeviceMapper。 目前平安科技容器服務(wù)統(tǒng)一運行在CentOS,還沒使用其他操作系統(tǒng)。因此選擇DeviceMapper作為容器存儲驅(qū)動。DeviceMapper底層直接使用云磁盤作為pool,采用LVM管理。 除了容器和鏡像存儲外,應(yīng)用數(shù)據(jù)存儲,包括配置文件采用了volume接口或者直接volume映射來解決應(yīng)用容器漂移的數(shù)據(jù)問題。 日志 容器服務(wù)平臺日志:本地+云平臺ELK日志服務(wù)。 容器自身運行日志:本地云磁盤+云平臺ELK日志服務(wù)。 容器內(nèi)應(yīng)用(業(yè)務(wù)方)日志:業(yè)務(wù)自行規(guī)劃,已經(jīng)提供目錄掛載。 容器監(jiān)控 主要依賴Rancher平臺自帶的主機與容器的監(jiān)控功能,同時,通過腳本,定時獲取容器本身的性能監(jiān)控(cpu/mem/network/storage)數(shù)據(jù),能夠在portal上查看。 1、主機監(jiān)控 2、容器監(jiān)控 3、特定的中間件監(jiān)控 平安研發(fā)了基于zabbix/open-falcon的監(jiān)控平臺用來提供常見中間件的性能監(jiān)控(WebLogic/Tomcat/Nginx等),為中間件鏡像制作腳本,中間件監(jiān)控程序整合到Docker鏡像中,容器一啟動,就能即時上報性能數(shù)據(jù)到監(jiān)控平臺,無需任何外部干預(yù)。 鏡像管理 針對鏡像管理,平安科技進行了從單節(jié)點->雙節(jié)點->跨區(qū)域分布式架構(gòu)的演進。 通過自行開發(fā)的服務(wù)組件實現(xiàn)對不同區(qū)域數(shù)據(jù)中心的跨區(qū)域分布式鏡像管理,每個區(qū)域都部署一套,對接本區(qū)域的私有鏡像庫。一方面監(jiān)聽當(dāng)前區(qū)域的鏡像倉庫事件,然后主動發(fā)起同步操作。另一方面:執(zhí)行Dockcer命令,管理該區(qū)域的所有運行容器的機器。 項目成果 經(jīng)過大半年的設(shè)計、驗證、實施,平安科技以全球領(lǐng)先的容器云開源技術(shù)框架(Rancher)為核心,自主研發(fā)為主,圓滿完成了平安云CaaS容器服務(wù)平臺的建設(shè),實現(xiàn)了為平安集團旗下各個金融類別和擁有不同開發(fā)模式的子公司用戶,提供物理機、虛擬機、容器等滿足不同種類計算需求的計算資源服務(wù)的總體目標。并于2016年嘗試面對公眾市場發(fā)布推廣,成為金融行業(yè)走向容器云平臺公共服務(wù)的第一家機構(gòu)! 結(jié)語 睿云智合(Wise2C)作為Rancher在金融保險行業(yè)的獨家總代理,有幸成為這一歷史性重大項目的合作伙伴,新的一年我們將一如既往地為平安金融云的不斷發(fā)展提供更多專業(yè)、高效的服務(wù)。 同時,我們也非常高興受邀參與到了更多不同運營方向的其他大型金融機構(gòu)的容器云平臺建設(shè)項目,為此我們正不斷完善自身的系列容器技術(shù)平臺產(chǎn)品,希望將我們的項目經(jīng)驗和技術(shù)能力,完整而快捷地交付給更多的企業(yè)用戶!...

Read More

熱烈祝賀睿云智合獲得高新技術(shù)企業(yè)認定

經(jīng)過嚴格的技術(shù)考察與業(yè)務(wù)評估,日前,深圳市高新技術(shù)產(chǎn)業(yè)協(xié)會致函深圳睿云智合科技有限公司,對睿云智合(Wise2C)的高新技術(shù)企業(yè)資質(zhì)申請予以認定。   作為一家在云計算技術(shù)領(lǐng)域起步不足兩年的企業(yè),獲得國家和深圳市相關(guān)產(chǎn)業(yè)協(xié)會的權(quán)威認定,充分證明了睿云智合技術(shù)團隊在產(chǎn)品研發(fā)和技術(shù)服務(wù)方面的專業(yè)性達到了行業(yè)先進水平。...

Read More

睿云智合(Wise2C)持續(xù)為容器技術(shù)開源社區(qū)貢獻力量

Docker公司在Austin舉辦的DockerCon2017上宣布,Docker Hub的全球鏡像下載次數(shù)截至目前為止已超過120億次。而2016年的DockerCon上,這個數(shù)字是41億次。Docker 奇跡般的發(fā)展背后離不開全球開發(fā)者與技術(shù)公司對docker社區(qū)的貢獻。截止目前,Docker項目的社區(qū)貢獻者已經(jīng)達到了3300多人。     睿云智合(Wise2C)容器技術(shù)團隊自組建以來已經(jīng)與十余家金融保險企業(yè)簽訂了容器技術(shù)平臺相關(guān)項目合同。在企業(yè)落地實踐過程中睿云智合(Wise2C)積累了大量的容器技術(shù)落地實踐經(jīng)驗并解決了諸多落地實施時面臨的技術(shù)障礙。如今睿云智合(Wise2C)除了繼續(xù)通過持續(xù)迭代的產(chǎn)品以及專業(yè)技術(shù)服務(wù)幫助企業(yè)實現(xiàn)容器技術(shù)落地之外,也參與到積極為docker社區(qū)貢獻力量的活動中去,致力于幫助推進docker技術(shù)的進一步成熟與完善。在STACKALYTICS最新的數(shù)據(jù)顯示,睿云智合(Wise2C)的社區(qū)commit貢獻數(shù)排名已經(jīng)躋身全球企業(yè)貢獻者Top50。?未來睿云智合(Wise2C)將在容器技術(shù)社區(qū)中持續(xù)投入資源,為容器技術(shù)的發(fā)展貢獻力量。   隨著Docker的日趨成熟,容器技術(shù)在全球范圍內(nèi)的應(yīng)用越來越廣泛,國內(nèi)的企業(yè)IT對于容器技術(shù)也從過去的試用調(diào)研轉(zhuǎn)向現(xiàn)在的真正落地。睿云智合(Wise2C)將密切追蹤這一領(lǐng)域的技術(shù)發(fā)展趨勢,憑借業(yè)界領(lǐng)先的產(chǎn)品以及豐富的落地經(jīng)驗為國內(nèi)企業(yè)提供專業(yè)的技術(shù)服務(wù)。...

Read More

軟件著作權(quán)

睿云智合(Wise2C)研發(fā)團隊通過不斷的技術(shù)創(chuàng)新,目前已經(jīng)自主研發(fā)出多款軟件產(chǎn)品,所有軟件產(chǎn)品均已獲得軟件著作權(quán)。目前睿云智合云計算系列軟件產(chǎn)品已被應(yīng)用在各個企業(yè)級客戶項目中。   軟件產(chǎn)品包括:   WiseBuild軟件軟件持續(xù)集成平臺   WiseRun新?代容器?PaaS平臺   WiseCloud應(yīng)用云平臺   WiseCMP云管平臺Vmware虛擬機管理工具軟件   Hadoop?大數(shù)據(jù)集群部署平臺   WebSphere應(yīng)?用?自動部署和發(fā)布工具   睿云智合容器?鏡像管理理系統(tǒng)   睿云智合應(yīng)?用堆棧管理理系統(tǒng)   WiseCloud通用云平臺快存儲服務(wù)SAN驅(qū)動軟件...

Read More

ISO9001認證

隨著我公司業(yè)務(wù)的不斷擴大,為了適應(yīng)發(fā)展的需要,盡快與國際接軌為客戶提供更優(yōu)質(zhì)的服務(wù),引入ISO9001國際質(zhì)量體系標準已成為迫切需要。   2017年3月23日,經(jīng)授權(quán)公司認證專家的嚴格審核,國家質(zhì)量體系委員會認可,我司管理體系符合ISO質(zhì)量管理體系要求,獲得GB/T19001-2016/ISO9001:2015認證證書。本次通過認證的范圍如下:云計算的開發(fā)與銷售、云計算服務(wù);網(wǎng)絡(luò)設(shè)備及軟硬件的開發(fā)、銷售與維護;計算機系統(tǒng)集成、網(wǎng)絡(luò)技術(shù)開發(fā)與銷售;經(jīng)營電子商務(wù);信息化平臺銷售及提供相關(guān)方案與技術(shù)服務(wù);計算機鄰域內(nèi)的技術(shù)開發(fā)、技術(shù)咨詢、技術(shù)服務(wù)、技術(shù)轉(zhuǎn)讓。   睿云智合(Wise2C)的質(zhì)量管理本著“適應(yīng)國際化大趨勢的環(huán)境,借助實施ISO9001質(zhì)量管理體系提高企業(yè)的管理水平,更進一步滿足客戶要求以及不斷提高服務(wù)與產(chǎn)品的質(zhì)量和技術(shù)含量”的質(zhì)量方針,努力提升在企業(yè)客戶中的服務(wù)能力以及服務(wù)質(zhì)量。目前睿云智合(Wise2C)已為多家金融保險行業(yè)企業(yè)提供了容器云平臺產(chǎn)品以及專業(yè)技術(shù)服務(wù),在金融行業(yè)樹立了多個容器技術(shù)落地的標桿案例。   睿云智合(Wise2C)全體員工將再接再厲,按照質(zhì)量管理體系的要求執(zhí)行,使我公司的質(zhì)量管理體系持續(xù)改進,不斷提高,更好的為客戶提供優(yōu)質(zhì)服務(wù)及產(chǎn)品。 ...

Read More

關(guān)于持續(xù)交付你準備好了嗎?

分享人:鄭云龍 時間:2016-8-25 睿云智合持續(xù)交付產(chǎn)品負責(zé)人,在敏捷和DevOps領(lǐng)域有豐富經(jīng)驗的實踐,過去作為敏捷和DevOps技術(shù)教練向多家大型企業(yè)提供咨詢和培訓(xùn)服務(wù)。   持續(xù)交付理論要解決的最重要的問題就是,如何以最快的方式將我們的軟件交付到客戶手上;如何實現(xiàn)可靠,迅速并且低風(fēng)險的軟件發(fā)布。   在傳統(tǒng)的軟件開發(fā)方法中我們更多的關(guān)注軟件研發(fā)環(huán)節(jié),而DevOps運動則將軟件研發(fā)活動的視角從傳統(tǒng)的需求,開發(fā),測試等活動延伸到了部署,發(fā)布以及運維過程中。 軟件的核心價值是為軟件的使用者帶來收益,在過去我們經(jīng)常聽到開發(fā)人員說這個功能已經(jīng)開發(fā)完成了。?但是在持續(xù)交付中我們認為之后將特性真正的發(fā)布到用戶手上才以為則完成。 持續(xù)支付     而要想達到持續(xù)交付的目標即實現(xiàn)可靠,迅速并且低風(fēng)險的軟件交付需要所有相關(guān)人員(需求,開發(fā),測試,運維)的協(xié)同工作才能保證這一目標的實現(xiàn)。 在持續(xù)交付過程中我們希望一個團隊是能夠充分自治的,能夠完成從軟件的需求,設(shè)計,開發(fā),部署以及運維的端到端所有工作。 全功能團隊         本文將以持續(xù)交付的8個原則來闡述在持續(xù)交付過程中的那些方法和實踐:   原則一:為軟件的發(fā)布創(chuàng)建一個可重復(fù)且可靠的過程 在傳統(tǒng)的軟件研發(fā)模式中瀑布式的工作方式深入到軟件研發(fā)的各個環(huán)境。 在軟件的發(fā)布過程中充滿了各種等待: 構(gòu)建和運維人員在等待說明文檔或者缺陷修復(fù) 測試人員等待“好的”版本構(gòu)建出來 研發(fā)團隊可能在新功能發(fā)布幾周后才收到缺陷報告 最終的結(jié)果就是軟件產(chǎn)品遲遲不能發(fā)布甚至延期,同時由于開發(fā)與測試,開發(fā)和運維之間的過長的反饋周期直接導(dǎo)致軟件產(chǎn)品的質(zhì)量低下,同時可能并不能真正的為使用者帶來價值 同時如果管理者想要對整個軟件交付過程進行改善將會很容易陷入到局部優(yōu)化的惡性循環(huán)當(dāng)中,很難真正了解交付的問題瓶頸 而持續(xù)部署流水線則是解決這一問題的最佳方式,建立持續(xù)部署流水線即建立了一套端到端的軟件交付流程,同時在持續(xù)部署流水線的流程當(dāng)中參與到軟件交付的各個角色都能各司其職,形成一套高效的“拉動系統(tǒng)” 開發(fā)人員持續(xù)的查看代碼度量數(shù)據(jù)以及測試失敗等問題,測試人員自助部署測試環(huán)境,同時運維人員也可以通過一鍵方式將軟件部署到預(yù)生產(chǎn)環(huán)境以及生產(chǎn)環(huán)境。同時對于管理人員也可以通過度量持續(xù)部署流水線的各個環(huán)境來分析交付問題,通過合理的方式優(yōu)化軟件交付流程當(dāng)中存在的問題。 而將持續(xù)部署流水線中的各個環(huán)節(jié)可以劃分為如下幾個不同的階段 提交階段 該階段主要從技術(shù)層面證明軟件系統(tǒng)是可以工作的,該階段會進行軟件的編譯,以及以單元測試為主的自動化測試,以及代碼分析 自動化驗收測試階段 該階段主要從功能和非功能需求角度正面軟件是能夠滿足用戶的需求以及相關(guān)的需求驗收條件 手動測試階段 該階段主要試圖發(fā)現(xiàn)那些自動化驗收測試不能覆蓋的缺陷,同時證明系統(tǒng)是否能夠真正的為用戶提供價值,所以在該階段中通常需要由測試人員完成相關(guān)的探索性測試,集成測試以及用戶驗收測試 發(fā)布階段 發(fā)布階段則旨在將軟件產(chǎn)品發(fā)布到用戶手中包括軟件包發(fā)布或者是直接將軟件部署到生產(chǎn)環(huán)境   原則二:將幾乎所有事情自動化   為了搞笑的支持持續(xù)部署流水線,我們需要將除了探索性測試以外幾乎所有的事情都自動化。 在軟件交付過程中對于自動化我們可以分為兩個方面,一方面是指在產(chǎn)生軟件包過程中的如:編譯,打包,單元測試,集成測試,自動化驗收測試等活動。 自動化構(gòu)建 在這個過程中我們使用例如maven,gradle這樣的構(gòu)建工具可以幫助自動化的完成軟件的構(gòu)建以及解決軟件依賴問題 自動化測試 同時借助諸如robotframework,以及cucumber這樣的自動化測試工具,以及采用BDD或者ATDD的開發(fā)實踐能夠幫助我們產(chǎn)生高質(zhì)量的自動化驗收測試集 基礎(chǔ)設(shè)施及代碼 在虛擬化技術(shù)和容器化技術(shù)盛行的今天,通過諸如AWS的CloudFormation以及Docker的Dockerfile等我們可以將我們的基礎(chǔ)設(shè)施也變成自動化的 另一方面則涉及到與軟件運行相關(guān)的自動化如包括基礎(chǔ)設(shè)施的自動化管理,運行環(huán)境的自動化配置,軟件本身的安裝與配置等等 自動化配置管理 自動化配置管理工具如ansible,puppet,chef等相比傳統(tǒng)的腳本。通過dsl環(huán)境描述的過程將服務(wù)器環(huán)境的準備過程變成自動化的,可重復(fù)的,并且能夠支持大規(guī)模的集群管理   原則三:把所有東西納入版本控制   在過去通常而言我們的svn或者git當(dāng)中只存在我們源代碼本身,而在持續(xù)交付過程當(dāng)中我們認為任何會對軟件的行為,質(zhì)量產(chǎn)生影響的部分都應(yīng)該要做版本化的,并且這些任何部分的每一次變更都應(yīng)該通過持續(xù)部署流水線的形式來進行自動化的驗證。確保任何的變更,如代碼變更,測試用例變更,環(huán)境配置變更都能得到快速的驗證,以及反饋 這些相關(guān)的“變更集”包括:基礎(chǔ)設(shè)施描述文件,源代碼,測試腳本,自動化測試用例,環(huán)境配置腳本,部署腳本,以及數(shù)據(jù)庫的創(chuàng)建,升級,以及回滾腳本等。 從上面的“變更集”也可以看出,持續(xù)交付是一個團隊所有人員和角色都應(yīng)該參與的事情,并且每一個人都對軟件交付富有責(zé)任   原則四:提前并頻繁的做讓你感到痛苦的事情   “如果集成是讓你感到痛苦的,那么每一次代碼提交都應(yīng)該進行集成,而且應(yīng)該從項目一開始就開始這么做;如果發(fā)布軟件過程前測試是一件痛苦的事情,那么就應(yīng)該從項目一開始就不斷的進行測試;如果軟件發(fā)布是一件痛苦的事情,那么每一次代碼提交在完成自動化驗收測試之后都應(yīng)該進行發(fā)布,或者至少發(fā)布到類生產(chǎn)環(huán)境”   原則五:內(nèi)建質(zhì)量   在持續(xù)交付過程中持續(xù)交付流水線定義了一套標準的,可重復(fù)的軟件交付流程;同時借助大量的工具我們可以將這個流程中的機會所有事情都進行自動化。但是另外一個點就是軟件質(zhì)量。 根據(jù)原則四,其實我們也可以推斷出如果對代碼進行測試是一件痛苦的事情,那么在編寫實現(xiàn)代碼之前我們就應(yīng)該寫測試,TDD,ATDD,BDD等軟件研發(fā)實踐正是體現(xiàn)了這一基本原則。 內(nèi)建質(zhì)量是戴明提出的名言之一。越早的發(fā)現(xiàn)缺陷,修復(fù)它們的成本越低。 根據(jù)內(nèi)建質(zhì)量的原則我們可以知道在軟件交付過程中,測試并不是一個階段,所以并不應(yīng)該在開發(fā)介紹之后才開始。同時測試也不應(yīng)該主要是測試人員的職責(zé),參與交付的所有人都應(yīng)該對軟件的質(zhì)量負責(zé) 其中測試四象限很好的闡述了為了確保軟件質(zhì)量而應(yīng)該做的各種類型的測試建模   原則六:“Done”意味著“已發(fā)布” 在持續(xù)交付過程中認為一個特性的交付在理想狀態(tài)下應(yīng)該是已經(jīng)發(fā)布到用戶手中,或者至少已經(jīng)向用戶進行了演示。 相應(yīng)的在敏捷開發(fā)中,我們每一個迭代結(jié)束后都應(yīng)該想"用戶代表"進行演示,并且在“用戶代表”試用認為是完成了之后才意味則“Done” 其中“用戶代表”可以是正在的用戶,也可以是相關(guān)的業(yè)務(wù)人員   原則七:交付過程是每個成員的責(zé)任   在現(xiàn)實情況下,測試部門總是抱怨研發(fā)交付的軟件質(zhì)量差,運維總是抱怨軟件不夠穩(wěn)定,開發(fā)總是抱怨缺陷反饋周期太長,解決問題的成本過高。 而在持續(xù)交付當(dāng)中我們知道,對于交付團隊而言最終目標是確保軟件能夠交付到用戶手中,并且產(chǎn)生相應(yīng)的價值。 而通過持續(xù)部署流水線,我們將所有參與到軟件交付中的角色都聯(lián)合成了一個整體,并且各個部分之間是能夠快速的產(chǎn)生反饋,促成各個成員和角色之間的交流,并且快速的解決問題   原則八:持續(xù)改進   在任何一個充滿生機的組織當(dāng)中持續(xù)改進是這個組織保持活力的基本要素之一。 參與軟件交付的成員需要定期對過去一段時間內(nèi)的交付工作進行回顧,去發(fā)現(xiàn)在這個流程當(dāng)中的做的好的方面,以及做的不好的方面,并且提出解決方案。     為了持續(xù)交付組織應(yīng)該做好哪些準備?     交付團隊而非部門   根據(jù)康威定律“設(shè)計系統(tǒng)的組織,其產(chǎn)生的設(shè)計和架構(gòu)等價于組織間的溝通結(jié)構(gòu)” 由于存在部門墻的存在,導(dǎo)致開發(fā),測試,運維之間的大量溝通成本,嚴重影響效率。甚至嚴重時部門和部門之間甚至?xí)浅H菀灼饹_突。 開發(fā)人員只管完成既定的功能缺乏系統(tǒng)整體性思考;測試人員根據(jù)需求文檔完成測試用例,但是卻不思考需求本身的合理性;運維人員則缺少對軟件架構(gòu)本身的理解。各個部門看似各司其職進井有條,但是卻很難對軟件交付的效率和質(zhì)量做出太多實質(zhì)性的貢獻。正如開篇所述, 而通過“交付團隊”從項目一開始讓所有項目成員能夠參與到軟件的交付過程中,確保各個角色的人員能夠頻繁的進行交流,并且為了一致的目標而共同努力,這也是DevOps運動核心價值 而相同角色之間的溝通交流通過社團COP的形式來進行領(lǐng)域知識的交流和提升是一個不錯的方式     充分授權(quán)團隊   確保持續(xù)交付實踐的成功,賦能團隊,授權(quán)團隊也是整個組織應(yīng)該思考的問題。在持續(xù)交付中我們知道一個團隊是一個應(yīng)該是以做產(chǎn)品而非做項目為目標,需要充分授權(quán)團隊,使得團隊能夠完成從需求,開發(fā),測試,上線的端到端過程。   當(dāng)然在實際情況中,組織會有更多的因素需要考慮,比如最典型的場景比如由于落后的基礎(chǔ)設(shè)施管理方式導(dǎo)致運維團隊往往是被動的響應(yīng)研發(fā)團隊的需求,并且存在大量手動的操作環(huán)節(jié)導(dǎo)致時間和資源的浪費     平臺化,服務(wù)化   公有云,私有云,容器云 通過組織級別引入虛擬化或者容器化技術(shù)以及相應(yīng)的管理平臺如OpenStack,Rancher,Ks8等工具可以大大減少Ops團隊的運維團隊,在過去需要大量手工操作的過程都可以通過虛擬化平臺或者容器化平臺完成,研發(fā)團隊或者資源的周期從之前的幾天縮短到幾分鐘。 基礎(chǔ)設(shè)施自服務(wù) 同時對于Ops團隊則專注于提供底層的基礎(chǔ)設(shè)施資源,包括網(wǎng)絡(luò),安全等相關(guān)管理。并將相關(guān)的資源以服務(wù)的形式暴露給團隊,各個產(chǎn)品團隊管理自己的基礎(chǔ)設(shè)施環(huán)境,維護持續(xù)部署流水線,以及軟件運行環(huán)境的變更 平臺化服務(wù) 同時對于企業(yè)和組織而言通過引入統(tǒng)一的平臺化服務(wù),可以完成對所有產(chǎn)品團隊的統(tǒng)一管理,和監(jiān)控。這些關(guān)鍵的平臺化服務(wù)可能包括:統(tǒng)一的日志管理平臺,持續(xù)交付平臺,以及監(jiān)控和運營平臺等。 ...

Read More

Build MicroService With Spring Cloud And Rancher

分享人:鄭云龍 時間:2016-7-20   睿云智合持續(xù)交付產(chǎn)品負責(zé)人,在敏捷和DevOps領(lǐng)域有豐富經(jīng)驗的實踐,過去作為敏捷和DevOps技術(shù)教練向多家大型企業(yè)提供咨詢和培訓(xùn)服務(wù)。 ?   1, Aganda ? 今天給大家分享的內(nèi)容是:《Build MicroService With Spring Cloud And Rancher》主要內(nèi)容:我們將演示如何通過Spring Cloud和Rancher構(gòu)建一個具有彈性的微服務(wù)應(yīng)用。并且在這個過程中當(dāng)中我們主要遇到的問題,以及最后如何解決。 對于一個最簡單的微服務(wù)應(yīng)用而言,一個最基本的結(jié)構(gòu)如上所示: 我們需要一個服務(wù)發(fā)現(xiàn)和注冊服務(wù)幫助我們管理和發(fā)現(xiàn)新的服務(wù); 當(dāng)我們從一個單體應(yīng)用到幾個,幾十個微服務(wù)時,服務(wù)的配置也成了一個非常棘手的問題,統(tǒng)一的配置管理必不可少; 為了簡化我們的客戶端調(diào)用我們可能需要一個輕量級API Gateway來統(tǒng)一代理我們的所有請求,同時可以做統(tǒng)一的安全控制; 同時在微服務(wù)下我們應(yīng)該遵循Build For Failure的原則,當(dāng)服務(wù)發(fā)生失敗時我們能夠隔離這些失敗的服務(wù),從而需要引入Circuit Breaker熔斷器; 除此之外,同一個服務(wù)可能有一個到多個實例,當(dāng)我們訪問服務(wù)時,我們還需要一個負載均衡器,幫助我們合理的分發(fā)我們的API請求。   2, Build MicroService With Spring Cloud   而Spring Cloud項目正是幫助我們解決以上問題的利器,讓我們可以更加專注于我們服務(wù)本身業(yè)務(wù)邏輯的開發(fā),而將服務(wù)治理所需的工作都統(tǒng)統(tǒng)交給框架來完成。 Eureka提供了統(tǒng)一的服務(wù)發(fā)現(xiàn)和注冊能力; Ribbon和Hystrix則在服務(wù)和服務(wù)之間引入了負載均衡以及熔斷的能力; Zuul則作為一個輕量級的路由和代碼服務(wù)讓我們可以快速建立一個API Gateway的能力。 3, Service Discovery With Spring Cloud Netflix: Eureka   以Eureka提供的服務(wù)注冊和發(fā)現(xiàn)能力為例,作為一個微服務(wù)實例,在啟動時我們將會主動向Eureka Server進行注冊。Eureka Server服務(wù)維護當(dāng)前服務(wù)的實例列表以及狀態(tài)健康檢查。????????而作為服務(wù)的使用者,我們首先需要向eureka server請求當(dāng)前的服務(wù)實例,之后再將請求發(fā)送給API的真正提供者。   4, Client Side...

Read More