當DevOps遇見AI,智能運維黃金時代即將開啟?
人工智能應(yīng)用的分類
很多情況下人工智能無法給出 100% 正確的回答(其實人類也是一樣的),如何找到人工智能善于解決的問題就成了首要的任務(wù)。
人工智能應(yīng)用可以分成三類:
- 核心業(yè)務(wù),失敗不可接受。 醫(yī)療,銀行,法律。
- 核心業(yè)務(wù),失敗率可接受。 自動駕駛,自然語言理解。
- 非核心業(yè)務(wù),對失敗不敏感。 用于改善用戶體驗。
從人工智能發(fā)展和應(yīng)用的過程來看,通過對感知的模擬,幫助人類做決策,直到完全 代替人類處理大量重復(fù)的數(shù)據(jù)方面的工作。
另一方面,由 巨大商業(yè)利益 推動的人工智能將很快成為現(xiàn)實,自動駕駛商業(yè)應(yīng)用會帶來客觀的商業(yè)價值比如:
人為交通事事故減少,保險費降低,無人參與駕駛,用車成本減少到五分之一;按需用車,汽車保有數(shù)量會減少到三分之一,導(dǎo)致車商業(yè)模式變革;車輛流量變化,大量節(jié)省道路和停車場的面積,導(dǎo)致城市規(guī)劃改變。
人工 + 智能才是最佳的組合方式
卡斯帕羅夫和李世石真的敗給了機器嗎?
(IBM 的深藍和谷歌的 AlphaGo)在人類選手的對面,是人工智能匯集了所有人類智慧和經(jīng)驗的智能流算法,如果是這樣的話人類必敗無疑。
但反過來想如果人類也有一個人工智能輔助來比賽呢?那勝負就未嘗可知了。
卡斯帕羅夫在被深藍擊敗后,發(fā)起了自由式國際象棋比賽,可以使用人工 + 智能(半人馬選手)方式參與比賽,由人工智能給出建議,人類來決定是否采納建議。2014 自由式國際象棋對抗比賽人類贏得了 42 場半人馬選手贏得 53 場,當前最優(yōu)秀的國際象棋團隊都是半人馬選手由人類和人工智能組成。既然人工智能可以幫助人類成為最優(yōu)秀的象棋選手,那么可以推測人工智能也能幫助人類成為最優(yōu)秀的醫(yī)生、飛行員、法官 和教師甚至是運維和開發(fā)人員。
人工智能的工作方式和解決的問題種類
上圖為典型的機器學習流程(圖來源于 Natalia Konstantinova 博士的博客)
機器學習可以解決以數(shù)據(jù)為基礎(chǔ)四類問題:典型的機器學習通過無監(jiān)督學習和監(jiān)督學習,抽取特征,再通過機器學習算法,實現(xiàn)基于通用特征分組,得出預(yù)測模型,通過預(yù)測模型為新數(shù)據(jù)數(shù)據(jù)打標簽。邏輯推理預(yù)測、規(guī)劃師、溝通者、體驗與情感。
由 Ajit 的一片博客中總結(jié)到人工智能善于解決的 12 中問題(http://www.opengardensblog.futuretext.com/archives/2017/01/twelve-types-of-artificial-intelligence-ai-problems.html)
- 領(lǐng)域?qū)<遥耗M現(xiàn)場專家給出建議
- 領(lǐng)域擴展:給出新見解新方法。
- 復(fù)雜規(guī)劃師:比非 AI 算法易于優(yōu)化
- 更好的溝通者:智能代理,自動語言翻譯
- 新感知能力:機器視覺產(chǎn)生了自主車輛
- 企業(yè) AI:改進業(yè)務(wù)流程
- ERP AI: 通過認知系統(tǒng)增強 ERP
- 跨界影響預(yù)測:比如自主車輛導(dǎo)致司機崗位需求降低;人為交通事事故減少,保險費降低;按需用車消費導(dǎo)致車企商業(yè)模式變革,車輛流量變化,導(dǎo)致城市規(guī)劃改變。
- 目前算法和硬件問題無法很好解決的問題:語音識別達到人的能力。
- 更好的專家系統(tǒng):通過資料無監(jiān)督學習獲取知識
- 超長序列模式識別:時間序列預(yù)測模型
- 情感分析:通過行為預(yù)測人類情感的變化
運維發(fā)展的歷程與人工智能的作用
運維行業(yè)經(jīng)歷了初始、專業(yè)化、工具化、平臺化、云化和智能化過程。從手動運維階段基本沒有數(shù)據(jù),到規(guī)?;Y(jié)構(gòu)化數(shù)據(jù)和智能化非結(jié)構(gòu)化數(shù)據(jù)的趨勢。
人工智能發(fā)展初期充當輔助人類的助手角色,以增加銷售額,提升用戶體驗,優(yōu)化生產(chǎn)過程和節(jié)省成本為目標。
手動階運維階段
運維工作量小運維人員主要工作就是看監(jiān)控屏幕,隨著對運維要求提高,工作分工此階段產(chǎn)生,產(chǎn)生了穩(wěn)定,便捷,可靠,快速的工作原則。
人工智能可以做的是:基于人的經(jīng)驗,對結(jié)構(gòu)化銷售數(shù)據(jù)進行商業(yè)智能分析(BI)找出數(shù)據(jù)中的知識,從而提升銷售額。存在的問題主要是數(shù)據(jù)專家基于經(jīng)驗發(fā)現(xiàn)業(yè)務(wù)數(shù)據(jù)中的知識,對業(yè)務(wù)了解程度成為 BI 有效性的最大瓶頸。即缺乏即懂業(yè)務(wù)規(guī)則又懂數(shù)據(jù)發(fā)掘的人才阻礙商業(yè)智能的發(fā)展。
規(guī)?;A段
隨著 DevOps 概念的推出,工具大量涌現(xiàn)來協(xié)助運維工作運維能力大幅提升,帶來問題是很少有一家公司可以生產(chǎn)覆蓋所有 DevOps 生命周期的工具,而學習多種不同廠商的工具完成任務(wù)帶來很高的技術(shù)門檻。隨著一些創(chuàng)業(yè)型公司崛起,運維工作量爆發(fā)式增長,為了保證業(yè)務(wù)的連續(xù)性 SRE 也在此時期產(chǎn)生,主要目標是使用軟件工程技術(shù)實現(xiàn)業(yè)務(wù)大幅增長而運維工作了保持平穩(wěn)。
人工智能可以做的是:出現(xiàn)以結(jié)構(gòu)化數(shù)據(jù)為主工業(yè)級解決方案,使用算法為主解決商業(yè)通用問題,以提高人員利用率加快創(chuàng)造價值為典型問題。同時也存應(yīng)用了工業(yè)級智能解決方案有多大的效率提升很難估算和當數(shù)據(jù)知識變化后很難進行跟蹤優(yōu)化的問題。
生態(tài)化階段
隨著互聯(lián)網(wǎng)規(guī)模的發(fā)展,少數(shù)大公司承擔起基礎(chǔ)設(shè)施的工作,通過高度集中提升數(shù)倍的運維效率(在亞馬遜購買 1 美元的基礎(chǔ)設(shè)施,可以帶來與傳統(tǒng)數(shù)據(jù)中心 7 美元投資相同的計算力),這種變革讓云計算客戶專注于業(yè)務(wù)的發(fā)展將基礎(chǔ)設(shè)施運維交給云計算平臺。市場規(guī)模繼續(xù)增長一個公司無法使用一套解決方案覆蓋所有細分市場的需求,生態(tài)化從而產(chǎn)生。因此大量的數(shù)據(jù)為人工智能實用化奠定基礎(chǔ)。
人工智能可以做的是:出現(xiàn)以非機構(gòu)化數(shù)據(jù)為主通用的技術(shù)框架,不同的公司負責一部分問題形成生態(tài)圈,協(xié)助業(yè)務(wù)人員完成工作,通過新感知能力半自動或自動化完成以前手工的工作。如何結(jié)合新的感知能力輔助人類在巨大數(shù)據(jù)量,變化的規(guī)律中做出決策成為新的問題。
用矛盾論的觀點分析 DevOps
DevOps 的本質(zhì)是在解決矛盾的對立與統(tǒng)一的問題
DevOps 存在矛盾的兩方面,我們做的事情無外乎一分為二,最終二合為一 矛盾論。

這是第一次西方的 DevOps 方法論與中國的矛盾論結(jié)合,其實所謂的方法論要不就被認為是廢話(一般性原則),要不就是不被人理解(太深奧)。不妨我們往下看看,一分為二和二合為一是什么意思。
我們先拋開 DevOps 的定義,假設(shè)我們 DevOps 要做什么事情,他就像足球比賽開始時候裁判拋出的硬幣正面或反面朝上,來決定由哪一方先發(fā)球,先發(fā)球就意味著具有很大優(yōu)勢,但是雙方認可這枚硬幣來作為雙方都可以接受的方式來開始一場比賽。這就是 DevOps 在研發(fā)和運維工作中起到的低成本的溝通協(xié)調(diào)的作用。
很有趣的一點就是隨著 DevOps 理論的提出各種工具(硬幣)大量涌現(xiàn),這些工具只不過提供了比拋硬幣復(fù)雜一些的規(guī)則而已。而人工智能會給這些工具帶來增強效果。
不能一味的追求事物的某個方面而忽略另一方面
我們在回過頭來看一分為二是什么意思。研發(fā)追求功能的吞吐量,主要關(guān)注需求實現(xiàn)時長,發(fā)布頻率和部署前置時間。而運維追求穩(wěn)定性,主要關(guān)注部署成功率,應(yīng)用錯誤率,事故嚴重程度和嚴重 bug。這本來就是一對不可調(diào)和的矛盾。
但是從更高的維度看,只做好吞吐量或是穩(wěn)定性,不能帶來性能提升、體驗提升和業(yè)務(wù)成功。當我們確定了運維和研發(fā)的共同目標 — 即業(yè)務(wù)成功后,問題就變成:為了共同的業(yè)務(wù)成功,研發(fā)和運維在 DevOps 協(xié)同過程中,不會一味最求吞吐量或是穩(wěn)定性。
為什么人工智能在 DevOps 中大有可為?
DevOps 可以獲取幾乎所有類型的數(shù)據(jù)
指標體系框架來自《精益軟件度量》我們了解到人工智能解決的問題都是以數(shù)據(jù)為基礎(chǔ)的,那么有了價值、效率、質(zhì)量和能力方面有指標和數(shù)據(jù)就可以在 DevOps 過程中通過人工智能解決問題了。
找到 DevOps 全生命周期中人工智能可以改善問題
在 DevOps 生命周期中還有很多工具無法實現(xiàn)自動化的過程,這些過程往往會投入大量的人力和溝通成本,也有很多信息不足無法做出很好決定的場景,在這些場景中人工智能可以根據(jù)以往大量數(shù)據(jù)訓(xùn)練的模型,給出建議,從而給出研發(fā)和運維都能認同的工作方式,提升工作效率提高工作質(zhì)量。
當人工智能牽手 DevOps
我們現(xiàn)在有了 DevOps 生命周期中的數(shù)據(jù),同時也了解到人工智能易于解決的四類問題。我們可以嘗試使用全連接的方式找出 36(4×9)個在 DevOps 領(lǐng)域里適合使用人工智能解決的問題。
比如上圖中的“精益需求管理”過程中:通過價值和效率數(shù)據(jù)使用邏輯推理和預(yù)測人工智能方法,得出需求的價值命中率和客戶滿意度的預(yù)測。通過這些人工智能得出的標簽優(yōu)化需求的優(yōu)先級管理。這樣從完全靠人工經(jīng)驗的過程變?yōu)槿斯ぶ悄茌o助完成的高效過程。
到那時需求人員只需要調(diào)節(jié)想得到的轉(zhuǎn)化率(運營指標),或是性能(運維指標),就可以通過人工智能方式自動提升改善這些指標的需求的優(yōu)先級。。甚至是根據(jù)需求改變的特性,分析大量現(xiàn)有代碼庫中的通過測試的代碼而自動為開發(fā)人員推薦代碼。
“分層自動測”過程中:使用圖片轉(zhuǎn)文字,方式將必須人工完成的測試自動化彎道提高測試效率與準確率。
“持續(xù)運營反饋”過程中:通過自動化運維根因分析,提升定位系統(tǒng)問題的效率。
找到成功的第三條路,在吞吐量和穩(wěn)定性中間建立平衡讓兩方面都能正常行事
再說“最終二合為一”的矛盾論下半部分。通過人工智能給出的第三種方式讓雙方都能向自己的目標前進,從而為一個共同業(yè)務(wù)成功目標結(jié)合為一個整體。
比如,在“安全發(fā)布策略(灰度發(fā)布)“階段,使用研發(fā)團隊的能力數(shù)據(jù)、內(nèi)在質(zhì)量數(shù)據(jù)和歷史中發(fā)布后的外部質(zhì)量數(shù)據(jù)訓(xùn)練機器學習模型。通過這個模型在發(fā)布階段給出軟件發(fā)布后外部質(zhì)量評估。在發(fā)布過程中對比前后兩個版本的外部質(zhì)量差距來決定是否進入灰度發(fā)布的下一個階段?;叵氘敵跄莻€正面是 Dev 反面是 Ops 的硬幣,這個 AI 的工具是不是先進了不少呢?
人工智能可能的應(yīng)用
通過 DevOps 過程獲得數(shù)據(jù),使用人工智能提升服務(wù)或產(chǎn)品競爭力需要想象力。唯一限制我的是我們的大腦想不到的偉大的想法,而不是什么我們做不到。下面想象一下科幻大片里的一些場景。
1.終結(jié)者自動駕駛一樣,通過監(jiān)控系統(tǒng)反饋,進行自動化軟件發(fā)布過程
2.安德的游戲一樣動態(tài)監(jiān)控互動界面,像一個孩子通過 AR 方式指揮龐大的艦隊戰(zhàn)勝外星生物那樣管理系統(tǒng)軟件與硬件的運維工作a. 告警抑制
b. 服務(wù)自愈
c. 主動運維
3.像鋼鐵俠超大別墅中智能管家一樣的容量規(guī)劃管理a. 自然語言交流
b. 容量預(yù)測規(guī)劃
4.像黑客帝國殺毒程序一樣的風險合規(guī)管理a. 攻擊特征提取
b. 主動防御黑客攻擊
5.像喬布斯一樣的先驗用戶體驗a. A/B 測試(fisher‘s exact test 費歇爾精準檢驗)
b. 軟件質(zhì)量評估
不得不提的是 1996 年 12 月蘋果公司收購了 NeXT,使喬布斯回歸蘋果,到 2011 年 10 月喬布斯去世,蘋果市值在 5 年時間里從 30 億美金增長到 3470 億美金,增長 115.7 倍。不得不說喬布斯的用戶體驗感知能力足夠科幻了。
智能運維領(lǐng)域案例
2014-2016 百度通過機器學習實現(xiàn)了被動異常監(jiān)控和主動的流量調(diào)度算法。騰訊通過人工智能幫助我檢測和打擊欺詐犯罪很多公司都在人工智能方面做出了嘗試,在目前尋求差異化的時代,人工智能可以成為產(chǎn)品的一個亮點進行差異化競爭,成為避免價格戰(zhàn)的手段。
作者:
萬金,Thoughtworks高級咨詢師,10年+工作經(jīng)驗,知名外企與中國企業(yè)的IT從業(yè)經(jīng)驗,包括IBM、華為、中興、Thomson。具有7年云計算相關(guān)經(jīng)驗,多系統(tǒng)的研發(fā)和運維經(jīng)驗,熟練掌握敏捷和DevOps方法論和實踐,具有軟件研發(fā)生命周期工具與流程改進豐富經(jīng)驗。
弱人工智能”(Narrow AI), 是在某些特定領(lǐng)域高效完成任務(wù)的專用人工智能, 比如識別圖片中的內(nèi)容或是通過搜索大量醫(yī)學臨床案例為醫(yī)生提出治療建議的專用人工智能。目前可實現(xiàn)的人工智能的本質(zhì)是,人來提出目標,由機器分析大量數(shù)據(jù)人來高效找到答案。