數聯天下,智造生活
數字化開始從抽象化、標準化走向智能化
2020 給全民普及了什么是線上化、數字化、智能化,也加速了企業的數字化轉型,“全數字化”時代,已經不僅僅是簡單粗放的資料采集、映射、抽象,數字化開始邁入高級階段——資料驅動的智能化:基于云管端 + AIoT 等為代表的新技術群落開始大量涌現,數智化企業思考的核心問題轉向了如何以客戶運營為核心,通過智能化手段提高客戶全生命周期的體驗,
作為物聯網大資料行業的排頭兵,深圳數聯天下智能科技有限公司(以下簡稱數聯天下)傾力打造的 C-Life 大資料綜合計算服務平臺,致力于為個人、行業、政府提供全周期、全鏈條、全維度、全方位的專業級運營顧問式服務,依托著公司強大的研發投入與技術實力,數聯天下在智慧養老、智慧健康校園、智慧美業、智慧家庭、智慧酒店、智慧農業、智慧水生態等多個智慧領域,打造了一批又一批的標桿示范專案,
DevOps 帶動研發流程數字化
企業的敏捷性、適應性、反脆弱性,決定其在這場數字化顛覆中的勝與負
在交付各個領域的智慧專案程序當中,數聯天下的研發部門逐漸發現問題:研發團隊面對的是一個更加不確定、個性化、碎片化的市場需求,行業專案雖然存在著一定的通用性,但也因地制宜的存在大量定制化需求,如何讓個性化與規模化齊頭并進?多變的客戶需求帶動了研發組織開展與業務相適應的調整,通過研發流程數字化提升研發流程的敏捷性、適應性、反脆弱性,數聯天下開啟了研發提效之路,
數聯天下研發團隊和我們分享道:“客戶專案周期緊張,需求變化比較頻繁,開發團隊需要在短時間內完成軟體開發并發布上線,而在之前的研發流程當中:發布流程長,審批環節多,發布節奏緩慢,開發運維之間沒有良好協作來提升發布效率,所以亟需打破跨部門之間的壁壘,減少開發、測驗、運維之間的溝通環節、溝通成本,DevOps 是我們在較短開發周期內開發高質量軟體的首選方法,希望通過使用 DevOps 平臺 —— CODING 來提升客戶滿意度,”
區別于之前通過多個工具自建研發流程,數聯天下團隊首先基于 CODING 的持續集成、制品庫、持續部署逐步提升交付帶寬,再將專案管理、研發資料管理等流程統一至 CODING ,漸進式實作研發流程從需求提出到應用部署的價值交付,從而讓研發團隊各個角色基于統一平臺通力協作,按期保質交付專案,
持續交付驅動業務加速
在使用 CODING 的程序中,數聯天下研發團隊遵循著循序漸進的路線,首先基于 CODING 持續集成、制品庫、持續部署建立持續交付流水線,區別于自建 Jenkins 與 Nexus,CODING 的持續集成與制品庫開箱即用,研發團隊通過持續集成構建好的 Docker 鏡像可以直接推送到 CODING 制品庫中,再通過持續部署拉取指定版本鏡像進行部署,

- 開箱即用的持續集成
CODING 持續集成在構建腳本語法上全面兼容 Jenkins,支持數聯天下無縫地遷移 Jenkins 的構建到 CODING 中,并且支持 Docker 鏡像的構建,在基礎功能上滿足了研發團隊對構建制品的遷移需求,
在使用上,CODING 比自建 Jenkins 要方便許多,打開瀏覽器就可以使用,不需要繁瑣的機器配置、構建環境搭建、軟體插件安裝,而且 CODING 提供了多地域境內外構建節點,并優化國內訪問海外主流鏡像鏈路,支持構建任務中開啟快取,大大提升了構建速度,在構建資源的靈活性上,既支持數聯天下使用 CODING 云主機進行構建,也支持數聯天下將使用中的騰訊云機器設定為構建資源,

- 企業級的制品倉庫
在使用 CODING 制品庫之前,數聯天下團隊基于開源專案自建制品庫,在使用自建私服制品庫常常遇到性能問題或易用性問題,比如一上傳大容量的 Docker 鏡像時,自建的制品庫就常常服務不可用,導致后續一系列的版本發布受阻,使用 CODING 后這類問題就迎刃而解了,CODING 制品庫是專為生產環境打造的企業級制品庫,無論是制品庫的容量、分發效率都經過產品團隊精心優化,數聯天下團隊將所有制品推送至 CODING 制品庫,利用 CODING 制品庫提供的版本策略、權限控制、安全掃描等能力對制品進行了規范管理,
不僅僅是 Docker,CODING 制品庫提供了十多種主流制品型別,包括 Helm、通用檔案、npm、Maven、PyPI 等等,可以支持研發團隊多樣化制品托管需求,同時制品庫提供的精細化的權限設定,支持每個制品庫設定專案內、團隊內、公開的開放范圍,針對多團隊并行開發的場景,數聯天下可以輕松地將通用組件設定為團隊內開放,將專案獨有的制品設定為專案內可見,既能加速公共制品在企業研發內部的共享與流動,也能確保專案獨有制品的權限安全,

對于頻繁進行商業交付的研發團隊,安全也是商業客戶關心問題之一,CODING 制品庫除了解決數聯天下團隊的制品托管問題,還對制品的安全質量進行了規范,通過制品掃描設定質量紅線標準,杜絕問題組件發布至生產環境,掃描方案還提供了詳細掃描記錄和缺陷統計,方便研發團隊快速修復,這在一定程度上提高了制品的安全性,減少了應用在生產環境出現的安全漏洞問題,

- 清晰易用的持續部署
接下來就是打通持續交付的最后一環——持續部署,通過持續部署,研發團隊可以自動、頻繁地將軟體部署到各種生產環境,使軟體產品能夠快速地交付使用,
1. 清晰靈活的流程編排
數聯天下運維團隊首先根據測驗流程、上線流程以及部署環境規劃好每個應用的部署流程,針對開發環境、測驗環境、類生產環境、生產環境分別創建不同的流程分支,基于 CODING 持續部署,可以快速地編排出串行或者并行的部署流程:例如針對類生產與生產環境,必須要在類生產的集成測驗(自動化+人工)通過之后,才可以進入生產環境發布;而多地域的生產環境發布,就可以并行部署,提高效率,
基于 CODING 持續部署清晰靈活的流程編排,應用所有的部署分支流程一目了然,

2. 人工審批加上自動通知機制
針對過去運維發布程序中的多環節、多審批、多等待的情況,數聯天下團隊根據發布流程的級別差異將測驗、產品經理等角色加入審批環節,配合自動化部署程序和通知機制,解決了從前需要人工反復確認部署環節的問題;也解決了從前開發人員只能等待運維人員定時部署版本的難題,開發和運維人員都可以隨時隨地按需部署應用,

每個環節的通知除了支持常見的站內通知、企業微信、釘釘、Bearychat 等方式,還支持團隊通過 Webhook 的方式接入企業使用的其它協作工具,滿足團隊的個性化通知需求,

3. 規范的制品版本規則
在專案緊張的開發周期當中,數聯天下的制品構建地十分頻繁,制品數量也在急劇增長,其中包含了開發自測的 snapshot 版本和正式轉測的版本,如何確保測驗環境、生產環境等能夠始終選擇主干發布的穩定版本,避免因為手誤選到開發自測版本?通過在持續部署中的制品分支策略制定所選制品的規則,杜絕以往人工選擇臨時分支版本導致的錯誤情況,

4. 統一的部署控制臺
在數聯天下團隊的日常應用部署管理程序當中,CODING 持續部署提供了以應用為視角的控制臺,運維人員可以對所有應用的配置資訊、基礎設施、資源分配、部署流程進行全面管理,無需在各個專案視圖之中來回切換,這對于需要面對繁多專案的數聯天下研發團隊來說,統一的部署控制臺面板,大大提升了應用部署管理效率,

在應用部署完成后,就可以在 Kubernetes 集群面板中方便地檢查部署好的資源,包括集群內資源的作業負載情況,一氣呵成的部署操作幫助運維或者開發人員一站式完成部署資源準備、部署流程編排、應用部署、部署后的檢查作業,

- 端到端價值交付
緊接著研發團隊將代碼管理、專案管理遷移至 CODING 的代碼托管、專案協同中,告別了過去的 SVN 代碼管理,基于 CODING 代碼托管進行 Git 式開發,基于代碼掃描與 Code Review 建立研發質量的基線,切換到專案協同進行專案管理后,真正打通了從需求->代碼->制品->應用的全部鏈路,數聯天下研發團隊基于統一云平臺真正實作端到端的價值交付,和以前基于多個工具自建研發平臺的方式對比,統一研發管理平臺帶來的好處有:
- 減少自建工具、維護工具、打通各個工具的成本
- 享受統一平臺帶來的一致的 UI、賬號管理、權限設定的超融合體驗
- 端到端追溯需求從提出到發布上線的程序
- 更加規范的研發質量管理
- 全面的研發資料管理

基于 CODING 的 DevOps 實踐,數聯天下的交付帶寬達到了較大提升,DevOps 實踐給數聯天下的研發團隊帶來的不僅僅是流程上、工具上的改變,也進一步加深了團隊的業務共識,所有角色都坐在了一起:測驗、運維、開發、產品、專案管理等,研究如何基于統一平臺通力協作,按期保質地交付專案,服務好客戶,
讓研發資料服務于研發
資料已經成為生產的要素之一
研發數字化不僅僅是自動化流程的搭建,更重要的是在數字化落地程序當中,如何將有機串聯的研發環節發揮出 1 + 1 > 2 的效果?如何讓研發資料服務于研發?
目前數聯天下的研發團隊已經將研發全流程切換到 CODING,慢慢積累的研發資料也給研發管理帶來了新的指引,通過效能度量,可以清晰分析成員作業負載;通過儀表盤可以清晰看到代碼提交數、事項完成數、構建次數、發布次數等等多個維度的資料展示,這些資料也將支撐著研發團隊快速地調整和檢視以適應更加多變的未來,

漸進式轉型,變革與交付兩不誤
數聯天下研發團隊負責人告訴我們:“最開始選擇 CODING,因為 CODING 持續集成全面兼容 Jenkins 的持續集成服務,支持 Java、Python、Node.js 等所有主流語言,并且支持 Docker 鏡像的構建,這與公司現有的發布方式,架構體系相吻合,在使用了一段時間后,不僅僅是持續集成,包括 CODING 制品庫、持續部署在內的 DevOps 工具給我們的研發流程帶來不少提升,也期待 CODING 能夠在研發工具鏈上給我們帶來更多驚喜,”
在全面了解數聯天下的 DevOps 實施路徑之后,我們也發現企業的研發變革不是一蹴而就的,需要從流程上環環打通,選擇一個遷移成本低、使用門檻低、功能靈活的一站式研發管理工具,能夠讓變革事半功倍,
我們欣喜地看到,數聯天下一直走在提升內部效率的道路上,這家志在提升各行業數智化水平的企業全然擁抱了研發數字化,我們期待 C-Life 憑借著變革初心與極速交付能力,逐步成為智慧生活的強有力支撐平臺,在這場數字化顛覆中,CODING 也會堅定地與研發團隊站在一起,依托 DevOps、云原生、敏捷等研發利器,幫助各行各業改進、提升并創新,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/256624.html
標籤:其他
