作業(yè)幫受邀參加2020中國教育科技大會(huì),基礎(chǔ)架構(gòu)負(fù)責(zé)人分享多云架構(gòu)新探索

12月23日,由中國計(jì)算機(jī)用戶協(xié)會(huì)指導(dǎo),iTechClub(互聯(lián)網(wǎng)技術(shù)精英俱樂部)教育委員會(huì)主辦的國內(nèi)互聯(lián)網(wǎng)技術(shù)領(lǐng)域最專業(yè)、最具影響力的大型教育科技類行業(yè)盛會(huì)“2020中國教育科技大會(huì)”在北京召開。

作業(yè)幫受邀參加2020中國教育科技大會(huì),基礎(chǔ)架構(gòu)負(fù)責(zé)人分享多云架構(gòu)新探索

作業(yè)幫基礎(chǔ)架構(gòu)負(fù)責(zé)人董曉聰受邀出席本次大會(huì),并在“運(yùn)維安全——后疫情時(shí)代的在線教育挑戰(zhàn)”分會(huì)場(chǎng)分享作業(yè)幫如何通過基于云原生的多云建設(shè),破解業(yè)務(wù)發(fā)展過程中存在的穩(wěn)定性、效率、成本、安全等方面問題,實(shí)現(xiàn)彈性、韌性、可觀測(cè)、自動(dòng)化、可持續(xù)的在線架構(gòu),以及通過技術(shù)改造帶來的一系列收益,以真實(shí)案例深刻闡述技術(shù)變革持續(xù)推動(dòng)教育產(chǎn)業(yè)的加速迭代發(fā)展。

作業(yè)幫受邀參加2020中國教育科技大會(huì),基礎(chǔ)架構(gòu)負(fù)責(zé)人分享多云架構(gòu)新探索

以業(yè)務(wù)為導(dǎo)向,深入布局基于云原生的多云建設(shè)

本屆大會(huì)以“新業(yè)態(tài)·新動(dòng)能·新教育”為主題,互聯(lián)網(wǎng)教育科技領(lǐng)域的眾多專家學(xué)者、技術(shù)大咖在現(xiàn)場(chǎng)圍繞中國教育科技的現(xiàn)狀、發(fā)展、創(chuàng)新、變革、機(jī)遇等多方面問題展開深度剖析。作業(yè)幫作為通過充分運(yùn)用新技術(shù)不斷推動(dòng)教育產(chǎn)業(yè)優(yōu)化升級(jí)的領(lǐng)先代表,其在云原生、多云架構(gòu)領(lǐng)域的新思考、新布局在大會(huì)現(xiàn)場(chǎng)受到各界高度關(guān)注。

目前,作業(yè)幫的核心業(yè)務(wù)主要包括作業(yè)幫主APP、作業(yè)幫直播課、作業(yè)幫口算、鴨鴨AI課、智能硬件喵喵機(jī)等多款教育產(chǎn)品。其中,作業(yè)幫主APP作為一款為K12學(xué)生提供全學(xué)段的學(xué)習(xí)輔導(dǎo)工具,目前月活用戶已過億,題庫超過3億,拍照搜題的圖片識(shí)別準(zhǔn)確率超過95%;而作業(yè)幫直播課作為一款為K12學(xué)生提供全時(shí)段在線輔導(dǎo)課程的產(chǎn)品,目前已累計(jì)服務(wù)學(xué)員超6500萬,直播課APP是其學(xué)生端,在其后還有龐大的教研、教學(xué)、輔導(dǎo)工程體系支撐,作為一款商業(yè)化產(chǎn)品,拉新、轉(zhuǎn)化、留存相關(guān)的營銷體系也是很重要的一環(huán)。

董曉聰在演講中表示,作業(yè)幫既有傳統(tǒng)流量型互聯(lián)網(wǎng)產(chǎn)品,也有教育全鏈條的產(chǎn)業(yè)應(yīng)用,正是基于企業(yè)業(yè)務(wù)的高速發(fā)展現(xiàn)狀,使得作業(yè)幫在穩(wěn)定性、資源成本、人員效率、安全等方面面臨著諸多新挑戰(zhàn)。

“在線教育擺在我們面前不是一個(gè)個(gè)冷冰冰的UV、PV數(shù)字,而是一個(gè)個(gè)正在求知的學(xué)生,我們的穩(wěn)定性一定要做到更好,所以作業(yè)幫很早就開始探索多云架構(gòu)。”董曉聰指出,作業(yè)幫作為一家以業(yè)務(wù)為導(dǎo)向的公司,通過云原生架構(gòu),用基礎(chǔ)設(shè)施接管業(yè)務(wù)中大量非功能邏輯,實(shí)現(xiàn)彈性、韌性、可觀測(cè)性、自動(dòng)化、可持續(xù)等特性。“基于云原生架構(gòu),解決了部署問題,我們還在此之上實(shí)現(xiàn)了一套可以在云之間自由遷徙的多云架構(gòu)。”

容器技術(shù)部署模式升級(jí),實(shí)現(xiàn)應(yīng)用和資源的解耦

目前,作業(yè)幫云原生架構(gòu)的全貌從大的層次來看,主要包含資源和應(yīng)用兩層。“虛機(jī)架構(gòu)中應(yīng)用和資源兩層耦合,而容器技術(shù)的出現(xiàn)真正實(shí)現(xiàn)了兩者的解耦。向下,提供了CRI、CNI、CSI、device plugin等一系列資源抽象能力;向上,實(shí)現(xiàn)運(yùn)行環(huán)境的編排調(diào)度。”董曉聰表示。容器技術(shù)帶來的部署模式升級(jí),從根本上解決了虛機(jī)模式下的混部、資源碎片多種問題。

作業(yè)幫在運(yùn)行環(huán)境構(gòu)建這塊遵循云原生的主線原則。不僅通過每個(gè)容器一個(gè)應(yīng)用,避免使用特權(quán)容器,優(yōu)化構(gòu)建緩存等原則,實(shí)現(xiàn)了穩(wěn)定、安全、性能方面的要求。“我們的最佳實(shí)踐,對(duì)于PHP pod而言,有一個(gè)PHP主容器,以及通過socket通信的幾個(gè)邊車,配置通過configMap注入,數(shù)據(jù)庫密碼信息由secret加密存儲(chǔ)。Golang pod也比較類似,只是不再需要日志等邊車。”值得一提的是,作業(yè)幫也把前端模塊容器化,這樣可以一鍵拉起前后端項(xiàng)目,大幅提高研發(fā)效率。

此外,從集群視圖來看,在資源拓?fù)渖希瑢?duì)于CPU和異構(gòu)計(jì)算GPU而言,作業(yè)幫使用了常規(guī)流量+彈性部分的架構(gòu)方案。同時(shí),作業(yè)幫根據(jù)網(wǎng)絡(luò)隔離域劃分集群,根據(jù)業(yè)務(wù)領(lǐng)域劃分NameSpace。

作業(yè)幫受邀參加2020中國教育科技大會(huì),基礎(chǔ)架構(gòu)負(fù)責(zé)人分享多云架構(gòu)新探索

突破虛機(jī)架構(gòu)弊端,依托云原生升級(jí)服務(wù)治理體系

在介紹了容器技術(shù)的部署、運(yùn)行環(huán)境、集群等內(nèi)容后,董曉聰還重點(diǎn)剖析了應(yīng)用層的服務(wù)治理體系,作業(yè)幫在進(jìn)行了徹底的云原生改造后,其服務(wù)注冊(cè)發(fā)現(xiàn)機(jī)制已更換為coreDNS+service機(jī)制。

如何實(shí)現(xiàn)新老兩套機(jī)制的過渡呢?我們通過將名字服務(wù)的信息同步到k8s集群,創(chuàng)建endpoint指向虛機(jī)的service,進(jìn)而實(shí)現(xiàn)控制面的打通。

而從數(shù)據(jù)面來看,虛機(jī)請(qǐng)求容器通過使用service域名訪問東西向的ingress集群實(shí)現(xiàn)。容器集群因?yàn)榇蛲藬?shù)據(jù),訪問虛機(jī)使用和容器一樣的鏈路即可。

此外,在服務(wù)感知維度,作業(yè)幫的整體調(diào)用鏈路從用戶端的APP、H5、小程序等,到網(wǎng)關(guān)層,再到業(yè)務(wù)應(yīng)用,最后到中間件。我們將這些鏈路的日志統(tǒng)一收集到kafka。目前kafka集群可以支撐近千萬的TPS,峰值平均延時(shí)在10s內(nèi)。除了性能指標(biāo)外,穩(wěn)定性也是作業(yè)幫的重要考核因素,通過多級(jí)緩存來保障數(shù)據(jù)不丟。在收斂了日志采集后,下游只需要訂閱kafka即可,既解決了大數(shù)據(jù)日志源的問題,也解決了Logging、tracing、metrics的相關(guān)問題。監(jiān)控不再需要運(yùn)行在業(yè)務(wù)機(jī)器上和應(yīng)用爭搶資源,應(yīng)用的入向和出向日志也能繪制出調(diào)用鏈路。

多云架構(gòu)賦能在線教育新業(yè)態(tài),四大維度收益明顯

在容器技術(shù)解決了計(jì)算及其周邊的存儲(chǔ)、網(wǎng)絡(luò)的抽象及高可用保障之后,新的挑戰(zhàn)則是如何把多云聯(lián)通起來。傳統(tǒng)互聯(lián)網(wǎng)應(yīng)用時(shí)代,只需要把多個(gè)云廠商聯(lián)通,但是在線教育新的業(yè)務(wù)形態(tài)下,作業(yè)幫則需要把主講、輔導(dǎo)老師的網(wǎng)絡(luò)環(huán)境也納入生產(chǎn)體系。

為此,作業(yè)幫選擇了使用了雙供應(yīng)商組網(wǎng)方案,采用BGP+ECMP實(shí)現(xiàn)線路負(fù)載均衡,故障秒級(jí)自動(dòng)切換,由此真正搭建完畢高可用的多云網(wǎng)絡(luò)拓?fù)洹?/p>

在調(diào)用拓?fù)鋵用?,作業(yè)幫在不同云上部署的均是全量服務(wù),只是流量比例不同,由此實(shí)現(xiàn)單云內(nèi)的流量閉環(huán)。

值得注意的是,作業(yè)幫在今年完成云原生和多云建設(shè)后,公司在四大維度的收益明顯。一是穩(wěn)定性顯著提升,不再有應(yīng)用間的相互影響,單設(shè)備故障的影響時(shí)長也從分鐘級(jí)別縮短到秒級(jí)別。SLA從99.95%提升到99.99%。二是運(yùn)維效率的大幅提高,真正將運(yùn)維規(guī)范在運(yùn)行環(huán)境得到了落地,擴(kuò)容效率從小時(shí)級(jí)別提升到分鐘級(jí)別。三是成本的優(yōu)化,既有運(yùn)行環(huán)境升級(jí)帶來的性能提升,也有碎片的更充分利用,以及不同業(yè)務(wù)之間的資源使用互補(bǔ)。四是多云部署效率得到大幅度提高,從之前的月級(jí)別縮短到現(xiàn)在的周級(jí)別,效率提升80%以上。

在演講最后,董曉聰也對(duì)未來提出更多展望,他表示,作業(yè)幫希望在明年和云廠商容器、EMR團(tuán)隊(duì)一起進(jìn)一步探索更大規(guī)模的在離線混合部署,并基于operate實(shí)現(xiàn)中間件服務(wù)的云原生改造,借助servicemesh實(shí)現(xiàn)跨語言的服務(wù)感知、流量管控方案,以及在全鏈路壓測(cè)與AIOps上進(jìn)行更多新探索。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )