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相關的信息
同時為了最大程度實現自動化,阿里云日志服務SLS開發了一套適用于云上場景的IaaS、PaaS資源動態發現的機制,能夠實時將新購買、創建的資源加入到監控、采集中,避免大部分的人工操作。
并且在每個數據場景下,阿里云日志服務SLS也針對流利說的需求做了特殊化的定制:
1、日志方面
不同業務的日志直接通過SLS的Logtail采集到不同的日志庫中
并不是所有的日志都需要長時間存儲和索引,因此我們對于日志進行歸類,對于其中需要有審計需求的,會投遞到OSS上做長期存儲;業務排查問題的日志只保存2周,并開啟全文索引;AccessLog只開啟部分字段的索引,可以節省很多的索引費用。
對于需要計算SLA、PXX指標的NGINX訪問日志,會使用數據加工,配合已經在RDS中存儲的一些映射規則、部門、應用等Catalog信息,將NGINX訪問日志中的URL映射成對應的部門、應用、方法等。
2、數據監控方面
監控方案選擇了Prometheus,針對于流利說的場景,我們開發了一些Exporter用于從各類云上產品、自建組件中獲取Metrics
同時為了更好的使用Prometheus,和內部的CICD系統集成,我們在Prometheus上增加了一個Sidecar,監聽Git倉庫的變更,并根據變更動態的Reload Prometheus配置
Prometheus上為了提高查詢速度,配置了各類Recording Rule,這些都統一使用Git管理
AlertManager的告警直接對接內部的告警中心,可以做排版、升級等高級功能
為了解決Prometheus單點的問題以及后面和Catalog進行關聯分析的問題,我們使用SLS的時序庫,直接讓Prometheus Remote Write到SLS的時序庫中
3、指標計算方面
核心指標的計算一部分來源于NGINX的AccessLog,從入口就可以拿到各個業務的QPS、錯誤率、Latency(平均、PXX等),對于業務沒有任何的侵入性
資源利用率、中間件、基礎設施等指標來源于Prometheus寫入的時序庫,基于Catalog可以聚合計算出每個部門、業務的相關指標
計算完成后的指標信息,由于數據量非常小,可以很容易的存儲在MySQL、ES中,并且投遞一份到OSS上備份
構建統一的智能運維平臺,從成本中心變為創新生產力工具
目前這套智能運維平臺系統幾乎承載了公司所有的核心運維,在上線后一直穩定運行,并且在各類活動期間也能夠非常輕松的應對數據量的突增。整體的業務價值主要體現在:
監控:監控的第一價值是做各類的監控和告警,尤其是SLA相關,由于將數據已經關聯到了具體的部門和業務應用,可以很容易的得到每個部門、應用的SLA,并進行公司范圍內統一的推進和改進
問題排查與故障隔離:基于Istio的訪問日志,配合Catalog信息,可以計算出每個應用的調用關系,因此可以實時的生成業務關系網格,并能夠知道每個關系(邊)的質量情況。了解到業務的關系后,在出現問題的時候也可以快速的定位根源和故障隔離
FinOps:在Cloud Infra部門,被挑戰最多的就是開銷問題。因此成本優化也是我們的一個核心工作,主要的做法是:計算每個部門、團隊的資源利用率,包括平均利用率以及各類PXX的利用率(入下表格所示),以此能夠判斷每個部門的資源使用情況,推進各部門優化成本。
寫到最后
在云原生時代,數字化正在各行業推動業務創新。只有提升用戶體驗、加速創新、更新基礎設施與架構、利用好多樣化的數據,才能在整體大環境中脫穎而出。阿里云推出的智能運維平臺,不僅僅是要幫助工程師減少工作量,更多的是希望讓運維工程師們從各種機械化的工作中解脫。我們將會包攬所有的“臟活累活”,讓故障的時間大幅縮小,讓運維人將更多創造力,放在數字創新以及企業業務創新上,為企業提供提供更優的競爭力。
優質的內容與定制化服務,提升企業核心競爭力
2020年受疫情影響,在“停課不停學”的口號下,在線教育市場規??焖僭黾樱袌鲆幠__4858億元。在線教育行業經過前幾年的快速奔跑后,市場已相對成熟,用戶對于各家不同類型的在線教育機構,也提出了不同需求,因此單靠流量已無法換來忠實用戶。但對于教育行業來說,核心競爭力仍然是優質的內容和服務。只有高質量的課程內容、根據客戶學習習慣和基礎制定個性化計劃、優質產品體驗與穩定性,結合更高業務運營效率,企業才能贏得長遠的發展??v觀整個在線教育行業,在不斷調整中,最終存活下來的企業也必然要回歸教育本質,以優質產品、內容與服務等贏得長遠發展。
結合人工智能,特色教學獨樹一幟
在行業近一步調整之后,在線教育賽道中的企業也逐漸將由注重增量回歸內容建設。但在整體大環境下,教學大綱千篇一律,教學方式也大相徑庭。雖課程有差異,但仍無驚艷可言,大部分企業無法依靠內容來突出重圍。
但流利說卻不同,在這個人工智能時代,流利說憑借特色的智能教學課程,依托人工智能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相關的信息
同時為了最大程度實現自動化,阿里云日志服務SLS開發了一套適用于云上場景的IaaS、PaaS資源動態發現的機制,能夠實時將新購買、創建的資源加入到監控、采集中,避免大部分的人工操作。
并且在每個數據場景下,阿里云日志服務SLS也針對流利說的需求做了特殊化的定制:
1、日志方面
不同業務的日志直接通過SLS的Logtail采集到不同的日志庫中
并不是所有的日志都需要長時間存儲和索引,因此我們對于日志進行歸類,對于其中需要有審計需求的,會投遞到OSS上做長期存儲;業務排查問題的日志只保存2周,并開啟全文索引;AccessLog只開啟部分字段的索引,可以節省很多的索引費用。
對于需要計算SLA、PXX指標的NGINX訪問日志,會使用數據加工,配合已經在RDS中存儲的一些映射規則、部門、應用等Catalog信息,將NGINX訪問日志中的URL映射成對應的部門、應用、方法等。
2、數據監控方面
監控方案選擇了Prometheus,針對于流利說的場景,我們開發了一些Exporter用于從各類云上產品、自建組件中獲取Metrics
同時為了更好的使用Prometheus,和內部的CICD系統集成,我們在Prometheus上增加了一個Sidecar,監聽Git倉庫的變更,并根據變更動態的Reload Prometheus配置
Prometheus上為了提高查詢速度,配置了各類Recording Rule,這些都統一使用Git管理
AlertManager的告警直接對接內部的告警中心,可以做排版、升級等高級功能
為了解決Prometheus單點的問題以及后面和Catalog進行關聯分析的問題,我們使用SLS的時序庫,直接讓Prometheus Remote Write到SLS的時序庫中
3、指標計算方面
核心指標的計算一部分來源于NGINX的AccessLog,從入口就可以拿到各個業務的QPS、錯誤率、Latency(平均、PXX等),對于業務沒有任何的侵入性
資源利用率、中間件、基礎設施等指標來源于Prometheus寫入的時序庫,基于Catalog可以聚合計算出每個部門、業務的相關指標
計算完成后的指標信息,由于數據量非常小,可以很容易的存儲在MySQL、ES中,并且投遞一份到OSS上備份
構建統一的智能運維平臺,從成本中心變為創新生產力工具
目前這套智能運維平臺系統幾乎承載了公司所有的核心運維,在上線后一直穩定運行,并且在各類活動期間也能夠非常輕松的應對數據量的突增。整體的業務價值主要體現在:
監控:監控的第一價值是做各類的監控和告警,尤其是SLA相關,由于將數據已經關聯到了具體的部門和業務應用,可以很容易的得到每個部門、應用的SLA,并進行公司范圍內統一的推進和改進
問題排查與故障隔離:基于Istio的訪問日志,配合Catalog信息,可以計算出每個應用的調用關系,因此可以實時的生成業務關系網格,并能夠知道每個關系(邊)的質量情況。了解到業務的關系后,在出現問題的時候也可以快速的定位根源和故障隔離
FinOps:在Cloud Infra部門,被挑戰最多的就是開銷問題。因此成本優化也是我們的一個核心工作,主要的做法是:計算每個部門、團隊的資源利用率,包括平均利用率以及各類PXX的利用率(入下表格所示),以此能夠判斷每個部門的資源使用情況,推進各部門優化成本。
寫到最后
在云原生時代,數字化正在各行業推動業務創新。只有提升用戶體驗、加速創新、更新基礎設施與架構、利用好多樣化的數據,才能在整體大環境中脫穎而出。阿里云推出的智能運維平臺,不僅僅是要幫助工程師減少工作量,更多的是希望讓運維工程師們從各種機械化的工作中解脫。我們將會包攬所有的“臟活累活”,讓故障的時間大幅縮小,讓運維人將更多創造力,放在數字創新以及企業業務創新上,為企業提供提供更優的競爭力。