一體數科姚欣銳:車聯網雲平臺構建實踐

在新一輪的創新浪潮中,物聯網正在高速發展。因爲物聯網行業的特殊性以及設備數量的爆炸式增加,對物聯網的IT服務架構提出了更高的要求。得力於雲計算對地理分散的各類設備協同合做的良好支持,物聯網的雲端化成爲常態。將各類設備所提供的服務結合起來並可靠地支持大量用戶應是物聯網應用的核心要求,而這正是雲計算所擅長的。數據庫

下文是一體數科運維工程師姚欣銳在QingCloud IoT沙龍現場演講速記整理。後端

一體數科成立於2013年,是一家專一於車聯網、車主生活服務、用車生活服務等領域的創新科技型互聯網企業。姚欣銳分享的話題是『智能生活,車網互聯』,他以一個運維人的身份講述了在實際生產環境中所遇到的一些坑,以及構建雲平臺的實踐經驗。安全

姚欣銳的分享主要分紅四個部分。首先,介紹了一體數科平臺的業務需求、項目背景;第二,在衆多雲產品當中爲何選擇了青雲QingCloud;第三,分享一下一體數科如何在雲中去構建IT平臺系統;第四,對將來的一些思考。服務器

緣起車聯網

首先介紹一下車聯網,是指利用先進的傳感技術、網絡技術、計算技術、控制技術、智能技術,對車輛、道路和交通進行全面感知,實現多個系統間大範圍、大容量數據的交互,對每一輛汽車進行全程跟蹤,對每一條道路進行交通全時空控制,以提供行車安全和交通效率爲主的網絡服務與應用。網絡

一體數科主要專一於車隊管理、物流領域,因此如上圖所示,一體數科的車聯網雲平臺生態鏈中的目標客戶會是一些企業客戶,像東部公交、西安交運等等一些大的車隊、保險公司、服務提供商等等。架構

目前一體數科的產品有GPS、OBD等多種終端設備,經過這種車載的終端能夠收集車輛的數據,把駕駛行爲、油耗、GPS等等數據收集到統一的平臺中。同時一體數科車聯網綜合服務平臺制定了一套簡單高效的通用標準協議,使得第三方的各種終端設備均可以經過標準協議,快速穩定地接入雲平臺,保障數據的穩定性、標準性、規範性,更快速、完整地覆蓋業務需求。併發

物聯網可能有幾百萬個終端在不停地收集數據,這些數據必須安全地存儲起來以便其餘人或者系統使用,並且物聯網的不少終端設備是基於長鏈接的。長鏈接的特色,數據傳輸快、數據狀態實時,這些特性對平臺是有一些要求的。要適應這種特性,咱們的平臺就須要既能支持這種TCP協議,又能支持大併發。咱們就須要負載均衡的產品。什麼樣的負載均衡的產品能知足需求?咱們就須要去作一些選擇。負載均衡

首先,企業的IT基礎設施的發展可以跟得上物聯網的需求。 我以前已經講過了傳輸數據對一體數科來講不是個問題,問題在於將數據載入雲端以後如何進行不一樣類型的處理。其次,車聯網的數據量是很是大的,GPS軌跡、油耗、駕駛行爲這些數據的量是很是大的,須要一個可靠的集羣、一個可動態擴展的數據庫、一個穩定的網絡環境,只有這樣才能承載車聯網的業務。框架

圖片描述

如上圖所示,咱們目前使用統一的數據中心管理平臺來在同一集羣上運行Kafka和Cassandra這樣的框架。固然平臺的搭建也是基於雲服務的方式,有IaaS、PaaS和SaaS。這樣的好處之一就是進行不一樣需求處理的時候無需將數據進行移動,下降了I/O的開銷,提升了實時處理和分析的性能。如今的業務模式是終端去採集、收集數據,而後在平臺進行一個分析,展示到WEB端和APP端,來爲客戶提供車隊管理的解決方案。運維

爲何選擇青雲QingCloud

終端須要一個負載均衡器來承受併發、收集數據。負載均衡分爲硬件和軟件,硬件有F五、A10等等,價格很是昂貴,對於創業公司來講,基本上不會考慮這樣的硬件產品。軟件的負載,有LVS等等,LVS主要用於服務器集羣的負載均衡,在解決第三層負載上表現性能優秀。可是LVS有一個弊端,它的配置是基於文件配置的,若是後端主機特別多或者服務特別多,配置會很是複雜,並且很差管理、容易出錯。另一個問題是LVS沒有辦法作到粘性,沒法獲取終端的真實IP,不便於繼續作後面的分析。基於這種背景和業務條件,一體數科選擇在青雲QingCloud公有云上去部署IT系統。

當時在選擇公有云的時候,一體數科對比了幾家雲服務提供商,發如今VPC這一塊,別的廠家基本上是空缺、不完善的,而青雲QingCloud是最早推出基於SDN的VPC服務,這就等於咱們在QingCloud公有云當中能夠構建私有云,組建複雜的網絡拓撲。同時,因爲QingCloud作的是一個100%的用戶隔離,這樣就能夠解決安全方面的隱患。

咱們通過一段時間的使用和體驗以後,發現青雲QingCloud在部署和變動、響應方面都比其餘服務商快的多。部署快,在資源的建立上面很是快,基本上是秒級的反應,6秒建立一個主機,這是其餘服務商作不到的;變動快, 是在一些路由器的配置變動上面很是快;響應快, 主要體如今工單方面,基本上有什麼問題,下一個工單很快就會獲得響應;標準化, QingCloud的接口很是的標準、統一。一體數科在QingCloud上一些平常的操做,基本上能夠經過API來完成,而後集成到自身的運維平臺上面。

最後,特別強調一下青雲QingCloud的負載均衡。QingCloud把負載均衡抽化成三個概念,負載均衡器自己、監聽器和後端主機。當建立一個負載均衡器的時候,監聽器和後端主機都一塊兒配置了。這樣有什麼好處呢?用戶能夠在不須要後端主機作任何變動的狀況下面完成負載均衡器的配置。同時,QingCloud負載均衡器能夠直接獲取客戶端的真實IP,解決了一個技術難題。我以爲QingCloud作到這一點,對負載均衡技術來講是很大的突破,這也是一體數科選擇QingCloud一個很重要的緣由,由於它特別適合物聯網的業務場景。

構建基於青雲QingCloud的IT架構系統

介紹完了爲什麼選擇青雲QingCloud,接下來詳細的講一下一體數科是怎麼樣在QingCloud上構建IT系統的。

圖片描述

好的架構不是設計出來的,而是慢慢演進出來的。如圖所示,是咱們在QingCloud上的一些應用部署架構。經過虛擬的防火牆以後才能到達路由器,在二層上面作了網絡隔離。終端、用戶和第三方的需求,都集中到負載均衡器上面,而後由負載均衡器到路由器,轉發到後端去完成請求。這樣的設計的好處就是整個業務很是的平滑,擴展後端徹底不會影響業務,固然這也依靠QingCloud的自動伸縮的功能。數據層,咱們用的也是QingCloud的產品,不須要去考慮不少DB上的運維。

圖片描述

接下來分享一下咱們是怎麼在QingCloud上面作自動化運維的。持續集成是在本地一個機房內部進行操做,除了將代碼在本地進行打包,而後再更新到服務器端,還經過青雲QingCloud的API來獲取一個負載均衡器的後端主機列表,而後再把應用包更新到相對應的主機上,完成線上的一個發佈過程。第二步,就是橫向的擴展。橫向擴展主要是應用QingCloud自動伸縮功能,去觸發一個條件,就會自動進行建立和調整資源,而後執行。能夠利用API對QingCloud的資源進行查看、修改和建立,固然也可使用青雲應用中心第三方的服務來完成這樣的操做,好比說FIT2CLOUD(相關文章閱讀)。

將來的一些思考

咱們會繼續將新的需求部署在雲上,公有云服務能夠更好的協助創業公司將注意力集中在自身的業務上,幫助創業公司更好的發展。 同時期待QingCloud平臺可以在PaaS平臺和API接口服務方面實現更多突破, 爲咱們用戶提供更豐富的資源調度。

相關技術文章:

火熱的DevOps如何在你的團隊落地

如何在同一平臺管理你全部的雲端資源?

在雲計算平臺上部署Spark實踐分享

原文連接
https://community.qingcloud.com/topic/175

相關文章
相關標籤/搜索