持續交付9 基礎設施和環境管理

2022-06-30 14:51:10 字數 3236 閱讀 9699

部署軟體步驟:

建立並管理應用執行所需的基礎設施

安裝應用程式的正確版本

配置應用程式,包括資料和狀態

環境:指應用程式執行所需的所有資源和它們的配置資訊.

基礎設施:代表了你所在組織的所有環境和支援其執行的所有服務.

基礎設施和環境管理方式:

使用版本庫中的配置資訊指定基礎設定所處的狀態

基礎設施具備自治性.可自動狀態恢復

測試和監控基礎設施.

基礎設施內容:

作業系統及其配置資訊

中介軟體軟體棧及其配置資訊

基礎設施軟體,如版本控制**庫,目錄服務,監控系統

外部整合點,外部系統和服務

網路基礎設施

解決什麼問題

基礎設施和環境管理,持續交付不僅是應用的版本化管理,基礎設施和環境的版本化管理是關鍵,只有將所有影響因素進行控制才能保障應用迭代後可順利交付.也因此基礎設施和環境的管理,可以說是持續交付的基石.

確保所有環境都是冪等的

很容易準備乙個相同的環境系統,如預生產,生產環境

環境可實現自動化遷移

如果服務監控得當,環境還具備自恢復能力

怎麼做一般基礎設施都是運維團隊負責,但是開發也應該了解運維流程並給予相應的支援.

文件和審計.環境變更要被記錄,便於追溯;變更管理要進行審批流程.

異常告警.開發要輔助運維監控的實施

進行災備管理.高可用服務,需要進行建立備用服務,定時進行資料備份,恢復測試以及對於大資料量資料進行歸檔管理.

內部溝通使用運維熟悉的技術.

監控很重要

與交付流程的其他方面一樣,建立和維護基礎設施的所有內容都要進行版本控制:

作業系統的安裝定義項

資料中心自動化工具的配置資訊

通用基礎設施配置資訊

用於管理基礎設施的所有指令碼

更**管理一樣,基礎設施變更也要進行流水線控制,共享基礎設施還應該單獨建立流水線

變更之後,上層應用可以正常執行;

將變更內容放到運維管理的的測試和生產環境上

執行部署測試

實際基礎設施訪問需要進行許可權控制

控制主要包括如下內容:

未經批准,不允許修改基礎設施

制定基礎設施變更自動化過程

進行基礎設施監控

測試和生產的審核流程要一致,區別只是審核嚴格程度不同.

變更流程:

各種基礎設施變更流程一致

變更流程需要進行使用者登入管理,統計變化平均週期時間

變更要詳細記錄到日誌

能夠看到每個環境的變更歷史

修改內容必須經過測試才可應用生產

每次修改進行版本控制,並通過自動化流程對基礎設施進行變更

驗證變更已生效

自動化指令碼即文件,它記錄變更內容,便於後面進行變更審計.

自動化對生產系統變更可使用工具:puppet,cfengine等

環境安裝分為三種方式:

手動安裝,不推薦

自動化遠端安裝

虛擬化自動化安裝方式流程:

通過帶外遠端管理系統啟動伺服器

通過網路啟動並使用pxe安裝作業系統

通過配置管理工具進行環境管理

環境修改包括:修改作業系統的服務包,公升級,安裝新軟體,修改配置項,執行部署等;

中介軟體組成:二進位制安裝包,配置項和資料

實際中介軟體的管理分為三種:

配置檔案管理.通過組合安裝包和配置檔案即可工作,這種管理最方便;

通過作業系統打包,使用伺服器管理系統管理

無法通過上述方式管理的方式.

實際中介軟體選擇時就要考慮管理的便捷性:

通過產品文件和技術支援進行產品研究.

考查中間間如何處理狀態的.實際中盡量選擇文字處理方式,如果是資料庫來進行狀態處理,你還需要將資料庫管理作為其一部分,會增加複雜性.

查詢用於配置的api.

如果都不滿意,那麼就應該學會放棄,選擇更好的技術.

實際服務執行中經常會出現基礎設施配置引起的問題,這種問題因為平常接觸比較少,很難第一時間排查到.

所以基礎設施管理應該:

基礎設施也應該進行版本控制

進行監控

重視日誌

部署時進行基礎設施冒煙測試

測試環境和生產環境的網路環境盡量一致,這樣可以提前發現問題.這種方式可能感覺有些浪費,但是如果出現問題測試環境和生產環境進行藍綠部署.相當於增加了乙個備用環境.

虛擬化:是一種在乙個或多個計算機資源上增加了乙個抽象層的技術.

但是基礎設施中虛擬化指的是平台虛擬化,即模擬乙個完整計算機系統.

通過平台虛擬化,我們可以控制環境差異,輕易實現基礎設施管理.

優點:輕鬆進行環境初始化

環境固化.

硬體標準化

基線維護簡單.

缺點:任何事物都有兩面性,當你要降低風險時,就要較全面的了解它的優缺點.

缺少動態能力,實際服務變化,不能及時調整.

根據虛擬化的優點,我們可以通過虛擬化技術進行環境公升級測試以及,應用部署測試,以及線上環境問題復現以及並行測試等操作.

雲計算雲計算:分布式計算的一種,指通過網路將巨大的資料計算處理程式分解為無數小程式,然後通過多伺服器組成的系統進行處理和分析這些小程式,得到結果並返回給使用者.

雲計算服務可以分為三類:

基礎設施即服務iaas

平台即服務paas

軟體及服務saas

實際就是將不同的產品進行封裝,便於使用者按需使用.

包括基礎設施服務,訊息佇列,靜態內容託管,流**託管,負載均衡,儲存.

雲服務天然支援虛擬化,擴充套件簡單,有成熟的環境管理服務,使用非常便捷.但是使用的服務越多,與服務商的架構耦合就越嚴重,這是所謂的"上雲容易,下雲難"的**.

同時最核心的問題還是:安全問題和服務級別問題.

安全問題:

如何控制外部危害

如何限制資料竊取

因為黑盒原因,你無法自己控制這些行為,但是雲服務商會提供相應的服務來便於你管理.

服務商通過讓使用者使用標準應用棧,通過犧牲一定的靈活性,便於應用程式和基礎設施的橫向擴充套件.

優點:按需擴充套件

服務商會處理非功能需求,如安全性,可用性,擴充套件性等

標準化應用棧,有利於服務遷移,服務初始化.

缺點:有靈活性限制

使用功能越多,服務繫結越嚴重

基礎設施的監控

監控策略考慮內容:

監控應用和基礎設施,便於收集必要資料

儲存資料,便於分析

資料聚合展示

通知機制

it基礎設施原理

it基礎設施原理 it ct ict融合 iaas 基礎設施即服務 paas 平台即服務 saas 軟體即服務。cpu 看核心數,執行緒數。i7 4核,8執行緒 伺服器型別 塔式,機架式,刀片式。linux結構 硬體,核心,shell,應用程式。硬碟分割槽只支援4個主分割槽或者是3個主分割槽加乙個擴...

前端基礎設施搭建

為了方便前端小白能夠從零基礎的適應專案,跟著我一步一步來搭建專案,更快的入門,不會因為某個點卡住。也方便後期部落格前端專案,如果環境出現問題,或者需要注意的地方也會同步更新。安裝後,在cmd中輸入node vnpm v出現版本號說明配置成功 大約2分鐘 vue cli是vue腳手架工具,方便打包,部...

深度學習基礎設施

tflops teraflops floating point operations per second每秒浮點運算次數 單精度也就是運算效能,決定了運算速度,首選1080ti 2080ti titan v,不過效能最強的titan v的 是2080ti的三倍 vram 視訊記憶體 視訊記憶體大小...