乘風(fēng)破浪的阿里云原生

來源:云棲號
作者:禾易
時間:2020-07-30
2701
云原生在近幾年的發(fā)展用“乘風(fēng)破浪”來形容一點也不為過。

1、在線教育將成為常態(tài)化應(yīng)用

“還要擴容嗎?”

“先擴容10倍再說”

這已經(jīng)不是李諾(洋蔥學(xué)院聯(lián)合創(chuàng)始人兼CTO)第一次提到擴容了。受到疫情影響,今年全國學(xué)校普遍延期開學(xué)?!巴Un不停學(xué)”,線下教育停擺,教育行業(yè)轉(zhuǎn)戰(zhàn)線上。流量突然暴漲,擴容成了“常態(tài)”,而且每次的流量還是遠遠超過預(yù)期。

李諾去找楊臨風(fēng)(洋蔥學(xué)院聯(lián)合創(chuàng)始人兼CEO)討論工作的時候,碰巧楊臨風(fēng)正在寫一封給用戶的公開信。這次疫情讓洋蔥學(xué)院受到了極大的關(guān)注,但比起流量價值,楊臨風(fēng)更想以自己的親身經(jīng)歷告訴用戶:“在家自主地學(xué)習(xí),是每個學(xué)生都要面對的戰(zhàn)斗?!?/span>

李諾心里清楚,在超高流量的沖擊下要保持服務(wù)器平穩(wěn)、用戶體驗不受影響,這何嘗不是一場屬于洋蔥學(xué)院的戰(zhàn)斗。

2013年12月,楊臨風(fēng)、朱若辰和李諾共同創(chuàng)立了洋蔥數(shù)學(xué)(現(xiàn)已更名為洋蔥學(xué)院),這家K12在線教育公司從初中數(shù)學(xué)課程切入,逐步發(fā)展到全學(xué)科,主攻人機交互學(xué)習(xí)的在線教育平臺開發(fā)。他們從國家課標和教材著手,開始系統(tǒng)地構(gòu)建在線課程體系,對課本上每一個知識點進行更加精細的教研和設(shè)計,并逐個制作成5-8分鐘的動畫視頻課程,圍繞這些核心課程為學(xué)生打造個性化的學(xué)習(xí)體驗。

人機交互學(xué)習(xí)的教育模式不要說在當年,即便是現(xiàn)在也很前衛(wèi)。不僅如此,洋蔥的創(chuàng)始團隊在公司成立之初還做出了一個意識超前的決定:整套業(yè)務(wù)系統(tǒng)均基于阿里云搭建。

洋蔥學(xué)院的發(fā)展速度在互聯(lián)網(wǎng)教育公司里并不算快,李諾說,團隊把大部分的精力都花在了課程的研發(fā)和學(xué)習(xí)體驗的優(yōu)化上,以初中數(shù)學(xué)為例,足足花了4年才完成課程的打磨。當然,洋蔥學(xué)院對教育的這份堅持,也讓其在業(yè)界立下了一席之地。疫情影響下,短時間劇烈增長的市場需求把在線教育推到了“快車道”。以前是在線教育企業(yè)自己努力,現(xiàn)在是全社會一起推進他們“質(zhì)量在線”。

今年1月28日,洋蔥學(xué)院對外公布了針對疫情期間的課程捐贈方案,把過去六年積累制作的2650節(jié)核心課程全部免費開放,但流量的威力還是超過了他們的想象。據(jù)易觀千帆的公開數(shù)據(jù)顯示,洋蔥學(xué)院2020年2月的活躍用戶規(guī)模達到了795.92萬,同比增幅151%。

面對大流量、高并發(fā)訪問需求,洋蔥學(xué)院為了確保業(yè)務(wù)穩(wěn)定性,在阿里云技術(shù)專家的建議下,采用了阿里云容器服務(wù)。容器服務(wù)可以根據(jù)不同模塊的配置所需,資源分配更加合理,按照定義規(guī)則自動彈性伸縮避免了復(fù)雜的調(diào)度維護。

阿里云容器服務(wù)可以在幾分鐘內(nèi)擴充底層資源,滿足快速部署數(shù)千個應(yīng)用實例的需求。為了更加從容地應(yīng)對十倍擴容,洋蔥學(xué)院還進一步優(yōu)化了整體的ECS服務(wù)器配置,將大量的小規(guī)格ECS服務(wù)器更換成30至50核大規(guī)格ECS,改造后運維管控也更加便捷。使用云容器之后,系統(tǒng)在資源利用率上提升了約60%,出現(xiàn)問題后可快速隔離,當面對急劇增長的業(yè)務(wù)量,也可以在短

時間內(nèi)擴容進行業(yè)務(wù)支撐。為了及早發(fā)現(xiàn)故障并快速做出響應(yīng),洋蔥學(xué)院也采用了阿里云原生監(jiān)控系列產(chǎn)品,可以覆蓋到各類監(jiān)控報警問題,極大地縮短問題發(fā)現(xiàn)時間。

從2013年決定全面上云,到現(xiàn)在擁抱云原生新趨勢,洋蔥學(xué)院以一貫的超前意識,表達著這個時代互聯(lián)網(wǎng)公司該有的態(tài)度。

2、全面使用開源技術(shù)、云服務(wù)構(gòu)建軟件服務(wù)的時代已經(jīng)到來

云原生在近幾年的發(fā)展用“乘風(fēng)破浪”來形容一點也不為過。

應(yīng)用上云已經(jīng)是不可逆轉(zhuǎn)的趨勢?;仡櫧陙砩虡I(yè)世界的發(fā)展趨勢,數(shù)字化轉(zhuǎn)型的出現(xiàn)使得企業(yè)中越來越多的業(yè)務(wù)演變成數(shù)字化業(yè)務(wù),數(shù)字化對于業(yè)務(wù)渠道、競爭格局、用戶體驗等諸多方面都提出更加嚴苛的要求,這就要求技術(shù)具備更快的迭代速度。

為了實現(xiàn)這樣的速度,就需要充分利用云的強大能力,從云技術(shù)中獲得更高的可用性與可擴展能力,利用云來提升發(fā)布和運維的效率。而要做到這些,不僅僅是基礎(chǔ)設(shè)施和平臺的變化,應(yīng)用也需要做出改變,擯棄傳統(tǒng)的土方法,在架構(gòu)設(shè)計、開發(fā)方式、部署維護等各個階段和方面都基于云的特點來重新設(shè)計,從而建設(shè)全新的云化應(yīng)用,即云原生應(yīng)用。

cf72a39a5ed6473a811315dbae12106b.png

2019年,Gartner曾經(jīng)發(fā)布報告表示云原生時代已經(jīng)到來,在未來三年中將有75%的全球化企業(yè)將在生產(chǎn)中使用容器化的應(yīng)用。云原生相關(guān)技術(shù)不僅僅能用于云計算,即便是和云計算既對立又協(xié)同的邊緣計算,微服務(wù)、容器、Kubernetes依然是事實上的殺手應(yīng)用和標準。

2019年,Gartner曾經(jīng)發(fā)布報告表示云原生時代已經(jīng)到來,在未來三年中將有75%的全球化企業(yè)將在生產(chǎn)中使用容器化的應(yīng)用。云原生相關(guān)技術(shù)不僅僅能用于云計算,即便是和云計算既對立又協(xié)同的邊緣計算,微服務(wù)、容器、Kubernetes依然是事實上的殺手應(yīng)用和標準。

以前一家企業(yè)想使用云原生的技術(shù)或產(chǎn)品,需要花費大量的精力研究一些開源項目,自己做運維和管理,還需要考慮集成、穩(wěn)定性保障等問題,這樣才能建立一個云原生平臺。今天,為了方便企業(yè)和開發(fā)者更容易地使用云原生的技術(shù)和產(chǎn)品,更好地接受云原生的理念,并解決企業(yè)擔(dān)憂的可靠性、性能、連續(xù)性等問題,阿里云為大家提供了一整套云原生產(chǎn)品家族,提供了非常強的SLA保障。

阿里云在幫助國內(nèi)企業(yè)了解云原生、使用云原生上做了很多工作。一方面是在內(nèi)部嘗試去使用這些技術(shù),阿里巴巴內(nèi)部有非常豐富的、大規(guī)模的使用場景,通過這些場景可以充分打磨云原生技術(shù)。在技術(shù)成熟以后,將這些技術(shù)回饋到社區(qū),幫助云原生社區(qū)提高技術(shù)質(zhì)量和發(fā)展水平。

3、因為相信,所以看見

著云計算的普及與云原生的廣泛應(yīng)用,越來越多的從業(yè)者、決策者清晰地認識到「云原生化將成為企業(yè)技術(shù)創(chuàng)新的關(guān)鍵要素,也是完成企業(yè)數(shù)字化轉(zhuǎn)型的最短路徑」。因此,具有前瞻思維的互聯(lián)網(wǎng)企業(yè)從應(yīng)用誕生之初就扎根于云端,謹慎的新零售、政府、金融、醫(yī)療等領(lǐng)域的企業(yè)與機構(gòu)也逐漸將業(yè)務(wù)應(yīng)用遷移上云,深度使用云原生技術(shù)與云原生架構(gòu)。

暢捷通是中國領(lǐng)先的小型微型企業(yè)管理云服務(wù)與軟件提供商,為400多萬小微企業(yè)提供智能云管理服務(wù)。隨著業(yè)務(wù)的快速發(fā)展,為了適應(yīng)互聯(lián)網(wǎng)大型應(yīng)用快速迭代以及頻繁發(fā)布的需求,暢捷通IT團隊對原有的IT系統(tǒng)進行了大量的微服務(wù)化改造,這是暢捷通進行云原生實踐邁出的第一步。

緊接著,暢捷通開始迎接下一步挑戰(zhàn):SaaS化企業(yè)管理云服務(wù),具有用戶量大、業(yè)務(wù)復(fù)雜、調(diào)用鏈路長、與第三方應(yīng)用系統(tǒng)深度集成等特點,給微服務(wù)化改造工作帶來了非常大的挑戰(zhàn)。特別是在新版本的發(fā)布過程中,如果不能保證整個流程平滑、可控,就很容易因為單個應(yīng)用的更新而造成整個系統(tǒng)的崩潰。

為了快速解決這個痛點,暢捷通IT團隊找到阿里云技術(shù)專家,選擇阿里,不僅因為阿里的業(yè)務(wù)場景復(fù)雜度和對技術(shù)打磨的細致,還有阿里一直以來在云原生領(lǐng)域的深耕。最終,暢捷通決定將整個微服務(wù)架構(gòu)逐步部署到阿里云提供的企業(yè)級分布式應(yīng)用服務(wù)(EDAS)上。通過Spring Cloud技術(shù)體系建立的微服務(wù)應(yīng)用,可以在不涉及任何代碼改動情況下,直接部署在EDAS上,整個遷移的過程也非常平滑,對于暢捷通的用戶而言沒有任何感知。部署之后,在面對復(fù)雜業(yè)務(wù)下的頻繁迭代時,暢捷通成功經(jīng)受住了考驗。

在進一步適應(yīng)云原生的技術(shù)和產(chǎn)品以后,暢捷通的IT團隊也通過方案背后融入的方法論,掌握了一套適合自己的微服務(wù)治理機制,并開始實踐全鏈路灰度等全新的微服務(wù)治理思路。

4、還能再極致一點嗎?能!

和大部分計算模式不同,Serverless將“部署”這個動作從運維中“收走”,使開發(fā)者不用關(guān)心應(yīng)用在哪里運行,更不用關(guān)心裝什么OS、怎么配置網(wǎng)絡(luò)、需要多少CPU……從架構(gòu)抽象上看,當業(yè)務(wù)流量到來/業(yè)務(wù)事件發(fā)生時,云會啟動或調(diào)度一個已啟動的業(yè)務(wù)進程進行處理,處理完成后云自動會關(guān)閉/調(diào)度業(yè)務(wù)進程,等待下一次觸發(fā),也就是把應(yīng)用的整個運行時都委托給云。

Serverless非常適合于事件驅(qū)動的數(shù)據(jù)計算任務(wù)、計算時間短的請求/響應(yīng)應(yīng)用、沒有復(fù)雜相互調(diào)用的長周期任務(wù)。

百富旅行是全球領(lǐng)先的在線旅游同業(yè)交易平臺,基于云計算和大數(shù)據(jù)決策為全球旅游從業(yè)者提供一站式智能整體解決方案。截至目前,百富旅行已經(jīng)與600多家航空公司、國內(nèi)所有火車線路、2500個汽車站,以及60多家郵輪集團進行了業(yè)務(wù)整合,網(wǎng)絡(luò)覆蓋全球100多個國家和地區(qū)。

隨著業(yè)務(wù)的飛速發(fā)展,百富旅行技術(shù)團隊通過Spring Cloud等開源框架搭建了完善的微服務(wù)技術(shù)架構(gòu),將微服務(wù)應(yīng)用上云之后,不需要再考慮硬件資源購買以及服務(wù)器架設(shè)等運維步驟,這樣技術(shù)團隊可以將更多的精力投入到業(yè)務(wù)需求實現(xiàn)中。但是隨著系統(tǒng)迭代次數(shù)的增加,問題出現(xiàn)了:

從系統(tǒng)架構(gòu)的角度,將微服務(wù)應(yīng)用直接部署在云虛擬機上,跟部署在物理機房相比,并沒有本質(zhì)的區(qū)別,團隊依然需要從底層維護每一個應(yīng)用實例,包括操作系統(tǒng)調(diào)整、磁盤容量規(guī)劃、JDK等組件安裝等工作,這些工作都每一臺云虛擬機投入使用的過程中,都是必不可少的。

在系統(tǒng)頻繁的迭代過程中,不同的開發(fā)小組甚至不同的開發(fā)人員都需要單獨的一套測試環(huán)境,久而久之,整個技術(shù)團隊創(chuàng)建了多套測試環(huán)境,其中一些測試環(huán)境包含了所有的微服務(wù)應(yīng)用,整體資源利用率特別低,造成了大量的資源浪費。而且旅游業(yè)務(wù)本身也存在非常明顯的波峰波谷,微服務(wù)架構(gòu)可以很方便地為每一個應(yīng)用進行水平擴容,但如果用于擴容的虛擬機資源需要預(yù)先購買的話,同樣會造成大量的資源閑置。

擺在百富技術(shù)團隊面前的核心難題就是怎么解決資源的閑置與浪費問題。而這恰恰是Serverless最擅長的事情。由于不需要為Serverlesss應(yīng)用購買底層服務(wù)器資源,直接按需申請,可以免去容量規(guī)劃、操作系統(tǒng)調(diào)優(yōu)等復(fù)雜的運維工作,Serverless架構(gòu)的彈性伸縮機制正好切斷了資源浪費問題的源頭。

但是Serverless架構(gòu)要怎么選,百富旅行技術(shù)團隊開始對市場上常見的實現(xiàn)方式和產(chǎn)品做調(diào)研:

Serverless架構(gòu)有兩種常見的實現(xiàn)方式:第一種是把每個微服務(wù)應(yīng)用進行容器化改造后,統(tǒng)一使用Kubernetes進行編排,并利用云廠商提供的彈性容器實例實現(xiàn)容器層的按需調(diào)用。這種方式的門檻很高,需要有精通Kubernetes技術(shù)的運維小組加入,并且需要團隊投入比較大的精力對應(yīng)用進行容器化改造,暫時不適用于百富旅行這樣小規(guī)模高效率的技術(shù)團隊。

另一種方式是使用類似于AWS Lambda或阿里云FC函數(shù)計算引擎,將所有業(yè)務(wù)邏輯進行函數(shù)化重構(gòu)。這種方式基本上需要將之前寫的代碼推倒重來,而且在一些擁有復(fù)雜調(diào)用鏈路的業(yè)余環(huán)節(jié)并不能發(fā)揮Serverless的優(yōu)勢,最終排除在考慮范圍內(nèi)。

經(jīng)過多輪技術(shù)調(diào)研以及與阿里云技術(shù)專家深入交流后,百富旅行技術(shù)團隊選擇了阿里云Serverless應(yīng)用引擎(SAE)方案。區(qū)別于其它Serverless產(chǎn)品,SAE直接支持Spring Cloud、Dubbo等開發(fā)框架,實現(xiàn)了全面的Serverless化。開發(fā)者可以通過WAR、JAR、鏡像三種方式部署Serverless應(yīng)用,不需要學(xué)習(xí)Kubernetes以及容器技術(shù)。部署在SAE上的微服務(wù)應(yīng)用,可以按需申請資源,根據(jù)實際使用資源量按分鐘計費,避免業(yè)務(wù)不活躍時段的費用支出。特別是對于測試環(huán)境,SAE可以做到一鍵啟停,避免了資源閑置問題。選擇SAE為百富旅行節(jié)省了大量云資源的成本投入,并且減少一半以上的運維工作,為后續(xù)創(chuàng)新業(yè)務(wù)的發(fā)展打下了基礎(chǔ)。

5、云原生是一個時代下踐行者們“前赴后繼”的故事

一項新技術(shù)或者一套新的技術(shù)理念,之所以能被廣泛接受和快速發(fā)展,是因為有愿意相信并真正去落地實踐的公司,是他們在為整個時代探索著云計算更大的技術(shù)價值。當五年、十年以后我們再來看洋蔥學(xué)院、暢捷通、百富旅行等企業(yè)的實踐歷程,正是因為這些創(chuàng)新者們愿意接納一些新的改變,并以此去撬動更大的想象空間,我們才經(jīng)歷了一個如此蓬勃和充滿可能的時代。

他們才是真的乘風(fēng)破浪!

原文鏈接:點擊前往 >
版權(quán)說明:本文內(nèi)容來自于云棲號,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家