標籤:

高德地圖基於阿里雲MaxCompute的最佳實踐

摘要: 雲計算帶來的變革不言而喻,作為一種新型的IT交付模式,切實為企業節省IT成本、加快IT與企業業務結合效率、提升創新能力、加強管理水平以及增強系統本身的可靠性等方面提供巨大支持,是企業實現新發展的重要途徑,它已然成為全球IT產業的主流聲音。

原文

雲計算帶來的變革不言而喻,作為一種新型的IT交付模式,切實為企業節省IT成本、加快IT與企業業務結合效率、提升創新能力、加強管理水平以及增強系統本身的可靠性等方面提供巨大支持,是企業實現新發展的重要途徑,它已然成為全球IT產業的主流聲音。

為此,CSDN記者日前採訪了國內最早一批提供地圖API互聯網服務商高德的高級運維專家曾偉,從運維的角度分享了高德上雲的背後故事和帶來的好處、雲上架構、運維核心價值的變化等,最終實現了應用服務可用性上升到99.99%,同比提升了5倍,以及運維人員從原先的45人降到16人。他也表示,企業應當及時抓住雲計算技術帶來的新機遇,針對自身不足,實施相應的技術和業務變革,擁抱雲計算,充分發揮雲計算技術在企業管理中的作用,從而增強企業的競爭能力。

高德的IT化信息化之路

高德於2002年成立,這十幾年的發展使得高德產品從簡單的車載導航產品應用至整個互聯網,目前提供的產品或服務主要有基礎服務:定位、搜索、線路規劃、導航、步行、公交;O2O:酒店、美食、景點等;車聯網:AMAP AUTO車機版本、無人駕駛;高德大數據:實時路況,躲避擁堵等。

但是如今強大的產品或服務也經歷了一個漫長的IT信息化成長過程,從運維角度的來說有以下幾個階段:

沒有運維團隊的渾沌階段。2002 - 2007年是初級的IT階段,數據生產的伺服器由IT部門負責,IDC的伺服器是研發人員負責,主要用於地圖數據的生產,線上的地圖只有一小部分;

開始建立運維團隊,專業化運作。2007 - 2014年IT信息化主要分為IT和運維,IT則負責辦公網的產品業務,包括辦公電腦、印表機、辦公流程的軟體;而運維全面負責公司IDC機房、伺服器、業務,運維整體還處於人肉時代,運維服務效率較低;

2014年7月 - 至今,雲上的高德實現自動化運維。此階段高德開始上雲,運維逐步邁向自動化的時代,運維人員的故障處理能力、性能等進一步提升等。

高德的數據採集、加工、整合過程

從最初的數據採集、合成、地理等變化到今天的車輛定位系統,高德的數據加工與整合主要分為這幾個階段:

初級階段:採集車安裝攝像頭和GPS、實景採集、郵寄視頻光碟等原始的方式;而內部作業員再通過看錄像、軌跡進行數據分析和數據製作,從而實現3個月一次的數據更新。在這一階段是全手工模式,互聯網化較低;

系統階段:採集車開始使用採集系統軟體,再在晚上通過網路回傳,脫離光碟作業的形式;之後,通過完善的編輯工具、檢查工具,實現了高的質量控制和快的流水線速度,從而進入到數據加工廠階段;

平台化階段:上線高精採集車採集全景、分米級高精軌跡,以及眾包的形式進行社會化採集;內業工作平台化,數據流轉任務流轉平台化,而且全流程有監控,最終進入到流水線生產階段;

自動化階段:未來的採集將全面轉向眾包化,實現自動回傳,而內業的自動化水平高度提升,通過影像識別、大數據分析、自動數據融合等技術提升自動化生產的水平,這也是高德當下努力的方向。

目前,高德主要有地圖、導航兩個App產品,以及PC地圖,同時還開放了API服務,方便移動開發者更好地為用戶提供高質量基於位置的服務。

運維之痛

在上雲前,高德在運維方面經歷了很多的痛苦,比如自建機房帶來的運維之痛,高德之前有7個小機房零散分布在全國各個地方,但隨著業務的快速增長自建小機房模式帶來很多問題,包括IDC電力、空調、網路都很容易故障,也使得當時的運維達到40多人;同時也面臨大量的運維需求,因為運維需要負責IDC、電力、網路、伺服器、OS、資料庫(MySQL、Redis、Oracle、Memcache、PG、MongoDB)、各種應用軟體(Nginx、Apache)、開源工具(Jenkins、Puppet),大量的需求使得運維人員的經歷分散,產生非常大的壓力。另外,有時候因用戶激增帶來的大流量,加上原本吃緊的帶寬等問題,甚至會造成重大活動/節日時的宕機。

基於阿里雲的最佳運維實踐

曾偉表示,高德在運維方面經歷的痛和負重在上雲後都得到了根本性的改變,首先基於阿里雲實現了統一基礎設施的運維,讓運維人員不再運維基礎設施;同時,阿里雲提供的各種雲服務有負載均衡、彈性計算ECS、雲資料庫RDS、對象存儲OSS、雲資料庫Redis版、大數據計算服務MaxCompute(原ODPS)等,運維人員只需要使用好這些服務就可以了,不需要去維護具體的組件。另外,高德經常有大型活動,用戶訪問量會在某個階段激增,這時就需基於阿里雲的彈性伸縮服務,就能實現快速擴展的基礎設施。最後,運維人員只需要專註於業務的性能、架構、故障等核心價值即可。

但是,高德在剛開始上雲時,對於熟悉傳統數據中心的運維人員有可能不熟悉各種雲服務組件,以及高德IDC和阿里雲併網運行期間,日誌實時傳輸延遲導致實時數據分析會出現延遲的情況。而通過阿里雲提供的完善技術、及時的響應、培訓支持,快速地解決了遇到的問題,最終運維人員可以很熟練的使用雲服務。比如,在高德MySQL資料庫轉阿里雲RDS的過程中,遇到了數據遷雲的問題——數據格式、寫的方式、導出/導入方式,最後利用阿里雲強大的RDS直接通過中轉區搭建了DTS系統,實現了跨網資料庫遷移的無縫切換和數據一致性。另外,阿里雲技術專家毛一鳴也介紹稱,高德也用到了阿里自研的DRC產品(Data Replication Center),支持異構資料庫實時同步,數據記錄變更訂閱服務,為跨域實時同步、實時增量分發、異地雙活、分散式資料庫等場景提供解決方案。

在遷到雲上之後,高德地圖的應用服務可用性上升到99.99%,比之前的7個小機房提供的服務可用性提升了5倍。另外,從以前的每次大型活動系統常崩潰,到國慶出行高峰的運維人員淡定、系統穩若磐石,充分體現了阿里雲計算的穩定性。再者,以前高德的新應用上線和擴容,至少得提前2個月開始採購伺服器、上架、裝機、人肉擴容、發布,上阿里雲之後,彈性擴縮容基本上在20分鐘內就完成,新應用上線10到20分鐘內就可以完成資源申請到應用發布上線。

如今,高德所有核心業務系統已經全部放在雲上,由阿里雲提供計算服務。在具體的運維人員事情方面,他們不用再運維基礎設施——IDC、網路、伺服器等;各種資料庫、緩存、負載均衡、發布工具都不用自己去維護,使用阿里雲的服務即可;異地容災只需要申請不同地域的雲服務就好了,不需要自己去建設機房。安全面方面,阿里雲提供了很多服務,比如防攻擊(DDos)、流量清洗、防病毒、防欺詐、代碼掃描等;毛一鳴總結阿里云為高德提供的服務大概有這幾方面,首先是IaaS (Infrastructure-as-a-Service,基礎設施即服務):包含多地機房,網路,巡檢等;其次是PaaS(Platform-as-a-Service,平台即服務):高德使用到的雲產品包含彈性計算ECS、雲資料庫RDS、對象存儲OSS、負載均衡、內容分發網路(CDN)、大數據計算服務MaxCompute(原ODPS)等;最後是SaaS(Software-as-a-Service,軟體即服務):高德自身的系統提供的服務(如上圖所示)。

整體來說,對於高德運維變化最大的就是運維模式的變化,從原來的IDC到網路到資料庫等基礎服務都要自己維護,變化為使用阿里雲的各種雲服務,運維人員可以專註於架構、故障、性能等核心能力上,員工的成就感得到了很大的提升,同時運維人員從原先的45個降到16個。也就是說,全面雲化後,是運維核心價值的轉變和變革。

最後,曾偉也介紹說,高德除了常規導航服務,在上雲後,利用阿里雲「數加」平台強大的計算處理能力,比如阿里雲的大數據計算服務MaxCompute(原ODPS)、流計算StreamCompute等服務,高德可以做出行線路選擇、擁堵大數據、躲避擁堵、城市熱點分布、景區推薦、商圈熱度,主要是根據用戶的定位數據,進行實時的數據挖掘,從而跑出預測模型,實時得到現對用戶有用的結果。

如果預測某天下午四點的路況,就是先拿到歷史數據,每天訓練做一個離線的歷史回歸、預測模型,再加上當天的出行、天氣、節假日、突發情況等實時信息,再對線上模型進行調整優化,從而達到最優的預測。而在面對未來的智能交通和車聯網,高德基於車聯網推出了AMAP AUTO車機版本,解決了傳統車載系統的數據更新慢、用戶體驗差、實時路況缺失、不夠智能化的問題,長期來說無人駕駛也是一個非常重要的方向,但在車聯網的背後,也是高德充分利用了雲計算大數據的能力。

更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎


推薦閱讀:

運維體系中建立反饋機制的重要性
運營平台在運維體系中如何注重清單的應用

TAG:大數據 | 運維 |