80%的時間在救火,傳統運維如何快速成長不被淘汰?
導讀:自從《應對雙11挑戰,阿裏巴巴自動化運維體係的演進和建設》文章發布以來,就引來了眾多運維從業者的關注,大家不禁思考,無人化運維離我們有多遠?我們如何成為運維領域的專家,不被淘汰?阿裏巴巴運維中台技術專家宋意,整合了雲效2.0運維產品StarOps,教大家如何利用工具把人從日常重複工作中解脫出來,向專業垂直領域縱深發展,逐步成長為領域專家。

從傳統運維OD分離轉型到新型運維DevOps,不是簡單把運維丟給開發就可以了,需要先把運維的工作工具化,實現開發可以利用工具自助完成,DevOps強依賴運維工具的支持。工具的落地也不是一蹴而就的,需要結合企業實際情況逐步建設,第一步先完成標準化,如Java類應用一套標準、PHP類應用一套標準,標準化之後才能使用工具自動化,智能化的核心是數據,自動化沉澱了數據才能做智能化,三步需要逐一實現。
StarOps
雲效2.0涵蓋項目協作域、研發域、測試域、運維域,為企業提供一站式研發協同服務。其中運維域由StarOps負責。StarOps定位一站式運維平台,資源、配置、部署、監控、運行,覆蓋應用運維完整生命周期,具備基於混合雲的應用運維無人值守解決方案以及自動化、數據化、智能化應用運維解決方案。阿裏在運維領域沉澱多年的專家經驗和能力全部集成於此,目標是通過平台使用戶直接擁有運維專家的能力。
不管公有雲、專有雲還是兩者的混合雲,通過運維通道屏蔽底層環境差異,實現上層應用運維統一管控。

運維通道
運維管控通道是服務器自動化運維的基礎,所有操作最終都需要落地到服務器上執行,可以細分為三塊:
1. 命令通道:向服務器下發命令並執行,如ssh $ip $cmd
2. 文件通道:把文件分發到服務器上,如scp/rsync/wget
3. 數據通道:解決數據上行問題,如在腳本或命令執行完成後回調一個地址上報結果。
在服務器規模較小時,用上麵提到的方法一般可以滿足需求,不過隨著規模的增漲,對安全、效率、穩定都會提出更嚴格的要求。用SSH通道時需要打通一台機器到所有服務器的認證,如果這台機器被黑客拿下向所有機器下發rm -rf,後果可想而知。
阿裏自研的運維通道支持百萬級規模服務器管控,支持二層/三層架構與容災部署,1分鍾可以操作50萬台服務器,在內部每天有上億次的調用,安全方麵全鏈路加密簽名、支持賬號級別的命令映射,Agent經過淘寶、天貓、支付寶、阿裏雲等阿裏生產環境業務真實驗證,穩定性、安全性可以得到有效保證。運維通道與CMDB可以形成聯動,實現數據的自動采集,保證CMDB數據的準確性與一致性。
CMDB
CMDB是運維的元數據中心,擁有絕對權威性,一個公司隻能有一份。保存的數據有兩個特點:被大部分運維場景依賴、相對靜態一次維護多次消費,在阿裏內部實踐中數據歸為兩大類:
第一類:資源信息
傳統資源有服務器、網絡設備、IP段等,每種資源又有很多屬性,如服務器的屬性:SN、IP、主機名、OS、機房、機架、CPU、內存等,對於一台物理機而言SN、CPU、內存基本是永遠不變的,OS可以隨時重裝,搬遷後機房信息也會變掉。使用雲後資源類型又有OSS、RDS、SLB等,雲資源的生產、銷毀等管理操作也會集成進來。屬性的變更應當通過外部係統或流程自動化觸發,如OS信息應由裝機係統維護更新、機房信息隻能通過搬遷流程修改。
第二類:業務拓撲
也叫產品線,體現的是業務組織方式,例:BU/事業部->業務架構域->產品->應用,可以一級也可以多級,根據業務規模靈活調整。應用也有非常多的屬性,像狀態、等級、owner、開發負責人、運維負責人、代碼庫、開發語言等。多級時最上級一般與組織架構對應,增加子節點需要上一級審批。
CMDB保存著完整的資源與業務拓撲信息,通過資源與業務的關係,可以清晰了解各個業務使用的資源信息,資源屬性信息再開放到其它係統消費,當擁有完善的基礎信息後,基於場景的運維將會非常方便,例:
1. 把服務器監控項配置在產品或應用上,新增服務器將默認擁有監控。
2. 通過業務拓撲中的應用開發負責人判斷誰有權限進行發布。
3. 服務器默認為運維負責人授權,其它人登錄需要運維審批。

發布
互聯網時代產品迭代速度直接決定產品競爭力,最近有機會接觸一些傳統企業,運維幾乎都是貼身為開發服務,發布按開發寫好的文檔一步一步操作,隻是作為操作工毫無價值與成就感可言。
幾年前在支付寶的時候發布也很痛苦,發布窗口提前幾個月規劃好,基本一個月一次,發布日當天一大早到公司,確認係統owner到位後開始發布,每個應用做完beta發布都要群裏吼聲,由owner確認後才能繼續發,最怕發到一半出意外回滾,因為應用之間有先後依賴回滾就是整個鏈路,從早發到晚是常態,真心體力活。
從一月一次到一周一次,再到現在幾乎開發隨時想發就發(核心係統還是要控製發布節奏),發布係統與業務係統一起持續完善優化才有的今天,隨時可以發使得業務需求可以快速上線,線上缺陷能夠得到及時修複,有效提升交付效率。
發布模式有很多,如藍綠發布、滾動發布、灰度發布等,這裏不再對名詞做解釋,采用哪種模式與公司實際情況有直接關係,但不管哪種模式背後解決的問題都是不要出故障,即使有也要將影響控製在最小。
目前大部分發布工具解決的是把應用包發到線上的問題,不要出故障基本靠人為登機器查日誌或者看監控。不過人工檢查難免會遺漏,或者有時候過於自信覺得改動小肯定不會有問題,最終可能還是產生了故障。所以我們目前正在做無人值守發布。當一台機器發布完成後自動關聯分析監控數據,包括基礎監控(cpu/mem/load)、應用監控(jvm)、中間件監控、業務監控,如果檢測到明顯異常則直接攔截停止發布,在監控項足夠完善、數據足夠準確情況下無人值守發布完全可以做到人工零介入,提交代碼自動測試、自動發布,相信這一天很快就會到來。
阿裏的發布係統在內部能夠支撐日均10萬發布量,可靈活定義發布流程滿足個性化部署需求, java、nodejs、python、php等多種技術棧的自動化發布我們都能夠支持,通過無人值守、發布自愈等智能化發布部署能力保證代碼變更安全,有效降低線上故障。

監控
監控作為線上運行的“眼睛”,能幫助業務快速發現問題、定位問題、分析問題、解決問題,為線上係統可用率提供有力保障,通過利用率數據的分析,幫助業務精準控製運維成本。
支付寶在2010年監控采用的開源軟件nagios+cacti,隨著業務的不斷擴張服務器越來越多,監控項調度延遲越來越嚴重,調高檢測頻率、換最高配物理機、把多台nagios組成集群、對nagios深度調優等還是無法支撐業務的發展,加上開源軟件對應用以及業務監控的缺失,所以最後不得不走上自研的道路。
阿裏的監控規模早已達到千萬量級的監控項,PB級的監控數據,億級的報警通知,基於數據挖掘、機器學習等技術的智能化監控將會越來越重要。監控係統是一整套海量日誌實時分析解決方案,以日誌、REST 接口、Shell 腳本等作為數據采集來源,提供設備、應用、業務等各種視角的監控能力,利用文件傳輸、流式計算、分布式文件存儲、數據可視化、數據建模等技術,提供實時、智能、可定製、多視角、全方位的監控體係。主要優勢:
1. 全方位實時監控:提供設備、應用、業務等各種視角的監控能力,關鍵指標秒級、普通指標分鍾級,高可靠、高時效、低延遲。
2. 靈活的報警規則:可根據業務特征、時間段、重要程度等維度設置報警規則,實現不誤報、不漏報。
3. 管理簡單:分鍾級萬台設備的監控部署能力,故障自動恢複,集群可伸縮。
4. 自定義便捷配置:豐富的自定義產品配置功能,便捷、高效的完成產品配置、報警配置。
5. 可視化:豐富的可視化 Dashboard,幫助您定製個性化的監控大盤。
6. 低資源占用:在完成大量監控數據可靠傳輸的同時,保證對宿主機的CPU、內存等資源極低占用率。

主機運維
服務器單機操作、批量操作、係統配置的管理,我們把服務器日常運維操作全部集中在此,功能包括:
1. WEB終端:獨創WEB終端可嵌入任何Portal,多種安全加密機製實現免SSH一鍵登錄服務器,提升日常運維效率。
2. 文件分發:月均10億次分發量,服務穩定性99.9999%;具備斷點續傳、動態壓縮、智能IO流控等超強能力;同時在容器鏡像層級預熱,超大文件分發,窄帶、跨洋、遠距離傳輸方麵具備世界級競爭力。
3. 定時任務:最小粒度支持秒級且支持隨機,避免同一時間集中執行影響業務。支持按集群配置定時任務,新擴容服務器默認自動添加。
4. 插件平台:統一管控服務器的通用運維腳本及Agent,支持自動安裝、自動升級、進程守護。

堡壘機
堡壘機是進入生產環境的第一道屏障,阿裏自主研發的專業級堡壘機係統,實現了集中訪問控製、多因子驗證、邊界管控、操作實時記錄、過程錄屏、容災容錯、高危審計、命令阻斷等功能,實現對人員操作過程的全麵跟蹤、控製、記錄、回放;符合安全審計,合規,政審,認證等要求,廣泛應用於阿裏集團各業務生產管理(含阿裏雲、螞蟻金服)。產品特點:
1. 專業級堡壘機,滿足訪問集中管控,運維操作命令記錄、過程錄屏,高危命令識別與攔截阻斷等,滿足對於生產網用戶操作行為監測與審計需求。
2. 軟件部署簡單靈活,無硬件依賴,達5000人同時在線高承載,超強合規保障,符合美國上市企業SOX404審計要求和ISO27001信息安全認證要求。
故障管理
IT變更與事件管理,與運維平台天然打通,監控異常事件可一鍵轉工單跟進,主要功能:
1. 事件:支撐客戶、內部反饋線上業務異常,技術支持跟蹤、處理、解決的流程支持和管理。
2. 故障:線上故障進行記錄、通報,並記錄review內容及改進措施。
3. 問題:故障Action或需要長期解決的問題跟蹤,可以與評審流程聯動。
運維大屏
綜合CMDB、監控等數據,為企業提供定製可視化大屏服務,以大屏的方式在指揮中心展示業務運行狀態,輔助指揮決策,大屏也是運維自動化效果展示的最佳窗口。

宋健(宋意):阿裏巴巴運維中台技術專家。工作10年一直專注在運維領域,對於大規模運維體係、自動化運維有著深刻的理解與實踐。2010年加入阿裏巴巴,目前負責基礎運維平台。加入阿裏後曾負責:從零建立支付寶基礎監控體係、推動整個集團監控體係整合統一、運維工具&測試PE團隊。
議題簡介:
基礎運維平台負責阿裏集團及關聯公司、合資公司全網服務器的運維管理,包括淘寶、天貓、螞蟻、菜鳥、阿裏雲、高德、優酷等,是集團唯一的服務器管控通道。百萬級規模的服務器,千變萬化的業務,每天上億次的服務器操作,背後是如何支撐的?本次分享將介紹阿裏巴巴基礎運維產品的架構與實現。
溫馨提示:關於智能化運維,以上內容結合一起看,效果會更好!
最後更新:2017-11-06 11:34:03