天天看點

羅振宇跨年演講之夜 阿裡雲護航得到App

2017年12月31日,羅振宇在上海舉辦了《時間的朋友》跨年演講。

羅振宇跨年演講之夜 阿裡雲護航得到App

這場四個小時的跨年演講吸引了近萬的現場觀衆和超過百萬的直播觀衆。

今天想和大家分享的是,在這場知識晚會的背後,得到App、電商平台技術人員和阿裡雲團隊保駕護航的故事。

羅輯思維&阿裡雲

羅輯思維是著名的知識服務商和營運商,有微信公衆号、知識類音視訊節目、知識服務得到App等産品。随着品牌日積月累的沉澱,其跨年演講和其相關業務需求不斷增大。

羅輯思維大量核心業務運作在阿裡雲,目前團隊使用了ECS、CDN、OSS、多款雲資料庫、負載均衡、容器服務、全鍊路壓測PTS、Web應用防火牆、媒體轉碼、資料可視化等20多款産品。

對于此次阿裡雲護航,羅輯思維的技術負責人沈仁奎表示:“非常感謝阿裡傾囊相授雙11成功經驗,作為産品的使用者很感動,你們服務非常貼切,徹底融入到我們團隊了解我們的業務形态,給出很多有價值、切實際的建議,對我們幫助很大。”

全鍊路壓測

技術大考前的必備演習

全鍊路壓測是應戰業務大促不可缺少的關鍵技術,這是阿裡曆年備戰雙11的利器,在此次羅輯思維備戰中它同樣被應用得淋漓盡緻。

通過全鍊路壓測規劃跨年期間的系統容量,确定基準吞吐量和擴容縮容政策,找到特定場景下叢集伺服器配比和叢集的短闆,對于壓測中發現的問題及時調整。

相比于經驗判斷和一般意義上的線上壓測,全鍊路壓測與業務場景更緊密相連,找到不同業務場景下的臨界峰值,計算出每個業務應用的數量值,由點及線、由線及面進而獲得整體情況;通過性能測試服務PTS(Performance TestingService)編排全局業務場景和構造真實業務流量,達到讓業務和技術架構提前經曆業務洪峰的檢驗,確定跨年活動和日常核心服務的穩定性和健壯性。

羅輯思維的全鍊路壓測接口愈200個,整體覆寫率超過50%,囊括了其得到APP和其獨立電商平台的所有核心業務。

在不到三個月的時間内,羅輯思維和阿裡雲PTS團隊一共進行了大大小小愈七百次的單鍊路壓測、十六輪完整形态全鍊路壓測,壓測所耗費的資源相當于一百多萬使用者一同測試兩個多小時。

為了不影響到羅輯思維使用者的體驗,其中一些全鍊路壓測都是在半夜和淩晨進行的。

由于壓測範圍廣,其發現問題能力和提升效果也相當顯著。壓測先後總計發現數百問題,經過逐一排查,壓測目标的幾乎所有主要後端服務的業務系統都被優化改造。

舉例說明,在壓測中發現node側應用CPU飙升的瓶頸,通過接入阿裡Node.js性能平台,定位、分析異常并解決應用核心錯誤。經過技術人員們的不懈努力,系統吞吐能力提升上百倍。

ECS在手

資源呼風喚雨

在傳統的基于IDC搭建業務情況下,必不可少的擔心就是業務發展受制于固定且有限的資源。

如果資源儲備過多,那麼在日常平峰或流量低谷時,就會造成巨大的資源浪費;可是如果資源準備不充分,在流量高峰時,又影響到使用者體驗。

雲計算時代,彈性計算是首要優勢。羅輯思維選用了阿裡雲ECS,該産品具備海量資源的彈性傳遞能力,可以保證在一分鐘内建立出近1000台雲伺服器。

羅輯思維日常情況下按照一定比例選用包年月和按量的兩種伺服器付費方式,在此次跨年演講中增大了按量計費的伺服器用量,峰值時該種伺服器達1000+台,大大降低了計算資源成本和前期籌劃準備成本。

除去成本之外,更重要的是使用效果和體驗。從計算性能穩定性而言,通常情況下,整體的ECS業務可靠性比線下實體機可靠性有大幅提升(99.95%業務可用性保證);若搭配高性能SSD雲盤,則相當于資料可靠性和業務可用性雙重保險,這也是羅輯思維此次的選擇。

另外,ECS提供豐富的企業級執行個體,羅輯思維選用了最新一代基于skylake處理器、25G網絡的企業級執行個體、大資料分析的D1型執行個體、高性能資料庫I2型執行個體等,在性能和成本上都很出色地滿足了需求。

容器服務

撐起電商百倍高峰

在剛剛結束的跨年夜裡,羅輯思維的電商業務售賣了數萬件商品,其中單價為6.4W的積家手表一秒售罄。電商背後是怎樣的技術支撐呢?

容器技術的出現,使得軟體從複雜的傳遞及運維中解放出來。

羅輯思維此次的電商業務依托于阿裡雲容器服務,通過分鐘級一鍵部署和秒級海量容器啟動,實作秒級的應用架構伸縮和一站式應用生命周期管理,不僅提高了系統資源使用率,降低了整體成本,而且簡化了應用的管理及運維。

同時容器服務整合阿裡雲能力,提供內建的實作無關的容器應用存儲、負載均衡、高可用、監控及日志管理,極大的簡化分布式應用的管理及運維工作。

在業務高峰突然來臨之時,容器服務提供應用容器及叢集資源二級的自動彈性伸縮,從容應對高峰流量。

在羅輯思維此次大促的電商準備階段,在容器服務的支援和優化下,系統壓測能力提升十倍。

此次電商銷售活動圓滿完成,叢集資源狀況平穩、極小波動,支撐了較平時百倍壓力的高峰流量。

一些具體的優化有:針對跨年活動大流量場景,進行系統架構優化,針對場景進行網絡參數優化;開啟多核模式防止單核跑滿;注意調配資源使用的政策,相關應用實作自動擴縮容;關注叢集節點數、應用的執行個體數量配比等等。

DevOps

一處建構,各處部署

衆所周知,軟體的建構、打包和部署是釋出中的關鍵步驟,企業級開發者往往需要依賴Make、Ant、Maven等一系列工具才能完成源代碼的編譯和連結;而多程式設計語言和分布式開發則無疑加大了項目建構管理難度。

除了對業務服務高可用及平台管理的支援,容器服務預置DevOps能力:覆寫應用從建構到傳遞到運維的整個生命周期,提供多種應用釋出方式和持續傳遞能力,支援容器持續內建及傳遞最佳實踐,支援阿裡雲及開源CI/CD方案并提供工具鍊整合。

工程師們将應用打包成Docker鏡像并共享釋出到阿裡雲鏡像服務中,這取代了傳統的程式的分發及環境安裝配置,Docker鏡像使得開發、測試和生産環境的配置變得簡單而高效,“一處建構,各處部署”。

同時,通過編排模闆,可以把一個應用的外部依賴、服務之間的關聯,全部變成可追蹤的代碼;并且對版本管理進行更好的管控,以便快速上線和復原。

通過編排、和應用無關的不間斷釋出、藍綠釋出等釋出政策的支援,極大提高了線上應用的高可用,降低了釋出風險,提高業務系統的疊代速度。