運維技術盤點

2021-09-30 14:39:59 字數 3681 閱讀 1308

本文將對運維技術從底層到頂層做乙個徹底的梳理和盤點

微服務是近幾年提出的概念,它通過將應用解耦成多個服務的方式來改善其模組化程度,使其更容易被理解、開發、測試和部署,更適用於小團隊快速迭代式協作開發。同時,每個服務也能夠採用不同的技術,便於持續進化。業界前沿網際網路公司都構建了微服務框架(例如基於 spring boot/spring cloud 等開源專案)來應對其業務複雜性以及快速迭代過程中的效率問題。最近,微服務配置管理、容器化部署、自動化測試、微服務治理、微服務監控、安全、故障容忍等領域也受到越來越多的關注

sre(sitereliability engineering,**可靠性工程)是來自於谷歌的乙個最佳實踐,它用於服務的容量規劃和實施、保障服務的可靠性和效能,更多的在軟體基礎架構層面構建自動化工具來取代人工操作,從而更好地應對其業務複雜多變的需求。

devops

逐步成為軟體開發的主流,容器也已在過去兩年中迅速成長為 devops 的核心,在持續整合、持續部署和持續發布等方面也越發受到重視。隨著新的devops 自動化工具不斷湧現、容器及其相關生態的成熟(特別是容器編排工具及其對有狀態服務的支援)、微服務的廣泛應用,越來越多的相關工具將會整合在持續整合過程中,同時自動化持續測試也會變得更加流行,從而更有效地控制質量、保障安全、降低成本、控制風險、提公升效率,更加高效的支援複雜的大型分布式應用。

過去幾年間,以 docker 為核心的容器技術在持續進化,以其構建、分發和部署的簡易性成為 it 基礎架構中的關鍵技術。容器技術通過標準化執行環境的方式來連線了應用的研發、測試和運維。它簡單、輕量,具備很強的可移植性,能更高效的利用資源,還能夠有效的解決軟體依賴問題,提高研發效率,降低研發成本,因此產業界也持續通過容器來優化其軟體發布流程,容器化其遺留程式。

然而,容器技術本身也面臨了不少挑戰。未來,在容器標準化、容器安全、容器網路、容器儲存特別是對資料庫等有狀態服務的支援等方面還存在很大的改進空間,容器的可管理性及易用性也需要進一步提公升

隨著 docker 等容器技術的廣泛應用,容器編排和管理也受到了越來越多的關注,湧現出了諸於 kubernetes、apache mesos、docker swarm mode 等優秀的開源生態和解決方案。它們試圖將目前以資源為中心的管理方式過渡到以應用為中心的管理方式,並且試圖對應用的基礎構成元件(例如配置、服務、負載均衡等)進行標準化,從而獲得更好的可管理性。隨著 caas 的發展,私有或公有的容器雲也越來越多,越來越成熟,使用者體驗越來越好,從而顯著降低遷移成本。

然而,在大規模的實踐中,在灰度發布、資源排程、隔離性、運維監控、日誌等方面仍有待進一步成熟和標準化,在跨資料中心的應用管理,混和雲環境支援,跨雲服務遷移,安全性等方面仍然面臨著困難和挑戰

隨著虛擬化和容器化等技術的出現,運維管理的複雜度和難度大大增加,因此必須通過專業化、標準化和流程化的手段來實現運維的自動化。業界出現了很多提公升效率的自動化工具,例如 puppet、chef、ansible、saltstack 等。各大主流網際網路公司也逐步從工具自動化往一站式自動化運維管理平台的方向進行演化,從而使得能夠對部署、配置、監控、告警等進行一站式處理,實現資源和流程的標準化統一化、應用執行狀態視覺化管理,提公升運維質量,降低運維成本。

隨著監控範圍的不斷擴大,其產生的資料具備多樣性、多維性和非結構化等特點,並且可能同業務資料存在相關性,傳統的手動分析處理方式效率低且成本高。隨著大資料和人工智慧的興起,越來越多的智慧型分析演算法也應用於運維領域,它們通過分析運維系統本身所擁有和產生的海量資料,在問題定位、流量**、輔助決策、智慧型報警和自動故障恢復等方面發揮出較大的作用,從而進一步降低運維成本。

運維基礎架構涵蓋網路、機器、機房、機架、儲存等的管理,涉及基礎資源、機架設計和交付、網路架構設計、資料架構規劃、作業系統、系統軟體、環境交付和機器報廢替換等方向。產業界構建了 cmdb 以支援服務交付流程和相應的管理流程,也構建了相應的初始化、部署、執行、監控、日誌等工具。隨著虛擬化、容器化和雲計算的發展,運維基礎架構也從提供資源往提供能力的方向進行轉變,提高應用對基礎架構的透明性,進而提高基礎架構的靈活性 。

資料庫運維涉及資料庫部署架構、容量規劃、效能調優、資料備份和恢復、資料遷移、資料庫監控審計、資料庫運維管理,故障排除等一系列服務。

隨著資料的快速增長,以 hadoop 為基礎的生態系統也扮演了越來越重要的角色,它涵蓋離線計算、流式計算、即席查詢等多種使用方式,也湧現了 hadoop、spark、kafka、hbase、storm、phoenix 等優秀開源專案。在大資料平台的運維中,由於涉及分布式架構、多源異構海量資料儲存、資料的處理框架更為多樣化和複雜化等問題,大資料的運維也變得異常複雜。

大資料運維的主要目標是提高資源利用率,降低了大資料系統的運維複雜度,提公升使用者友好性。其中,計算資源的統一管理和排程能力,以容器為基礎的多種型別大資料系統混合部署能力,快速彈性擴縮容能力,跨資料中心容災能力,大資料應用監控能力和快速靈活的故障定位能力也變得越來越重要

監控是 it 系統運維中保障核心業務穩定可用的重要環節,它涵蓋網路、主機、業務、應用、效能等方面,涉及快速的故障通知,精準的故障定位和效能分析診斷等。當前比較流行並且在業界廣泛應用開源的監控軟體包括 nagios、cacti、zabbix、ganglia 等。

隨著應用規模的迅速擴大以及 devops、微服務、容器等技術的快速發展,監控也出現新的形態。產業界已經從 nagios 風格的監控方式中演化為流式風格,通過海量監控指標的流式處理,同時通過視覺化平台來實時的展示監控指標。另外,隨著基礎設施變得更加動態,監控不但關心單個節點的執行狀態,更關心整個業務系統的健康狀態,全鏈路追蹤等技術也已經現並得到廣泛應用。

在網際網路化和移動化的背景下,應用逐漸往雲中遷移,傳統的邊界變得越來越模糊,安全也有了新的發展趨勢。過去的安全技術是以防禦為主,採用傳統防火牆、入侵防禦系統等。現在,除了對傳統的安全措施進行加強之外,還會在開發流程中引入一些安全實踐,包括威脅建模,自動安全掃瞄、安全功能性測試等,從而降低安全風險,縮短安全問題的反饋週期。同時,安全也從事先預防轉向為持續檢測和快速響應,通過對攻擊行為的持續檢測,對安全事件進行快速響應,從而大幅降低損失。

近年來,網路遊戲的增長非常迅速,遊戲開發採用通用化框架和引擎的趨勢越來越明顯。在遊戲運維方面,除了常規的運維手段,遊戲還有其自身的特點。首先,端遊、頁遊和手遊由於形式的不同,其在聯網方式、分發渠道、生命週期長短等方面存在差異,因此給網路接入、多渠道分發、容量規劃、網路延時、檔案資料高可靠訪問等方面的運維都帶來了挑戰

其次,由於使用者增長存在不可預知性,遊戲運維必須具備快速的擴縮容能力,多採用混合雲或者公有雲的技術架構,從而最大程度的提公升其水平可擴充套件性。最後,在受到大規模 ddos 異常流量攻擊時,遊戲運維應當具備多級流量清洗保護機制,具備服務降級的能力,從而盡可能的保證可用性。

近幾年來,網際網路金融出現了井噴式發展,fintech 也為其注入了技術創新基因。微服務、容器化、大資料和雲計算等技術為網際網路金融的快速迭代提供了基礎。然而,相對於目前的應用運維,網際網路金融行業有其自身的特點,其在資料留存、安全合規、防攻擊能力、支付清算、金融監管、資料安全、大資料風控和高等級安全防護等方面都有較強需求甚至強制性的金融監管規範,也對網際網路金融的運維提出了更高的挑戰。

mongodb運維技術

這一篇我們以管理員的視角來看mongodb,作為一名管理員,我們經常接觸到的主要有4個方面 1 安裝部署 2 狀態監控 3 安全認證 4 備份和恢復,下面我們就一點一點的講解。一 安裝部署 我之前的文章都是採用console程式來承載,不過在生產環境中這並不是最佳實踐,誰也不願意在機器重啟後滿地找牙...

(七)運維技術

這一篇我們以管理員的視角來看mongodb,作為一名管理員,我們經常接觸到的主要有4個方面 1 安裝部署 2 狀態監控 3 安全認證 4 備份和恢復,下面我們就一點一點的講解。一 安裝部署 我之前的文章都是採用console程式來承載,不過在生產環境中這並不是最佳實踐,誰也不願意在機器重啟後滿地找牙...

運維管理 IT運維與IT運維管理是有技術區別的

說到it運維技術,可能大家都會很熟悉,包括 網路運維,資料庫運維,linux運維,window運維,桌面運維,基礎架構運維,資訊系統運維,erp系統運維。技術是包含了多種多樣。那麼運維管理就是對上面這些技術進行管理嗎?是也不是。他們之間有著本質的區別。it運維技術,很多時候是指基於產品或者技術本身的...