日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
Devops落地的核心和13條經驗總結

DevOps 落地的核心和13條經驗總結

作者:測試開發(fā)Kevin 2021-05-27 08:32:27

云計算 本篇我來介紹一下Devops要想實際落地,那么我們需要解決的問題有哪些。我將從產品需求、開發(fā)、測試、運維的角度來分享Devops落地的實際經驗。

 前面的文章中介紹了,Devops的概念以及企業(yè)應用Devops能夠帶來的好處,請參考文章:

DevOps究竟能給企業(yè)解決什么問題

接下來我來介紹一下Devops要想實際落地,那么我們需要解決的問題有哪些。我將從產品需求、開發(fā)、測試、運維的角度來分享Devops落地的實際經驗。

核心

部署流水線核心軟件開發(fā)過程是一個將客戶或用戶的想法變成一個真實可用的特性的過程。部署流水線是這個過程中的一部分,是指軟件從版本控制庫到用戶手中這一過程自動化的展現形式。這一過程包括編譯構建、代碼檢查、上傳制品庫、測試和部署等,并且這些階段的執(zhí)行都應該是自動執(zhí)行的。自動化帶來的好處是這個流程變得更快、可重復且更加可靠。部署流水線的核心是使用jenkins作為各個節(jié)點的串聯,然后在各個流程節(jié)點中使用一系列的工具來實現流水線的自動化!如下圖所示:

13條經驗

產品需求

1.產品定義、里程碑規(guī)劃和用戶需求分析

可以使用影響地圖、用戶故事、看板等方法。

開發(fā)

2.代碼預檢查

代碼預檢查就是在代碼提交到代碼庫之前對代碼進行檢查,包括靜態(tài)檢查、Code Review、測試、編譯等多種方式。

3.技術債務管理

主要的技術債務包括:

沒有文檔或者跟版本不同步;

過時的架構設計;

需要重構的代碼;

遺留代碼缺乏文檔和單元測試,無人能改,無人敢改。

注意:未實現的功能需求不屬于技術債務。

技術債務管理的核心是:在技術債務產生之前能避免則避免,不能避免的可以借助工具提前發(fā)現,對于發(fā)現的技術債務盡可能早的償還掉。

4.第三方組件管理

使用第三方組件,可以不必“重復造輪子”,節(jié)約了時間和精力,加快了軟件開發(fā)的過程。第三方組件已經是軟件開發(fā)不可或缺的組成部分。然而,使用第三方組件并非易事。主要有以下幾方面的問題:

組件會存在缺陷或安全漏洞;

組件的版本會過時;

組件需要額外的維護成本。

通常對第三方組件管理需要關注以下兩個方面:

依賴掃描:能夠掃描出依賴存在的問題,包括是否存在安全漏洞以及版本是否過時。

依賴管理:制定黑白名單,控制策略和影響范圍。黑名單指不允許使用的組件。白名單是可以使用的組件。控制策略指的是當發(fā)現組件有問題時采取的措施,如阻斷,警告。影響范圍指的該控制策略的應用范圍,如當前系統(tǒng),所有系統(tǒng)等。當檢測到依賴組件中包含了黑名單中的組件,按照設置好的控制策略對該組件進行處理,比如編譯失敗,郵件通知負責人等。

5.非功能需求的管理

非功能需求的實現是有成本的,而且它們之間可能彼此排斥,因此我們必須權衡利弊。比如,對安全性要求高的系統(tǒng)往往易用性就不會太好。在實際開發(fā)中,考慮到系統(tǒng)的交付時間,系統(tǒng)的總成本,往往會根據非功能需求的實現難度,做出權衡。

6.API管理

API 管理就是有效管理企業(yè)內部各服務提供的API 接口和對外暴露的共有接口,管理 API 接口的創(chuàng)建、測試、發(fā)布等生命周期,以及 API 接口的版本、并提供 API 開發(fā)者門戶供開發(fā)人員查看。服務的 API 接口在構建時自動地注冊到 API 管理平臺的 API Gateway 中,其他調用方可以通過 API Gateway 訪問這些接口提供的服務,并基于 API Gateway 進行 API 的自動化測試,保證 API 的正確性和健壯性。

7.配置管理

配置管理是指一個過程,通過該過程,所有與項目相關的產物,以及它們之間的關系都被唯一定義、修改、存儲和檢索。例如,可以基于 Git 的方式,在應用程序部署時提供特定環(huán)境的配置文件,實現了代碼與配置的隔離,保證了代碼的唯一性。

8.持續(xù)集成

這里持續(xù)的意思并不是“始終,一直”,它的意思是“隨時”。比較恰當的頻率是:每當有人提交代碼,同時集成一次。通常分為即時集成和定時集成。

即時集成:是指團隊成員每次提交之后就進行集成,并執(zhí)行編譯、構建、自動化測試等任務來檢查個人提交的代碼是否可用。這種集成方式要求執(zhí)行的時間要短,要快速反饋結果,因此只能執(zhí)行一些簡單的測試。

定時集成:類似每日構建(Daily Build),是指每天定時(一般為晚上)自動執(zhí)行一次集成過程,第二天將執(zhí)行結果發(fā)送給關系人。這種集成方式注重的是檢測的全面性和徹底性,對執(zhí)行時長要求不高。

測試

9.測試數據管理

測試數據管理指對測試數據的自動創(chuàng)建以及銷毀。主要包括驗證業(yè)務基礎功能的少量測試數據和驗證核心業(yè)務性能所需要的大規(guī)模測試數據。

10.自動化測試

指對產品的UI測試、服務的接口測試以及代碼的單元測試通過測試代碼來實現。

運維

11.實時監(jiān)控

將所有主機加入監(jiān)控,時刻掌握他們的狀態(tài),一旦有指標不正常,觸發(fā)器觸發(fā)告警,可通過微信、釘釘、郵件方式進行告警.

12 日志收集

當集群環(huán)境壯大之后,某一個模塊可能會部署多個節(jié)點,再登錄到機器上查看某一模塊的日志就變得很困難,通常可以通過elk來建立集中式日志收集系統(tǒng),將所有節(jié)點上的日志統(tǒng)一收集,管理,訪問。

13 環(huán)境管理

環(huán)境管理就是準備部署環(huán)境的過程以及部署之后對環(huán)境的管控。既能保證準備環(huán)境的快速和一致性,又使得部署后的環(huán)境能夠有效利用。一般環(huán)境分為,集成環(huán)境、測試環(huán)境\類生產環(huán)境和生產環(huán)境。如果想要高效管理各種環(huán)境,必須通過腳本實現環(huán)境的創(chuàng)建與部署工作,即一鍵部署。


網站欄目:Devops落地的核心和13條經驗總結
文章鏈接:http://m.5511xx.com/article/djhchji.html