首頁>科技>

作為線上教育平臺,學霸君選擇阿里雲的容器方案來實現運維的自動化 。本文站在運維的角度,介紹了學霸君如何落地實施基於微服務和容器的雲上系統 。

“當時我們對比了多家服務提供商,包括阿里雲、AWS和第三方的Pass平臺。相比之下,阿里雲擁有一定的優勢,所以我們最終選擇了阿里雲的容器方案。”

——俞傑

學霸君運維負責人

採用的阿里雲產品

阿里雲容器服務阿里雲容器映象服務阿里雲日誌服務 LOG為什麼使用阿里雲

希望藉助第三方服務和架構體系完成自動化運維繫統的構建,降低維護成本,加快部署和交付速度

關於 學霸君

學霸君(隸屬於上海謙問萬答吧雲端計算科技有限公司)成立於2012年,是國內領先的中小學智慧化線上教育公司。公司集合來自谷歌、中科院、騰訊等人工智慧領域專家,技術水平位於行業領先地位。學霸君從成立到現在不到4年的時間,在這期間推出了拍照答疑和實時答疑,這些都是在整個線上教育領域的重磅產品。

為什麼選擇阿里雲?

學霸君決定向微服務轉型的時候選擇在新專案上實施微服務架構。

如圖所示的是當時的專案的架構圖,這樣一個簡單的應用其實涉及到了9個服務模組,而且這還只是專案初期。專案涉及到了許多的開發語言和框架,這樣對於開發人員而言非常方便,可以選擇自己熟悉的語言,但是對於維護人員而言簡直是噩夢,因為需要維護的東西實在太多。

這樣的架構如何在生產環境下真正地執行呢?這也是整個微服務架構和容器化需要考慮的問題,無論是自己進行開發還是使用開源軟體進行二次開發都需要考慮。

學霸君上雲方案及成效

下圖是基於docker的微服務架構技術棧。最上層是應用層;下一層是接入層,涉及到負載均衡的高可用和穩定性;再下層的服務層就是微服務的雙方如何去註冊和發現對方,以及如何進行通訊以及部署上線的灰度釋出;再下一層更多的是容器級別的內容,容器叢集的正常運轉是業務正常執行的保證,這一層面同時涉及到程式碼庫以及容器映象的管理;最後一個層面涉及的就是阿里雲提供的雲服務以及一些私有云等。

雖然目前有很多的開源軟體可以使用,但是基於開源軟體進行二次開發還是比較困難的。在對比了多家服務提供商後,包括阿里雲、AWS和第三方的Pass平臺,發現阿里雲擁有一定的優勢,所以學霸君最終選擇了阿里雲的容器方案。

持續整合和交付

如果容器方案中支援良好的持續整合和交付將大大縮短應用上線的時間。同時我們對接了自己的原始碼管理系統,對於程式碼的管控更加安全,程式碼可以直接拉到阿里雲上構建的Jenkins的系統,然後利用通用型的構建方式將程式碼構建成映象,直接推倒阿里雲的映象倉庫。這樣對於映象的管理都是由阿里雲提供的,開發者不需要關心太多的細節。而且對於同樣一份映象和同樣一個服務,可以在三個環境下執行,而且不會存在差異。

學霸君基於阿里日誌服務構建的日誌系統

下圖是阿里雲提供的日誌系統框架。該日誌系統可以對接後端,支援大規模的資料處理和分析。

雲棲社群場景研究小組成員:李杉杉,仲浩。

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 華為鴻蒙將成全球第五作業系統