解讀2015之運維篇:變化、發展、漲姿勢
編者按
2015年,整個IT技術領域發生了許多深刻而又復雜的變化,InfoQ策劃了“解讀2015”年終技術盤點系列文章,希望能夠給讀者清晰地梳理出技術領域在這一年的發展變化,回顧過去,繼續前行。
本文為“解讀2015之運維篇”。2015年雖不是運維發展最快的一年,卻是運維變化最大的一年。前一年大家普遍認為云計算是運維的救命稻草,而2015年的多次“災難”讓人警醒。越來越多的企業開始對運維更加重視了,大力提倡自動化運維,圍繞 “自動化運維”相關的探討也越來越頻繁,在一次又一次的思想碰撞中擦出火花,并實施落地。與此同時,無論是使用開源軟件的數量還是采用開源軟件的企業都在持續增長。許多公司對自己的一些軟件進行了開源,其中包括Google、非死book、微軟和IBM等。企業用戶以前所未有的速度擁抱開源,很多優秀人才也投身其中,開源不再可有可無。除此之外,運維基礎系統的更新迭代也不容小覷。還有哪些漲姿勢?我們一起來盤點。
運維的多事之秋
[2015.5.27]支付寶因杭州機房網絡光纖被挖,導致數小時部分用戶業務不可用
[2015.5.28]攜程網癱瘓事件,全網業務中斷12小時
[2015.6.1]UPYUN連續遭遇兩次大規模流量攻擊,影響業務6小時
[2015.6.6]QingCloud因雷暴引起的廣東1區IDC電力故障,業務中斷2小時
[2015.6.6]LeanCloud 多項服務發生中斷,持續4小時
[2015.6.15]知乎機房故障,影響系統使用近2小時
[2015.6.21]阿里云香港節點宕機,業務中斷13小時
[2015.6.19]開源中國Git@OSC連續遭受DDoS攻擊
[2015.09.01]阿里云升級云盾引入BUG,導致誤刪用戶文件
[2015.09.22]七牛云存儲服務故障,業務中斷83分鐘
……
通過這些不完全統計,可以看出云故障是比較多的,在出現故障后,雖然公司會有財務及形象上的損失,但是心態一定要好,不能手忙腳亂。沉著應對,高效處理,快速恢復才是運維人員的“正確姿勢”。2015年,我們從這些故障中不斷地總結,在技術提升的同時,更應該轉變的是觀念,正視容災備份的重要性,將風險降到最低。伴隨著基礎設施的逐步完善,未來這些層面都不再是問題,再者也可以利用工具的優勢來解決高用性架構。
運維工具組合的進化
隨著云計算和開源的高速發展,大量應用需要橫跨不同網絡終端,并廣泛接入第三方服務,IT系統架構越來越復雜。快速迭代的產品需求和良好的用戶體驗,需要運維管理者時刻保障核心業務穩定可用,企業運維中的痛點和難點也急需解決。以下運維工具在這一年更加火爆,為企業業務提供強有力支撐:
-
命令執行與配置管理
- Ansible
- SaltStack
- Puppet
-
持續交付與代碼
- Jenkins
- 國內Coding.net, GitCafe,Git@OSC的興起
- GitLab的進步與穩定
-
ELK生態的成熟
- 提供日志收集,分析,和實時搜索,與可視化監控
- 最近發布2.0大版本
- 應用監控
- APM
- 國內開源
- open-falcon
一套好的運維工具,能夠將應用、網絡、計算、存儲、虛擬化等資源的性能及告警信息綜合分析(可視化),通過簡潔易懂的界面,直觀呈現業務健康水平。當出現故障時,能夠先從全部業務的宏觀視角,確定關聯和影響,再通過智能鉆取和故障定位技術,縮小故障定位范圍是在計算、應用還是網絡,從而明確問題職責,幫助運維和研發準人員確定位業務故障位置。國內的運維人員所需要做的就是利用Django結合開源工具,開發出適合自己業務系統的平臺,通過一定的流程控制,將業務緊密貼合,從而逐步達到自動化運維的目的。
運維基礎系統的進化
企業最重要的是業務系統,所有的工作都是圍繞正常開展業務而展開的。而Linux系統更是技術人員最基本的基石。今年4月份Linux4.0發布,這是一個新的里程碑,更新“live patching”(實時補丁)機制,意味著以后為內核打補丁不用重啟系統了,增強了系統的高可用性。
隨著容器技術的興起,許多新的專門運行容器的Linux發行版本也出現了。光版本就迭代了9個,火得不要不要的。這應該是其它開源軟件所無法超越的,同時也整合了工具集合:Toolbox,為部署提供便利。不過這也使得原本為Docker做出巨大貢獻的CoreOS與Docker分道揚鑣,并獨立發布了Rocket(rkt),認為Docker已經忘記初心,從而獨立出來做一個更純凈的容器。Rocket沒有像 Docker那些為企業用戶提供的“友好功能”,比如云服務加速工具、集群系統等。反過來說,Rocket 想做的,是一個更純粹的業界標準。
運維腳本語言的進化
提到腳本語言,今年最火的非Python莫屬,同時也是Python社區穩定改善的一年。這一年Python2由2.7.9進化到2.7.11,然而2.7版本可以說是非常穩定成熟,用Python之父Guido的話說:“是想不到任何可以加入的新特性,因此不會發布2.8版本”。同時大量重要開源庫通過six兼容包來同時支持Python2和3,這讓開發者轉型Python3變得不再那么遙不可及。Python3在9月份橫空出世了3.5版本,正式宣告Python成為一個從語法上原生支持協程的語言,這一特性也吸引著越來越多的開發者遷移到3.5,越來越多的開源庫遷移到Python,這個方向的改變是非常明顯的。
除了Python外,Django無疑也是一匹黑馬,運維本來跟Web開發沒有太多關聯,但Django的長足進展,卻幫了國內運維一個大忙。在大力提倡運維開發的時代,Django的出現讓運維非常快速方便地開發部署自動化工具,極大地釋放了運維的生產力。2015年,Django從1.7升級到1.9,支持大量新特性,開發部署越來越簡便,而且生態越來越成熟, 2016年即將朝著Django2.0的方向邁進。
總結
這一年,在大規模、復雜架構的催生下,運維技術不斷變化、發展、漲姿勢。自動化運維被推到一個新的高度,給傳統企業帶來了福音;給基礎運維帶來了巨大的挑戰與機遇;同時也給越來越多的企業帶來了新的抉擇;開源技術的飛躍、腳本語言的進化等也給運維行業帶來了革命性的影響。展望2016年,相信容器技術將持續爆炸式增長,云運維更加簡單高效,讓我們拭目以待,盡情擁抱他們吧。
感謝黃丹對本文的審校。
來自: http://www.infoq.com/cn/articles/2015-review-operation