在當前快速演進的數位化浪潮中,傳統企業的轉型之路充滿挑戰。Banu(挪威國家鐵路公司)作為一家擁有百年歷史的國有企業,正透過現代化的技術架構與工程實踐,推動其鐵路系統的數位化轉型。本文將深入探討其平臺工程架構、技術選型與文化實踐,並分析其在轉型過程中面臨的關鍵挑戰與解決策略。
Banu 的平臺工程採用分層式設計,主要位於 Purdue 模型的第四層(應用層),並整合至企業的數據管理中心(DMC)與運營技術(OT)層。其技術堆疊包含三大核心領域:
開發平臺:基於 Kubernetes 集群,整合 Azure DevOps 與 GitHub,並逐步遷移至 GitOps 流程。工具鏈包含 GitHub Actions Runner、Flux(GitOps)、Kubernetes Manifests、Engine-X、Ingress Controller 與 Kerno(策略管理)。安全措施透過內部容器 registry、應用程式註冊管理與 DevSecOps 實踐確保。
整合平臺:使用 Confluent Kafka 與 Azure API 管理,支援自建應用程式整合。
數據平臺:基於 Azure DataBricks 與 Power BI,強調數據血緣與品質管理。
Banu 的平臺工程緊密結合 Purdue 模型,將開發平臺逐步整合至 DMZ 區域,未來目標為與 OT 層(如鐵軌感測器)進行深度整合,實現端到端的數位化流程。
Banu 當前採用混合式 CI/CD 流程,部分團隊使用 GitOps(如 Release Please 工具),部分仍依賴 Azure DevOps。自動化策略包含:
然而,多樣化的開發環境(GitHub 與 Azure DevOps 共存)與嚴格的安全控制(所有應用需經內部容器 registry)成為主要挑戰。
Banu 團隊成員普遍具 ADHD 特質,這影響了傳統敏捷實踐。為應對此特性,團隊採用自動化發佈工具(如 Release Please)與持續整合(CI)/持續部署(CD)流程。然而,linting 工具因語法細節(如「bug fixes」間空格)導致 CI 失敗,需持續優化流程與工具鏈。
目前已有 40 支開發團隊上線平臺,僅 4 支進入生產環境。長期目標包括:
為降低技術與文化衝擊,Banu 定期舉辦跨團隊分享會(如「Friday Wins」)與開發團隊論壇,並設立輪值支持人員協助解決技術問題。
Banu 的平臺工程實踐體現了傳統企業數位轉型的複雜性與創新性。透過 Kubernetes、GitOps 與 DevSecOps 等技術,Banu 建立了可擴展且安全的開發環境,同時透過文化調整與協作機制應對轉型挑戰。未來,持續優化工具鏈、強化跨團隊協作,將是其成功關鍵。