成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

DevOps究竟能給企業解決什么問題

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

核心

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

13條經驗

產品需求

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

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

開發

2.代碼預檢查

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

3.技術債務管理

主要的技術債務包括:

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

過時的架構設計;

需要重構的代碼;

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

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

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

4.第三方組件管理

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

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

組件的版本會過時;

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

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

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

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

5.非功能需求的管理

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

6.API管理

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

7.配置管理

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

8.持續集成

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

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

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

測試

9.測試數據管理

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

10.自動化測試

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

運維

11.實時監控

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

12 日志收集

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

13 環境管理

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

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2014-12-15 14:39:00

Java

2013-07-11 14:41:16

編程經驗

2009-08-20 17:35:47

Servlet和JSP

2009-10-15 09:27:00

2017-11-09 17:35:21

數據庫OracleSQL優化

2016-03-14 11:05:58

數據挖掘數據挖掘模型數據處理

2011-07-21 13:40:17

java

2016-12-15 13:31:20

Java異常處理經驗

2009-03-21 19:21:22

2009-09-16 17:13:54

學習Linq

2009-08-19 09:24:43

AJAX引擎經驗總結

2009-09-29 16:32:11

OJB Hiberna

2009-08-27 11:21:36

C# override

2010-03-25 13:42:14

云計算

2010-03-23 11:39:49

云計算

2010-04-21 14:53:46

Oracle游標

2010-05-19 17:24:55

MySQL編碼

2009-11-17 11:24:00

PHP應用技巧

2009-09-11 13:29:31

LINQ查詢操作

2009-09-16 17:44:54

LINQ to SQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩电影一区二区 | 成人深夜小视频 | 亚洲欧洲成人av每日更新 | 久久国产精品免费一区二区三区 | 亚洲高清久久 | 久久久精品视频免费看 | 9色网站 | 日韩在线一区视频 | 一级欧美一级日韩片免费观看 | 日韩一级免费电影 | 成人性生交大片 | 红色av社区 | 国产高清视频一区 | 国产一级在线观看 | 国产亚洲成av人片在线观看桃 | 天堂一区 | 久久av网| 亚洲高清在线 | 国产精品久久久久久久久污网站 | 国产片侵犯亲女视频播放 | 精品一级 | 精品一区二区三区四区视频 | 国产精品久久久久久久久久久免费看 | 亚洲成人精品国产 | 日本韩国电影免费观看 | 精品国产伦一区二区三区观看方式 | 亚洲欧美v | 成人激情视频在线 | 91精品久久久 | 嫩草影院网址 | 99久久精品国产一区二区三区 | 亚洲一二三在线 | 日韩成人久久 | 91精品国产综合久久久久蜜臀 | 免费簧片视频 | 欧美精品乱码久久久久久按摩 | 日韩欧美中文在线 | 一区二区在线不卡 | 精品综合久久久 | 黄色免费av| www午夜视频 |