BMW利用微服務架構來打造原生雲端服務平臺,底層採用了PaaS軟體OpenShift、Docker及Kubernetes,再來部署各項開源技術、資料庫、分析工具等300項微服務。圖片來源/BMW

去年賣出超過236萬輛汽車,營運超過100年的老牌汽車製造商BMW,歷經兩次世界大戰,從最初起家的飛機製造、摩托車,到現在是排名財星500中第52名的汽車製造商,轉換跑道,切入新產業的營運轉型,對BMW可說是家常便飯。

但是,汽車產業也面臨洗牌局勢,掌握自動駕駛汽車技術的新競爭者,開始對傳統汽車廠商產生威脅。特斯拉在今年6月市值更是一度短暫超越BMW,成為全世界市值第三大車廠。

早在去年3月時,BMW執行長Harald Krüger清楚地揭露了BMW的轉型方向:「BMW產品的附加價值,將從硬體轉移至軟體服務。」甚至,未來10年,BMW若要繼續站穩領先地位,得從傳統汽車公司,轉型成科技公司。

「未來10年,得靠深耕技術才能維持優勢,」BMW雲端平臺部長Jens Eckert表示,不只是汽車技術面,得研發符合法規又更有效率的引擎,還得在數位戰略上布局,BMW第一步先加速聯網汽車發展,讓駕駛能用更多新服務,「下一步是自動駕駛,AI正是而發展自駕車的基礎。」他表示。

但BMW發展數位汽車已經超過15年,從早期基本的遠距客服功能、數位抬頭顯示器,到近年也推出聯網汽車,總共橫跨全球44個市場。BMW聯網汽車雲端專案總監Alexander Lenk表示,汽車產品生命周期長,新舊款式都得同步支援支援。相比傳統汽車的基本駕駛功能,聯網汽車更得要提供駕駛人新興的軟體服務。

這瞬間改變了BMW對IT團隊的既有定位,原本僅負責辦公室資訊軟硬體的內部IT,必須轉守為攻,「IT變成了聯網汽車的後端系統團隊,直接影響用戶的使用體驗」,像是輔助駕駛、自動駕駛、車況瀏覽,或是在發生車禍時,透過後端系統緊急傳輸相關資訊。

但是,累積了15年的這一套聯網汽車後端系統,卻帶來許多包袱:400萬行的老舊系統,執行超過1,100個Jenkins任務,來服務800萬臺全球各地奔馳的BMW汽車,隨著未來需要界接後端系統的汽車數量將持續增加,BMW決定將聯網汽車系統放上雲端,透過雲端平臺來服務全球車主。

BMW CIO推動數位轉型,要讓所有系統更加敏捷

Alexander Lenk 表示,BMW上雲端有四大挑戰。第一是IT標準化,得統整15年來的大小業務系統,打破過去各自獨立運作的架構。BMW計畫轉換到微服務架構,並將現有系統需要的功能,發展成300個微服務。

第二項挑戰是超長產品週期,至少要支援產品周期遍及15年老車到剛上路的新車共800萬臺汽車。甚至連購買二手車的消費者,BMW也得提供一樣原廠服務。第三挑戰是得縮短產品進入時程,「這就得轉移至雲端原生應用程式架構,才能變得更加敏捷。」例如,改善既有系統開發流程中的手動作業等。最後則是面對汽車銷量成長,必須推出更多新功能外,也需要支援更多聯網汽車,這都是未來服務擴充的壓力。

也因此,Jens Eckert表示,BMW資訊長Klaus Straub今年訂出了三大轉型方向,第一個方向,就是讓應用程式都走向微服務架構,「不只聯網汽車系統,其他內部系統也是」,讓架構變得更有彈性、容易擴充。

持續整合流程是BMW導入微服務成功的關鍵

第二目標是導入持續整合工作流程,提升基礎架構自動化程度,軟體建置更加頻繁,「這是微服務成功的關鍵」,因為不可能靠手動程序管理300個微服務應用程式。最後是更積極引入雲端服務。Jens Eckert表示,因為BMW並沒有在各地市場都建立資料中心,「雲端可以打破地理疆界的限制,並且帶來創新。」

但就跟許多大企業碰上的問題一樣,BMW有許多老舊系統包袱,Jens Eckert表示,既有單套式架構包含了Java應用程式、開源資料庫PostgreSQL、應用程式伺服器WebSphere MQ伺服器以及NAS,「每發布一個新版本都要耗費很多人力。」所以BMW決定先找一套現成PaaS軟體來加速自動化,下一步再上雲端。

2年前高層就指派Jens Eckert開始評選市面上的雲端產品,「由於我們產品生命周期長,平臺壽命得要夠長。」

同時BMW還要導入容器技術,免除被廠商綁定的困境,他解釋,若未來決定不再使用現有廠商的PaaS產品,「也能將工作負載轉移到公有雲平臺,不需要重新建立應用程式。」技術評選時時,他認為,Docker可說是各家廠商公認的容器技術標準。同時,Google釋出的容器調度工具Kubernetes,也整合許多Google的維運經驗,「像是高可用、監控、滾動式更新這些功能」,而AWS、Azure、Google等公有雲龍頭也都支援該技術。

因此,BMW決定先導入OpenShift,但要搭配導入開源技術如Docker、Git、Kubernetes、Jenkins等工具。Jens Eckert表示,一來這套產品可以提供完整CI、系統監控工具,也有不少容器應用的安全機制,像是限制容器不能用Root權限執行,或支援多租戶平臺功能,隔離不同專案。

不過,BMW考量透過Hypervisor虛擬層部署會影響效能,決定直接在裸機環境上部署OpenShift。PaaS平臺主要的Master節點及運算節點,分別使用了4臺及6臺伺服器,前者利用本地硬碟執行etcd,後者則負責運作物件儲存。BMW解釋,由於裸機架構不如VM,「分別有1個Master節點、2個運算節點作為備用節點」。

而基礎架構節點則靠2臺伺服器撐起,執行NAS、開源資料庫Cassandra以及Docker儲存庫。

微服務只是起點,最終目標是混合雲架構

不過,導入OpenShift平臺提供微服務只是起點,Alexander Lenk表示,現階段目標是將車載系統也搬上PaaS,未來長期目標是連老舊系統也得轉移至新基礎架構上運作。

在BMW逐漸搬遷至雲端的過程,也得利用容器技術打包應用程式,為應用程式建立標準化架構。在搬遷雲端時,Alexander Lenk認為,如果沒有盤點架構,讓應用程式四處散落在公有雲、本地環境,「只會讓應用程式變成一個新的單套式架構」,所以透過Docker、Kubernetes,可以讓BMW被特定廠商鎖定,可以自由搬遷。最終目標則是踏入混合雲架構,「法規、隱私及資安是三大考量」,Alexander Lenk表示,BMW目前沒有考慮把IT架構通通搬上公有雲。而市面上總會有推陳出新的解決方案,「在使用既有技術時,也必須時時替未來做準備。」

熱門新聞

Advertisement