歡迎光臨
每天分享高質量文章

復盤!2017 關註這些Linux運維技術面的運維人都加薪了

近些年來,軟體領域發生了翻天覆地的變化。從操作系統、資料庫等底層基礎架構,到分佈式系統、大資料、雲計算、機器學習等基礎領域,從單體應用、MVC、服務化,到微服務化等應用開發樣式,從 IaaS、PaaS、CaaS 到 FaaS,運維技術(特別是大規模複雜分佈式系統的運維)也變得越來越重要,它已成為 IT 類企業提升生產力的核心。

隨著運維受到越來越多的重視,運維體系也逐步豐富,出現了 DevOps 等理念將研發、測試、運維等流程連接起來。而容器技術更是從底層重構了運維,連接了開發、測試、部署、運行和監控全流程,進一步推動了運維體系從工具化逐步往平臺化、自動化和智慧化方向遷移。

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

微服務

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

SRE

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

DevOps & CI/CD

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 也為其註入了技術創新基因。微服務、容器化、大資料和雲計算等技術為互聯網金融的快速迭代提供了基礎。然而,相對於目前的應用運維,互聯網金融行業有其自身的特點,其在 資料留存、安全合規、防攻擊能力、支付清算、金融監管、資料安全、大資料風控和高等級安全防護等方面都有較強需求甚至強制性的金融監管規範,也對互聯網金融的運維提出了更高的挑戰。

本文「運維技術大盤點,2017 你該關註運維的哪一面?」轉載自網絡,如有版權問題請聯繫處理微信:xiujiang89



————廣告時間————

《馬哥Linux雲計算及架構師》課程,由知名Linux佈道師馬哥創立,經歷了8年的發展,聯合阿裡巴巴、唯品會、大眾點評、騰訊、陸金所等大型互聯網一線公司的馬哥課程團隊的工程師進行深度定製開發,課程採用 Centos7.2系統教學,加入了大量實戰案例,授課案例均來自於一線的技術案例。

開課時間級地點:1月(28期鄭州面授班)

掃描二維碼領取學習資料

更多Linux好文請點擊【閱讀原文】哦

↓↓↓

赞(0)

分享創造快樂