數字經濟的浪潮席捲全球,科技已經是產業升級的第一推進力。做爲國家高新技術企業,浙江大華技術股份有限公司(如下簡稱大華股份)因需而變,以視頻監控產品爲核心,快速打造端到端的視頻監控解決方案、系統及服務,促進全球城市運營、企業管理、我的消費者生活的升級,並取得了顯著的效果。
大華股份爲什麼可以實現這樣的轉變?其公司採用的前沿微服務理念如何重塑業務架構,實現高效創新?大華聯合網易雲進行的微服務化全面改造揭開了這一數字化升級的過程。
html
當瀑布式開發遇到數字經濟
技術創新被大華股份視爲公司發展的命脈,公司每一年的研發投入佔到了銷售收入的10%左右,現有的16000多名員工中,研發人員佔比超過了50%。近年來國內各行業數字化轉型升級的強烈需求,爲大華股份來了新的發展契機,公司基於視頻業務,持續探索了機器視覺、視頻會議系統、專業無人機、智慧消防、電子車牌、RFID及機器人等新興視頻物聯業務,不斷知足公安、交管、消防、金融、零售、能源等領域的需求,並將這些業務拓展到全球180個國家和地區。
隨着業務的不斷髮展,以及集團多元業務的綜合佈局,特別是海外業務的拓展,大華股份對信息化先進程度以及響應速度要求愈來愈高,特別是跨產品線的結合,大型解決方案的輸出,須要高效的跨部門合做。而在常年的IT建設過程當中,大華內部的信息化系統已很是多,但系統之間相對獨立,系統互通困難,致使跨部門之間協做效率較低;而且隨着IT系統的逐漸增多,系統使用效率反而下降,致使用戶體驗較差。此外,大華股份還引入了多家外包商來補充一些產品能力的開發,這也帶來了效率和成本的挑戰。大華股份面臨的矛盾集中體如今三個方面:
需求響應慢:此前在大華內部主要的開發模式仍是傳統的瀑布式,以項目制進行,業務的飛速發展,給後端的需求響應能力和平臺的穩定支撐能力帶來挑戰;外包的合做,外包商開發完以後將源代碼打成一個沒法編譯與修改的ZIP包交付,系統上線後,即便是一個很小的改動,哪怕像換行、添加列表這種簡單的修改,也須要讓外包商從新開發一遍。
信息互通難:在佈局智慧交通、智慧園區等大型解決方案時,會涉及到多個產品線的多個產品,須要各個系統間信息和服務高效互通;外包方面,不一樣外包商的標準不同,若是兩個有重合的功能是分發給不一樣外包商作的,它們也沒法複用,形成時間和資金的浪費。
用戶體驗差:隨着業務的不斷擴展,以及海外業務的擴張,前端用戶對於信息系統的響應能力、移動化以及用戶體驗需求愈來愈高,須要從架構本質上解決系統體驗問題。
微服務改造破局:構建統一服務中心
大華股份從多個維度綜合考慮,總體規劃,但願從架構層面解決這些長期的痛點。藉助網易雲輕舟微服務平臺,大華股份構建了統一的產品服務中心,實現快速跨產品線整合信息,輸出解決方案,跨部門、跨企業之間的協做,不一樣產品線的信息交互效率大幅提高。經過微服務中心的沉澱,以及敏捷研發流程的創建,加速了前端需求響應的速度。經過分佈式部署以及標準的開放能力,提高平臺用戶體驗。經過平臺中對微服務治理的監控,構建統一的接口標準和運維體系,對通用服務的抽象,構建企業的軟件服務資產體系。
固然,服務拆分須要結合經驗和業務實際狀況而定,大華股份對自身業務極爲熟絡,但缺少足夠的微服務實踐經驗,內部技術團隊經過與網易雲輕舟微服務團隊合做,快速解決了這個問題,項目進行了兩個月,統一的產品服務中心的第一個穩定版本就成功上線。
微服務打破系統集成障礙
在傳統的煙囪式架構模式下,系統集成難度之高,不少企業都深有體會,而傳統SOA的努力,並無從根本上解決這個問題。大華股份採用採用微服務架構改造系統,在統一的微服務框架下,將各個系統按照業務邊界拆分紅不一樣的服務,每一個服務都和文檔一塊兒註冊到註冊中心上。這樣,登陸到註冊中心的每個研發人員,均可以看到註冊上來的應用提供了哪些接口,有須要的時候就能夠直接調用這些接口,從而打破了系統集成的障礙,實現了不一樣系統數據的開放和共享。
微服務沉澱IT外包資產
針對IT外包的三個痛點:迭代緩慢、代碼混亂和難以複用,微服務也提供瞭解決方案。大華股份採用輕舟微服務的持續集成/持續交付(CI/CD)能力,很好地解決了「迭代緩慢」的問題。公司要求外包團隊在CI/CD流程上將作好的程序跑起來,一旦跑起來,程序在自動編譯後就能夠自動部署了。這樣,大華股份須要改任何一個東西,均可以在Git上查看狀況並進行修改,而後再次啓動流程,打出Docker鏡像。這種方式很好地解決了工做效率以及成本問題,不須要進行二次開發,只需少量的修改就能夠了。
對於每家外包公司的開發模式都不同的問題,大華股份經過微服務框架和統一的模板,讓外包商都按該模板來寫代碼,代碼結構就可控多了。
此外,外包商開發的每一個服務也一樣和文檔一塊兒註冊到註冊中心中,其餘的服務開發者,包括大華股分內部團隊和其餘外包商,若是須要複用這些功能,均可以直接調用這些接口,從而使得不一樣外包公司的開發成果可以沉澱下來進行復用。
微服務知識庫下降團隊溝通成本
在內部系統和外包能力都服務化的背景下,微服務間的互相調用十分複雜,不一樣微服務團隊之間的溝通也比較繁瑣,這對微服務改造的推動形成了必定的困惑。針對這一點,大華股份採用了輕舟微服務提供的「服務知識庫與發佈」統一管理API,將文檔和運行保持一致。該特性來自輕舟微服務API網關,基於網易雲OpenAPI的微服務規範流程控制,提供了標準化API管理、導入/導出、Swagger/Markdown文檔、發佈/下線等功能,使得微服務團隊無需專門溝通便可快速調用所需的服務。包括外包商開發的能力,複用成本也能夠下降。
服務認證鑑權保障調用安全
做爲一家高科技企業,大華股份既鼓勵能力共享,也爲每種能力制定了規範的流程,這意味着統一的產品服務中心須要相應的機制——服務必須認證了才能調用,故而服務的認證鑑權和審計成爲了公司的剛需。
大華股份採用輕舟微服務,每次服務註冊/發現/調用時均可以認證鑑權。Spring Cloud Eureka組件不支持服務實例按自定義條件過濾,對註冊/發現鑑權只提供了特定的方式(OAuth),對自定義權限模型親和度不夠,也難以知足多租戶等隔離需求,輕舟微服務作了專門的優化:基於Eureka中Metadata攜帶版本等標籤,按標籤過濾的方式,解決按自定義條件靈活註冊/發現/過濾;擴展了Eureka鑑權方式,支持了平臺總體基於RBAC權限模型;基於標籤+自研方式知足平臺多租戶隔離需求。
此外,輕舟微服務在API網關層也支持對服務請求進行異步審計與統計分析,並提供多維度審計查詢、統計圖表、依賴拓撲展現等功能。這些特性,使得大華股份在審計方面對於各類權限、各類做用域(分平臺、租戶、項目)都有精細的規劃。
高可靠微服務體系提高用戶體驗
在服務上線以前,大華股份經過輕舟微服務平臺的GoAPI接口測試,自動化地提高服務代碼質量,GoAPI支持HTTP\Dubbo\Thrit協議,集成了接口管理、接口測試、持續集成、線上監控等功能,可以無縫接入項目到已有CI/CD流程中,將接口測試變成產品質量把控的重要一環,同時加快開發迭代的速度。GoAPI還支持租戶隔離,以及多產品的資源隔離,這對大華股份而言也很重要。
對於運行中的服務,大華股份經過輕舟微服務平臺的服務路由、負載均衡,以及熔斷、降級、線程隔離保護等與業務解耦的治理能力,保證系統的健康;同時,經過輕舟微服務的全鏈路監控能力,實時發現服務調用中存在的異常,例如自動化拓撲發現能夠展現服務間的調用關係、訪問次數、錯誤率、響應時間等指標,包括各類數據庫和中間件信息,能夠根據節點狀態和外部事件肯定拓撲中服務的健康狀況。
此外,基於分佈式部署的微服務,能夠爲大華股份帶來更好的擴展能力,進一步提高系統的可靠性和用戶體驗。
微服務提高數字化競爭力
經過引入輕舟微服務平臺,大華股份建成了統一的產品服務中心,提高了跨部門、快外包商協做效率,並構建了軟件研發流水線,有效提高了總體研發效率。而經過平臺化的管理,大華股份也統一了企業信息化標準,下降了運維難度,並提高了平臺的穩定性和可擴展性,提高了用戶體驗。
伴隨着服務的不斷沉澱,大華股份的解決方案、系統和服務日益完善。目前,大華股份的解決方案已經覆蓋了智能樓宇、智慧交通、平安城市、文教衛、智慧交管、金融、司法、政府、運營商、專業等領域,在全球知名市場研究機構IHS發佈的2018年全球視頻監控設備市場佔有率報告中,大華股份的排名雄踞榜眼。
大華股份的實踐代表,技術創新的速度關係着企業在數字經濟時代生存與發展的核心競爭力,微服務平臺的引入與產品服務中心的構建,對於企業核心競爭力的提高相當重要。前端
相關文章:
【推薦】 10本區塊鏈熱門圖書(應用開發、智能合約等)免費送!
數據庫