疫情期間,在線教育、在線辦公需求持續(xù)井噴,釘釘作為很多企業(yè)首選的在線辦公軟件,用戶量激增,特別是釘釘視頻會(huì)議、直播的需求隨之飆升。同時(shí),釘釘為了響應(yīng)教育部門(mén)“停課不停學(xué)”的號(hào)召,宣布老師們可以免費(fèi)試用釘釘在線課堂。
流量如洪流般涌入釘釘,一場(chǎng)資源擴(kuò)容的技術(shù)挑戰(zhàn)拉開(kāi)了帷幕。中小學(xué)生集體對(duì)釘釘展開(kāi)了五星分期與在線寫(xiě)歌“泄憤”的策略,釘釘本釘不得不在線求饒。而在大戰(zhàn)間隙,一聲感嘆傳出:
流量這么大,釘釘為什么不崩?
從 1 月 28 日開(kāi)始,釘釘音視頻會(huì)議、直播的訪問(wèn)流量倍數(shù)級(jí)增長(zhǎng)。作為一個(gè)在云上成長(zhǎng)起來(lái)的產(chǎn)品,釘釘開(kāi)啟了在阿里云的資源擴(kuò)容之路,滿足了用戶在家辦公及在家上課的需求,保證了用戶良好的體驗(yàn),釘釘如何做到的?
如此大型的擴(kuò)容,面臨著兩大困境:效率與資源供應(yīng)
人工擴(kuò)容困境:效率低下
時(shí)間太短。 面對(duì)流量暴增,留給釘釘技術(shù)團(tuán)隊(duì)時(shí)間只有幾天。從 1 月 29 日起,釘釘團(tuán)隊(duì)就已在阿里云上 24 小時(shí)開(kāi)始全力擴(kuò)容,截止 2 月 2 日,從最初的 2W vCPU 擴(kuò)容到 3W vCPU,僅做到了數(shù)倍擴(kuò)容,還遠(yuǎn)未達(dá)到業(yè)務(wù)需求。
購(gòu)買(mǎi)與配置非常復(fù)雜。 釘釘?shù)南到y(tǒng)架構(gòu)包含多種資源,不同于單一的云服務(wù)器 ECS 服務(wù)集群,還包含 SLB、MongoDB、Redis、EIP 等產(chǎn)品。這些資源都需要一個(gè)個(gè)購(gòu)買(mǎi),其之間的關(guān)系也需要技人工自行配置。
人工部署效率低、失誤率高。 釘釘用戶群量級(jí)大。如果人工部署集群,一個(gè)人部署 1 個(gè)集群需要 1 小時(shí)左右,同時(shí)也只能操作 3-4 個(gè)集群,還需要大量的配置操作,很容易失誤。
部署復(fù)雜度高。 集群的服務(wù)能力自閉環(huán),支持無(wú)限擴(kuò)展,但也會(huì)相應(yīng)提升部署復(fù)雜度,而這次擴(kuò)容涉及 8 個(gè)地域、16 個(gè)可用區(qū),傳統(tǒng)部署方式擴(kuò)容場(chǎng)景效率低下
大規(guī)模集群管理難度大。需要快速擴(kuò)容近千集群,才能滿足幾億人在家辦公及學(xué)生在家上課的需求。當(dāng)資源上千后,就很難管理資源之間的關(guān)系了,更何況超百萬(wàn)的資源規(guī)模。
人工部署,容錯(cuò)率比較差,排查困難。 集群之間經(jīng)常出現(xiàn)偏差,某個(gè)集群的 SLB 監(jiān)聽(tīng)端口是 300,另一個(gè)集群是 3000,出現(xiàn)問(wèn)題很難排查。
除卻以上困難,建立和運(yùn)維如此巨大的集群規(guī)模還會(huì)帶來(lái)更多的技術(shù)挑戰(zhàn)。
利用資源編排服務(wù) ROS,實(shí)現(xiàn)快速自動(dòng)部署
早在 2 月 2 日流量洪峰帶來(lái)之前,釘釘就通過(guò)阿里云的資源編排服務(wù)(Resource Orchestration Service,簡(jiǎn)稱 ROS)提高集群部署效率、幫助其快速擴(kuò)容。而這款服務(wù)不負(fù)重托,幫助釘釘在短短 2 小時(shí)內(nèi)新增部署了超過(guò) 1 萬(wàn)臺(tái)云服務(wù)器,這個(gè)數(shù)字也創(chuàng)下了阿里云上快速擴(kuò)容的新紀(jì)錄。
什么選擇資源編排服務(wù)?
資源編排服務(wù)是一款幫助阿里云用戶簡(jiǎn)化云資源創(chuàng)建、更新和刪除的自動(dòng)化服務(wù)。其通過(guò)資源棧 (Stack) 這種邏輯集合來(lái)統(tǒng)一管理一組云資源(一個(gè)資源棧即為一組阿里云資源)。利用資源編排服務(wù),云資源的創(chuàng)建、刪除、克隆等操作都可以以資源棧為單位來(lái)完成。在 DevOps 實(shí)踐中,資源編排可以輕松地克隆開(kāi)發(fā)、測(cè)試、線上環(huán)境;同時(shí),也可以更容易實(shí)現(xiàn)應(yīng)用的整體遷移和擴(kuò)容。
基礎(chǔ)設(shè)施即代碼(Infrastructure as Code)
資源編排服務(wù)是阿里云提供的基礎(chǔ)設(shè)施即代碼(Infrastructureas Code,簡(jiǎn)稱 IaC)的云產(chǎn)品,使用 ROS 可以幫助最快速地實(shí)踐 DevOps 中關(guān)于 IaC 的理念。
全自動(dòng)托管服務(wù)
ROS 產(chǎn)品為全托管服務(wù),無(wú)需購(gòu)買(mǎi)維護(hù) IaC 模板本身執(zhí)行所使用的資源,只需要關(guān)注業(yè)務(wù)所需要使用的資源,即模板中定義的資源。尤其需要?jiǎng)?chuàng)建多個(gè)項(xiàng)目(對(duì)應(yīng)多個(gè)資源棧)時(shí),全托管的自動(dòng)化可以更快地完成任務(wù)。
可重復(fù)部署
無(wú)論客戶是需要部署的環(huán)境是開(kāi)發(fā),測(cè)試和生產(chǎn)環(huán)境,都可以使用同一套模板進(jìn)行創(chuàng)建。指定不同的參數(shù)可以滿足環(huán)境的差異化,例如,測(cè)試環(huán)境的 ECS 實(shí)例數(shù)是 2 臺(tái),而生產(chǎn)環(huán)境的 ECS 實(shí)例數(shù)是 20 臺(tái)?;蚴强蛻粜枰M(jìn)行多地域的部署,使用同一套模板可以進(jìn)行重復(fù)的部署,從而提高部署多地域的效率。
標(biāo)準(zhǔn)化部署
在實(shí)踐中,不同環(huán)境的細(xì)微差異往往帶來(lái)非常復(fù)雜的管理成本,延長(zhǎng)了問(wèn)題診斷的時(shí)間,從而影響了業(yè)務(wù)的正常運(yùn)轉(zhuǎn)。通過(guò)使用 ROS 重復(fù)部署,可以將部署環(huán)境標(biāo)準(zhǔn)化,減少不同環(huán)境的差異,將環(huán)境的配置沉淀到模板中。再通過(guò)類似代碼的嚴(yán)格管理流程,從而保證部署的標(biāo)準(zhǔn)性。
統(tǒng)一的身份認(rèn)證、安全和審計(jì)
和其它的同類產(chǎn)品對(duì)比,阿里云官方出品的 ROS 與其它阿里云產(chǎn)品有著最佳的集成。集成資源訪問(wèn)管理(RAM)提供了統(tǒng)一的身份認(rèn)證,而無(wú)需為單獨(dú)建立用戶認(rèn)證體系。所有的云產(chǎn)品操作都通過(guò) OpenAPI 調(diào)用,意味著您可以使用操作審計(jì)服務(wù)(ActionTrail)來(lái)審查所有的運(yùn)維操作,包括 ROS 本身。
ROS 如何服務(wù)釘釘擴(kuò)容?
定義資源模板
ROS 幫助釘釘快速創(chuàng)建了描述其所需要用到的阿里云資源(如 ECS 實(shí)例、數(shù)據(jù)庫(kù)實(shí)例等)的模板,以定義它的集群架構(gòu)。ROS 提供可視化編輯器能力,可自動(dòng)可使用的模板。模板完成后,ROS 將自動(dòng)地創(chuàng)建并配置這些資源,即可實(shí)現(xiàn)基礎(chǔ)設(shè)施即代碼(Infrastructureas Code)的理念。
模板解析與執(zhí)行
當(dāng) ROS 接收到用戶創(chuàng)建資源棧的請(qǐng)求時(shí),在執(zhí)行創(chuàng)建前,首先會(huì)對(duì)模板進(jìn)行解析。解析包括語(yǔ)法檢查、參數(shù)校驗(yàn)、依賴分析等。
依賴分析就是分析出資源間的依賴關(guān)系,目的有兩個(gè):
保證資源創(chuàng)建的正確性:被依賴資源創(chuàng)建完成后才會(huì)創(chuàng)建依賴資源。
提供并行化創(chuàng)建的能力:無(wú)依賴關(guān)系的資源可以并行化創(chuàng)建。
模板解析完成后,ROS 會(huì)按照依賴關(guān)系創(chuàng)建資源,只有所有前置資源完成創(chuàng)建,后面的資源才會(huì)開(kāi)始創(chuàng)建,類似狀態(tài)機(jī)的機(jī)制。
該資源模板可以快速地重復(fù)部署,尤其多地域、多可用區(qū)部署的情況;同時(shí)也可以減少環(huán)境之間的偏差,將部署過(guò)程和結(jié)果標(biāo)準(zhǔn)化,減少因?yàn)榄h(huán)境偏差引入的系統(tǒng)問(wèn)題。
總結(jié)
釘釘使用資源編排服務(wù) ROS,擴(kuò)容效率就提升了 100 倍,陸續(xù)為釘釘完成了 10 萬(wàn)臺(tái)云服務(wù)器的快速擴(kuò)容和部署,創(chuàng)下了阿里云上快速擴(kuò)容的新紀(jì)錄。
目前 ROS 已經(jīng)擁有平均每分鐘 1 個(gè)集群的擴(kuò)容效率、每天超百萬(wàn) vCPU 彈性能力。未來(lái),可以預(yù)見(jiàn)到,疫情結(jié)束后,數(shù)百萬(wàn)資源回收釋放也將是一個(gè)浩大的工程。資源編排服務(wù) ROS 具有一鍵銷(xiāo)毀功能,自動(dòng)回收集群內(nèi)所有資源,避免繁瑣操作及遺漏。
彈性是云計(jì)算最大的優(yōu)勢(shì),也是云計(jì)算對(duì)整個(gè)社會(huì)提供的普惠和便利,而阿里云彈性計(jì)算資源編排服務(wù) ROS 作為阿里云上原生的自動(dòng)化編排部署服務(wù),讓云計(jì)算的彈性發(fā)揮到極致,為釘釘提供了強(qiáng)有力的支持,讓釘釘成為使用最頻繁最流暢的平臺(tái)。
————————————————
本文為CSDN博主「CSDN資訊」的原創(chuàng)文章。
原文鏈接:https://blog.csdn.net/csdnnews/article/details/104662294
“一帶一路”背景下,物流裝備企業(yè)的全球化發(fā)展 01月01日 08:00
解讀汽車(chē)物流全局?jǐn)?shù)字化 08月16日 14:11
“大數(shù)據(jù)與智慧物流”專題報(bào)道 12月06日 14:24
2017年中國(guó)零售電商十大熱點(diǎn)事件點(diǎn)評(píng) 12月11日 16:35
供應(yīng)鏈協(xié)同、互聯(lián)網(wǎng)+,中國(guó)制造業(yè)轉(zhuǎn)型的十個(gè)方向! 01月11日 10:42
預(yù)判:2018年,中國(guó)快遞十個(gè)可見(jiàn)趨勢(shì) 02月28日 11:16
2018年關(guān)于零售的18個(gè)趨勢(shì) 03月27日 10:51