DevOps體系及落地實施_第1頁
DevOps體系及落地實施_第2頁
DevOps體系及落地實施_第3頁
DevOps體系及落地實施_第4頁
DevOps體系及落地實施_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、DevOps體系及落地實施技術(shù)創(chuàng)新,變革未來日程為什么要落地DevOps?DevOps落地方法Q&A強依賴 IT 系統(tǒng)的 非 IT 企業(yè)非互聯(lián)網(wǎng)企業(yè)遇到的挑戰(zhàn)發(fā)布頻率低巨石應(yīng)用的更新速度無法跟上市場變化發(fā)布難依賴手工發(fā)布,錯誤百出質(zhì)量差軟件 CICD 流程不標準,導(dǎo)致質(zhì)量不可控信息孤島煙囪式 CICD 工具鏈DevOps從何而來/wiki/DevOps#Definitions_and_historyPatrick Debois 2009 年 DevOpsDays 大會中形成:DevOps 集文化理念、實踐和工具于一身,可以提高企業(yè)高速交付應(yīng)用程序 和服務(wù)的能力,與使用傳統(tǒng)軟件開發(fā)和基礎(chǔ)設(shè)施管理

2、流程相比,能夠幫助企 業(yè)更快地發(fā)展和改進產(chǎn)品。DevOps 的發(fā)展趨勢DevOps 的收益落地DevOps會得到什么收益?實現(xiàn)100%自動化發(fā)布部署頻率加快6倍 部署時間縮短63% 部署成本降低每年節(jié)省40萬美金日程為什么要落地DevOps?DevOps落地方法Q&A持續(xù)交付過程中浪費的時間需求拆分 應(yīng)用架構(gòu)準備/維護 測試環(huán)境制品管理 部署文檔配置環(huán)境 審批人工部署持續(xù)協(xié)作Software Tools:n UFTn AppScann JFrog Xrayn Newmann Jmeter / LoadRunner n Selenium / Appnium n TestLink持續(xù)計劃&定義需求

3、管理項目管理發(fā)布管理資源管理消耗管理缺陷管理敏捷過程管理架構(gòu)設(shè)計安全設(shè)計測試計劃持續(xù)安全安全需求設(shè)計:n TFS / ALM Octane安全靜態(tài)掃描分析n Sonarcube & Fortify漏洞掃描分析n JFrog Xray & BlackDuck & WebInspect & AppScan漏洞掃描分析n AppDefender & JFrog Xray項目經(jīng)理持續(xù)集成前后端開發(fā)需求和代碼關(guān)聯(lián)缺陷和代碼關(guān)聯(lián)代碼單元測試覆蓋率代碼靜態(tài)掃描構(gòu)建/打包自動化測試代碼評審容器鏡像構(gòu)建制品庫管理質(zhì)量元數(shù)據(jù)收集持續(xù)發(fā)布虛擬機發(fā)布容器發(fā)布CMDB自動化發(fā)布工具Software Tools:Open

4、StackDocker / Kubernetes / OpenshiftDevice42JenkinsAnsible / Chef / Puppet持續(xù)運維自動擴容/縮容故障自愈監(jiān)控服務(wù)治理藍綠發(fā)布日志分析告警Software Tools:Kubernetes / OpenshiftZabbixSpring CloudELKSpinnakerPrometheusGrafanaIstio持續(xù)測試功能性測試安全漏洞測試開源組件漏洞測試接口測試集成測試性能測試UI自動化測試Software Tools:IntelliJ, Eclipse, VSGitlab / SVNSonarCube/Fortif

5、yJenkinsArtifactoryGerritJunit / TestNGSoftware Tools:Jira / 禪道ConfluenceVisoAxureTFS/RTC/PolarionJira Zephyr / TestLink發(fā)布速度 KPI發(fā)布質(zhì)量 KPI研發(fā)生產(chǎn)力 KPI安全 KPISoftware Toolsn Grafana / Hygieia / Artifactory metadata持續(xù)評估項目管理協(xié)作工具故障告警機器人代碼提交機器人自動化部署機器人Software Toolsn DialogFlow / Slack / HipChat企業(yè)級DevOps 知識體系產(chǎn)

6、品經(jīng)理業(yè)務(wù)部門架構(gòu)師測試團隊開發(fā)測試運維Dev EnvFTSITUATProd運維需求設(shè)計發(fā)布項目管理需 變?nèi)鼻?更陷管 管管理 理理迭 代 管 理Gitlab Confluence Jira微服務(wù)服 務(wù) 組 件 化注 冊 與 發(fā) 現(xiàn)Restful熔 斷 器服 務(wù) 治 理配 置 管 理持續(xù)集成精益思想構(gòu)建測試版自本動控構(gòu)制建單功元能測測試試持續(xù)部署倉自容庫動器管部集理署群配 置 編 排持續(xù)運維監(jiān) 控 安 全策略方法 技術(shù)工具過 程 管 理持續(xù)反饋日 容 故 運 漏 協(xié) 志 量 障 營 洞 作 分 規(guī) 恢 反 法 通 析 劃 復(fù) 饋 務(wù) 知Service Mesh Grafana Prometh

7、eus ELKDevOps 統(tǒng)一門戶& 可視化Hygieia Slack XRay一期計劃 兩期計劃DevOps 建設(shè)的目標(示例)ApolloAnsible Kubernetes Artifactory OpenshiftFlywayDbSpring Cloud Config ConsulSpring Boot Spring CloudJenkins Sonarqube SeleniumNewManJUnit TestLink TestNG項目管理 敏捷轉(zhuǎn)型轉(zhuǎn)型- 項目開發(fā)從瀑布式開發(fā)轉(zhuǎn)型至精益敏捷模式(項目開發(fā)模式-產(chǎn)品開發(fā)模式)需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化需求管理

8、 Jira/禪道需求條目化管理需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化軟件架構(gòu)管理 巨石應(yīng)用轉(zhuǎn)型微服務(wù)巨石應(yīng)用痛點:項目變大后部署,維護難即使細微的變更也需要全量發(fā)布模塊緊耦合,無法獨立上線開發(fā)框架,語言單一,難以接觸新的技術(shù)棧和框架需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化軟件架構(gòu)管理 巨石應(yīng)用轉(zhuǎn)型微服務(wù)Martin Fowler: Strangler 絞殺者模式https:/bliki/StranglerApplication.html需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化軟件架構(gòu)管理 巨石應(yīng)用轉(zhuǎn)型微服務(wù)數(shù)據(jù)庫拆分Source from: Thought

9、workss blog需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化組織架構(gòu)管理(Netflix)扁平化敏捷團隊(2Pizza)自運維區(qū)分關(guān)注點軟件架構(gòu)管理 功能開關(guān)原理/bliki/FeatureToggle.html種類需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化持續(xù)交付流水線元數(shù)據(jù)管理需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化持續(xù)交付流水線管理 - Jira 和 Jenkins 集成Jira 創(chuàng)建任務(wù)GitGit commit m “#JIRA-101 add fix for login form”ChangeSets in Jenkins需求管理開發(fā)持續(xù)集成制品

10、管理自動化測試發(fā)布管理容器化持續(xù)交付流水線管理 集中管理流水線分散式管理集中式管理轉(zhuǎn)型ING 荷蘭國際集團需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化持續(xù)交付流水線管理 ING 荷蘭國際集團需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化支持了500種應(yīng)用交付TTM 小于6周減少50%的線上發(fā)布事故4. 發(fā)布次數(shù)12,000次/月持續(xù)交付流水線管理 統(tǒng)一管理流水收益需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化制品管理問題:不同團隊各自維護私服或FTP,不能統(tǒng)一監(jiān)管,沒有統(tǒng)一接口開發(fā)團隊GitlabJenkinsMaven庫Nexus開發(fā)團隊GitlabJenkins開發(fā)團隊

11、GitlabJenkins開發(fā)團隊SVNJenkins開發(fā)團隊GitlabJenkins開發(fā)團隊SVNJenkins開發(fā)團隊GitlabJenkins開發(fā)團隊SVNBambooDocker庫Docker RegistryNPM庫NPMC#,.Net庫Nuget開發(fā)團隊SVNMSbuild開發(fā)團隊GitlabJenkinsFTP/SVNAnsibleKubernetesShell發(fā)布流程混亂制品庫管理混亂容易 宕機不支持 高可用工具碎 片化不支持多 地復(fù)制不支持 容災(zāi)需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化制品管理 統(tǒng)一管理需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化開發(fā)團隊

12、Gitlab開發(fā)團隊Gitlab開發(fā)團隊Gitlab開發(fā)團隊SVN開發(fā)團隊Gitlab開發(fā)團隊SVN開發(fā)團隊Gitlab開發(fā)團隊SVN開發(fā)團隊SVN開發(fā)團隊GitlabShell制品庫管理統(tǒng)一管理統(tǒng)一發(fā)布流程0宕機高可用工具 統(tǒng)一異地 復(fù)制一鍵 容災(zāi)持續(xù)集成,自動化測試制品管理需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化制品管理 - 記錄發(fā)布元數(shù)據(jù)需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化測試管理質(zhì)量關(guān)卡第三方開源組件掃描通過率靜態(tài)代碼覆蓋率部署頻率發(fā)布時長QA 驗證時長部署成功率需求覆蓋率功能的使用頻率反饋故障修復(fù)時間部署機器信息配置信息CapitalOne 銀行需求管理開

13、發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化發(fā)布管理 - 基于元數(shù)據(jù)的部署將部署信息可視化 我要部署的包包含了什么需求? 如何實現(xiàn)? 從 Ar t i f a c t o r y 獲取所有的關(guān) 聯(lián)文件的元數(shù)據(jù) 遍歷每個文件元數(shù)據(jù)的信息 聚合,并生成可視化文件關(guān)聯(lián)圖 譜。 需求提交者、分支交付件、依賴關(guān)系和 環(huán)境信息測試關(guān)鍵信息部署關(guān)鍵信息12345需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化配置管理 復(fù)雜配置管理 Artifactory + Ivy應(yīng)用配置文件描述依賴信 息Ivy 描述C+依賴 進行統(tǒng)一部署需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化Dev Repo 1PreFl

14、ightDev Repo nSynchronous Dev Initiated Promotion TaggingSynchronous Dev Initiated Promotion TaggingAsynchronous RM Initiated Promotion StagesMultiple Times a DayMultiple Times a DayBuildPublish to ArtifactoryCheckin CodeBuildPublish to ArtifactoryCheckin CodeContinuous Builds in HudsonSCMPreProdSCM

15、發(fā)布管理 多團隊協(xié)作模型需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化發(fā)布管理 - 讓機器自動化找到部署包Art i f a ct or yAQL/ C LIAn siblePla ybook需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化發(fā)布管理 - 網(wǎng)絡(luò)隔離下發(fā)布軟件國內(nèi)某商業(yè)銀行案例對接內(nèi)部審批系統(tǒng)自動化推送到生產(chǎn)環(huán)境,無需人工拷貝權(quán)限可控漏洞掃描需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化全國軟件交付管理多地復(fù)制二進制倉庫高可用 容災(zāi)備份發(fā)布管理 - 某商業(yè)銀行發(fā)布管理案例需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化發(fā)布管理 騰訊藍鯨的流水線需求管理開發(fā)持續(xù)集

16、成制品管理自動化測試發(fā)布管理容器化Dynamic control over your applications deploymenthttps:/helm.sh/Helm is the package manager for Kubernetes. Like yum for CentOS/RedHatYour whole application described in a single package - helm chart (template yamls)Default configuration values (values.yaml)Single version for every chart (Chart.yaml)發(fā)布管理 Kubernetes Helm需求管理開發(fā)持續(xù)集成制品管理自動化測試發(fā)布管理容器化What are we doing with Kubernetes?JFrog 的測試環(huán)境全部跑在 K8S使用 Helm charts開發(fā)者每個分支有獨立的容器環(huán)境,按需啟用每周模擬100多種用戶的環(huán)境進行調(diào)試(每個環(huán)境50種微服務(wù)組成)開始遷移 SaaS 版本的 Artifactory,Bintray 到 K8s內(nèi)部和外部提供Helm c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論