天天看點

AI和大資料結合,智能運維平台助力流利說提升核心競争力

作者:

孫文傑 流利說運維總監

元乙 阿裡雲智能技術專家

優質的内容與定制化服務,提升企業核心競争力

2020年受疫情影響,在“停課不停學”的口号下,線上教育市場規模快速增加,市場規模達4858億元。線上教育行業經過前幾年的快速奔跑後,市場已相對成熟,使用者對于各家不同類型的線上教育機構,也提出了不同需求,是以單靠流量已無法換來忠實使用者。但對于教育行業來說,核心競争力仍然是優質的内容和服務。隻有高品質的課程内容、根據客戶學習習慣和基礎制定個性化計劃、優質産品體驗與穩定性,結合更高業務營運效率,企業才能赢得長遠的發展。縱觀整個線上教育行業,在不斷調整中,最終存活下來的企業也必然要回歸教育本質,以優質産品、内容與服務等赢得長遠發展。

結合人工智能,特色教學獨樹一幟

在行業近一步調整之後,線上教育賽道中的企業也逐漸将由注重增量回歸内容建設。但在整體大環境下,教學大綱千篇一律,教學方式也大相徑庭。雖課程有差異,但仍無驚豔可言,大部分企業無法依靠内容來突出重圍。

但流利說卻不同,在這個人工智能時代,流利說憑借特色的智能教學課程,依托人工智能AI等創新技術,為使用者提供個性化教學課程,幫助更多使用者提升英語水準。截止2021年3月31日,流利說累計注冊使用者超2億,而其擁有的巨型“中國人英語語音資料庫”,可以根據每一位學員的實際情況進行評測,學員在流利說發音學習的過程中,可以通過智能口型識别糾音系統動态去捕捉學員嘴部關鍵點,進而以先進技術進行比對,找到學員發音的問題所在。這樣就可以提出針對性的指導意見來解決口語表達方面的問題,從根本上幫助學員提升口語水準。

産品體驗是關鍵,如何提升系統穩定成難題

流利說業務的快速發展,使用者數大幅度增長,從最初的幾百萬使用者,已經增長過2億業務的高低峰期的資料流量變化、業務複雜度和分析難度都給運維工作來了巨大的挑戰。在整體網際網路大環境中,體驗是最關鍵的競争力之一,根據統計結果,每1秒的延遲,平均會帶來7%的使用者流失。

作為一個沒有單獨運維部門的公司,流利說基礎平台的運維系統主要由cloud-infra團隊的研發來完成,而團隊的核心訴求也不僅僅是SLA、性能的監控、告警和提供問題定位的相關資料,還包括cloud-infra的技術價值營運,例如使用率、成本節約、業務關系網絡等。

在這些核心訴求下,對于智能化運維平台的要求:

1.采集、監控各種異構資料源,包括K8s、ECS上的機器名額、使用率、Istio相關的調用日志、自建中間件相關名額、雲服務提供的名額、業務的Trace資料等,此外還要包括各類成本資料的實時采集。

2.各類資源的動态發現與動态采集,包括組織關系等部門相關的資料也需要實時更新,以便能夠實時回報出最準确的相關名額和歸屬關系。

3.大規模的資料存儲與分析,由于流利說的業務規模大,使用的各類雲資源以及業務産生的資料量非常巨大,每天在數十TB,方案需要滿足在此規模上的實時分析和展現的能力。

4.監控平台負責的是穩定性問題,本身的穩定性也需要做好,是以需要消除各個部分的單點問題,并且具備異常快速恢複的能力。

一站式智能運維解決方案,打通資料收集到計算全鍊路

流利說建構的智能運維平台,需要處理的不僅僅是時序相關的資料,其中非常核心的業務可用性資料也需要通過各類日志進行計算和分析,是以整體上需要選擇Logs和Metrics兩種資料方案。對于這兩類資料都分别有不同的社群方案或商業方案,例如ES、Loki、SLS、Prometheus、OpenTSDB、InfluxDB等。最終日志方案選擇了阿裡雲SLS,時序方案選擇了Prometheus+SLS,主要的原因如下:

1.SLS具備各類資料統一存儲、分析的能力,能夠在SLS上去關聯到Metrics、Logs資料,這是其他平台所不具備的

2.SLS平台能夠适應非常大的資料規模,相比ES來說性能要好很多,也是免運維的服務,省去了自己維護ES高可靠的問題

3.時序方案以Prometheus為主,Prometheus的生态非常完善,而且PromQL使用起來也簡潔。SLS的時序庫可以作為Prometheus的遠端高可靠存儲,能夠解決Prometheus的可靠性問題

4.SLS的方案中有資料加工的功能,可以和外部的資料源去做Join分析和加工,能夠更好的來處理各種複雜的日志,把日志加上catalog相關的資訊

AI和大資料結合,智能運維平台助力流利說提升核心競争力

同時為了最大程度實作自動化,阿裡雲日志服務SLS開發了一套适用于雲上場景的IaaS、PaaS資源動态發現的機制,能夠實時将新購買、建立的資源加入到監控、采集中,避免大部分的人工操作。

并且在每個資料場景下,阿裡雲日志服務SLS也針對流利說的需求做了特殊化的定制:

1、日志方面

  • 不同業務的日志直接通過SLS的Logtail采集到不同的日志庫中
  • 并不是所有的日志都需要長時間存儲和索引,是以我們對于日志進行歸類,對于其中需要有審計需求的,會投遞到OSS上做長期存儲;業務排查問題的日志隻儲存2周,并開啟全文索引;AccessLog隻開啟部分字段的索引,可以節省很多的索引費用。
  • 對于需要計算SLA、PXX名額的NGINX通路日志,會使用資料加工,配合已經在RDS中存儲的一些映射規則、部門、應用等Catalog資訊,将NGINX通路日志中的URL映射成對應的部門、應用、方法等。
AI和大資料結合,智能運維平台助力流利說提升核心競争力

2、資料監控方面

  • 監控方案選擇了Prometheus,針對于流利說的場景,我們開發了一些Exporter用于從各類雲上産品、自建元件中擷取Metrics
  • 同時為了更好的使用Prometheus,和内部的CICD系統內建,我們在Prometheus上增加了一個Sidecar,監聽Git倉庫的變更,并根據變更動态的Reload Prometheus配置
  • Prometheus上為了提高查詢速度,配置了各類Recording Rule,這些都統一使用Git管理
  • AlertManager的告警直接對接内部的告警中心,可以做排版、更新等進階功能
  • 為了解決Prometheus單點的問題以及後面和Catalog進行關聯分析的問題,我們使用SLS的時序庫,直接讓Prometheus Remote Write到SLS的時序庫中
AI和大資料結合,智能運維平台助力流利說提升核心競争力

3、名額計算方面

  • 核心名額的計算一部分來源于NGINX的AccessLog,從入口就可以拿到各個業務的QPS、錯誤率、Latency(平均、PXX等),對于業務沒有任何的侵入性
  • 資源使用率、中間件、基礎設施等名額來源于Prometheus寫入的時序庫,基于Catalog可以聚合計算出每個部門、業務的相關名額
  • 計算完成後的名額資訊,由于資料量非常小,可以很容易的存儲在MySQL、ES中,并且投遞一份到OSS上備份
AI和大資料結合,智能運維平台助力流利說提升核心競争力

建構統一的智能運維平台,從成本中心變為創新生産力工具

目前這套智能運維平台系統幾乎承載了公司所有的核心運維,在上線後一直穩定運作,并且在各類活動期間也能夠非常輕松的應對資料量的突增。整體的業務價值主要展現在:

  • 監控:監控的第一價值是做各類的監控和告警,尤其是SLA相關,由于将資料已經關聯到了具體的部門和業務應用,可以很容易的得到每個部門、應用的SLA,并進行公司範圍内統一的推進和改進
  • 問題排查與故障隔離:基于Istio的通路日志,配合Catalog資訊,可以計算出每個應用的調用關系,是以可以實時的生成業務關系網格,并能夠知道每個關系(邊)的品質情況。了解到業務的關系後,在出現問題的時候也可以快速的定位根源和故障隔離
  • FinOps:在Cloud Infra部門,被挑戰最多的就是開銷問題。是以成本優化也是我們的一個核心工作,主要的做法是:計算每個部門、團隊的資源使用率,包括平均使用率以及各類PXX的使用率(入下表格所示),以此能夠判斷每個部門的資源使用情況,推進各部門優化成本。
AI和大資料結合,智能運維平台助力流利說提升核心競争力

寫到最後

在雲原生時代,數字化正在各行業推動業務創新。隻有提升使用者體驗、加速創新、更新基礎設施與架構、利用好多樣化的資料,才能在整體大環境中脫穎而出。阿裡雲推出的智能運維平台,不僅僅是要幫助工程師減少工作量,更多的是希望讓運維工程師們從各種機械化的工作中解脫。我們将會包攬所有的“髒活累活”,讓故障的時間大幅縮小,讓運維人将更多創造力,放在數字創新以及企業業務創新上,為企業提供提供更優的競争力。

繼續閱讀