“云技術(shù)用于不會用于汽車開發(fā)“。說到云部署在汽車行業(yè)的應(yīng)用,業(yè)界曾經(jīng)認(rèn)為云技術(shù)并不適合用在汽車行業(yè)的產(chǎn)品開發(fā)。知識產(chǎn)權(quán)保護(hù)、數(shù)據(jù)的安全、流程不夠透明、遷移成本過高、IT部門的保守等種種現(xiàn)實問題成為了云技術(shù)應(yīng)用在汽車開發(fā)上的阻礙。然而,隨著電動車巨頭特斯拉等一眾公司的成功,行業(yè)的發(fā)展趨勢變得不言自明: 汽車行業(yè)正朝著更加注重軟件驅(qū)動的方向發(fā)展,越來越多的OEM正重新定位,將重心放在軟件和技術(shù)方面。驅(qū)動這樣的轉(zhuǎn)變的因素有很多,比如高級輔助駕駛系統(tǒng) (ADAS),電動出行技術(shù) (E-mobility) ,以及信息娛樂和舒適系統(tǒng)的開發(fā)等??偟膩碚f,汽車行業(yè)已經(jīng)開始采用云技術(shù)推動汽車軟件的設(shè)計,汽車軟件向著更先進(jìn),更智能的方向邁進(jìn)。本文著重探討云技術(shù)在汽車行業(yè)應(yīng)用的優(yōu)勢和注意事項,以及其在汽車行業(yè)軟件設(shè)計質(zhì)量保證領(lǐng)域的實際應(yīng)用。
云技術(shù)的關(guān)鍵要素
首先明確云技術(shù)應(yīng)用的關(guān)鍵要素。云技術(shù)是一種按需提供計算存儲網(wǎng)絡(luò)或其他IT資源的計算模式。對于云技術(shù)而言,算力和應(yīng)用程序可在任意位置的集中式服務(wù)器農(nóng)場中運行,這些服務(wù)器不受空間約束,可以是OEM在本地的部署,也可以是各個地方公共云上的服務(wù)器。虛擬機 (VM) 是一種虛擬的計算環(huán)境,是云技術(shù)的關(guān)鍵資源。在這些服務(wù)器當(dāng)中,使用虛擬機進(jìn)行計算,并可以根據(jù)工作的負(fù)載動態(tài)部署或撤銷。理論上,云計算的算力可以無限擴(kuò)展。個人電腦的角色也十分重要,是云計算中與云計算中心計算能力進(jìn)行交互的主要接口。帶寬資源在云計算中同樣值得提及,為了使云應(yīng)用程序發(fā)揮作用,需要足夠的帶寬接入使設(shè)備可以實現(xiàn)快速的互聯(lián)網(wǎng)連接,并需要監(jiān)控實際使用的應(yīng)用服務(wù),以確保一切正常運行。這些云技術(shù)的要素幫助提高了開發(fā)工作的靈活度,并使工作更容易擴(kuò)展。從企業(yè)的角度來說,云技術(shù)能夠幫助企業(yè)降低成本,提高效率。
圍繞云技術(shù),關(guān)鍵的概念也有很多。容器(Container) 是一種把應(yīng)用程序及其依賴項到打包在一起的一種技術(shù),使其可以方便地在云環(huán)境中部署運行及管理應(yīng)用程序。容器技術(shù)常見的一種實現(xiàn)被稱為Docker, Docker是一種開源的容器化平臺,可以幫助開發(fā)者將應(yīng)用程序及依賴項打包,并在支持Docker的環(huán)境中運行,使其不受環(huán)境差異的影響。對于集群技術(shù),Kubernetes (又稱k8s) 是一種容器編排系統(tǒng),幫助企業(yè)管理容器化的應(yīng)用程序。Automation (自動化),作為云計算的重要概念,其目的在于降本增效。對于自動化管道及構(gòu)建管道,Jenkins、Bamboo、Git等等常被提及。Jenkins是一個由Java編寫的、開源的持續(xù)集成的工具,類似的還有Bamboo。Jenkins主要幫助團(tuán)隊進(jìn)行自動化的構(gòu)建、測試和發(fā)布過程,提高軟件交付的效率及質(zhì)量。此外,同樣需要版本控制系統(tǒng)的支持,比如Git??梢允褂肎it來追蹤項目的變化,協(xié)同開發(fā)。倉庫(Repository) 用于存儲云技術(shù)相關(guān)的軟件要素。IaaS (基礎(chǔ)架構(gòu)即服務(wù)),PaaS (平臺即服務(wù)) 和SaaS (軟件即服務(wù)) 是云服務(wù)的主要類型。IaaS (基礎(chǔ)架構(gòu)即服務(wù)) 提供計算存儲網(wǎng)絡(luò)資源,用戶可以按照實際使用需求支付費用。PaaS (平臺即服務(wù)) 提供開發(fā),部署和運用應(yīng)用程序的平臺。SaaS (軟件即服務(wù)) 提供已經(jīng)預(yù)先構(gòu)建好的軟件應(yīng)用程序。CaaS (內(nèi)容即服務(wù)) 以提供消費者基礎(chǔ)網(wǎng)絡(luò)資源以及操作系統(tǒng)服務(wù)為中心。DbaaS (數(shù)據(jù)庫即服務(wù)) 為客戶提供數(shù)據(jù)庫的訪問,而無需部署或管理底層的基礎(chǔ)設(shè)施。無服務(wù)器(Serverless) 通常稱為功能即服務(wù)(FaaS),是以PaaS (平臺即服務(wù)) 為基礎(chǔ),提供一個微型的架構(gòu),中層客戶無需部署配置或者管理服務(wù)器的服務(wù),代碼運行所需要的服務(wù)器服務(wù)都由云端平臺來提供。對于小型公司來說,可以運用云計算來托管其網(wǎng)站應(yīng)用程序,無需投資建立自己的硬件軟件,從而節(jié)省支出。而大型企業(yè)也可以使用云計算技術(shù)來擴(kuò)展IT基礎(chǔ)設(shè)施,以滿足業(yè)務(wù)需求的多樣化。
行業(yè)機遇與挑戰(zhàn)
云技術(shù)的關(guān)鍵詞和主要運用形式已作過介紹,下面來關(guān)注云技術(shù)的應(yīng)用優(yōu)勢和面對的挑戰(zhàn)??蓴U(kuò)展性是云計算的首要和關(guān)鍵優(yōu)勢。靈活的工具配置使云計算可以更好地適應(yīng)不同的工作場景和負(fù)載。集中的管理可以實現(xiàn)實時的監(jiān)控,使運作流程透明且可控。全局的標(biāo)準(zhǔn)化同樣重要,云計算可以提供一種更為精簡工作流的實現(xiàn)過程,同時其易維護(hù)性保障了系統(tǒng)的可維護(hù)性和高效利用。云計算的這些優(yōu)勢幫助企業(yè)達(dá)到降低成本,同時提高透明度的作用。
當(dāng)然,云技術(shù)同樣面臨一些挑戰(zhàn)。首先,由于云計算的應(yīng)用可能需要用戶更改其原本的工具使用模式,這使得用戶的使用習(xí)慣面臨改變,不適應(yīng)的情況可能出現(xiàn),用戶的接受度成為一大挑戰(zhàn)。此外,將項目完全遷移至云端也會耗費一定時間,項目的運行速度或進(jìn)展可能因此延緩,企業(yè)在進(jìn)行遷移前需要更好的準(zhǔn)備工作以應(yīng)對這些問題。云端工具鏈的不夠完備,一些重要的工具可能還未實現(xiàn)云端化,云工具鏈的不完備也可能造成困擾,需要技術(shù)的持續(xù)發(fā)展來幫助工具鏈實現(xiàn)完全云端化。使用云技術(shù)還可能會導(dǎo)致企業(yè)對第三方服務(wù)的依賴,這其中也存在風(fēng)險。
汽車行業(yè)中云部署的經(jīng)典案例
在汽車行業(yè)的軟件開發(fā)和測試中,云部署架構(gòu)的實際應(yīng)用主要有兩種: “桌面云”和“過程云”。“桌面云”以用戶為中心。在這種應(yīng)用案例中,最終的用戶,也就是PC前的工作人員,通過傳統(tǒng)PC觸發(fā)應(yīng)用程序,而算力和數(shù)據(jù)存儲在云端的某服務(wù)器農(nóng)場中。從用戶體驗上來說,基本與傳統(tǒng)PC無異。使用的軟件與應(yīng)用以交互的方式被使用?!斑^程云”則是以過程為中心,在用戶端以自動化流程觸發(fā)應(yīng)用程序,其觸發(fā)的自動化管道前文已有所介紹,主要有Jenkins、Git和Bamboo等等工具。最終的結(jié)果以報告或事件的方式自動分發(fā)。
下面來分析具體架構(gòu)案例。對于軟件開發(fā)來說,當(dāng)開發(fā)人員和測試人員向Git倉庫(Git Repository) 提交(Commit) 一個模型更新或測試變更時,此行為會主動觸發(fā) (Trigger) Jenkins主節(jié)點上的自動化管道,此自動化管道中包含了一系列對測試環(huán)境的描述。當(dāng)測試環(huán)境描述文件發(fā)生變更時,Jenkins主節(jié)點作為數(shù)據(jù)中心樞紐被自動觸發(fā),負(fù)責(zé)控制和分發(fā)這些更改的管道設(shè)置。Jenkins主節(jié)點首先向代理節(jié)點 (Agent Nodes) 請求部署,隨后,代理節(jié)點會向云端倉庫(Container Repository) 請求下載相應(yīng)的容器(Docker)。如圖1所示,Docker倉庫中,已部署好適應(yīng)不同平臺 (Windows或Linux) 的容器包。隨后,適合系統(tǒng)要求的容器包將被請求并部署至Jenkins代理節(jié)點上。容器包(Docker)隨后接收到自動化管道發(fā)出的命令,繼而從Git倉庫(Git Repository) 簽出(Check Out) 相應(yīng)的模型及配置文件等需要的信息。并根據(jù)具體指令進(jìn)行靜態(tài)分析。Jenkins主節(jié)點隨后請求結(jié)果,而分析結(jié)果將會被發(fā)送回Jenkins主節(jié)點,并自動存儲。最后,Jenkins主節(jié)點負(fù)責(zé)向代理節(jié)點 (Agent Nodes) 請求取消部署,關(guān)閉不再需要的容器 (Docker),并將最終報告發(fā)送給開發(fā)或測試人員。
圖1:桌面云設(shè)置
而從用戶出發(fā),用戶端(User Clients) 也可以進(jìn)行擴(kuò)展,通過使用終端服務(wù)器來完成開發(fā)、測試和分析全過程(由圖2所示)。用戶可以是單一或多個開發(fā)或測試人員從終端服務(wù)器(Terminalserver) 登錄。服務(wù)器會針對不同的工作環(huán)境和要求匹配不同的工具鏈并進(jìn)行設(shè)置。如果需要相應(yīng)的工具許可,可以向浮動許可證服務(wù)器發(fā)送相應(yīng)請求,而相應(yīng)的許可也可以被托管在不同位置。為保證安全,服務(wù)器通常配置為冗余或異地冗余的模式。這種情況下,由提交 (Commit) 操作自動觸發(fā)的Jenkins主節(jié)點分發(fā)相應(yīng)的自動化管道 (Automation Pipeline) 到代理節(jié)點(Agent Nodes) ,代理節(jié)點 (Agent Nodes) 則可以通過Kubernetes進(jìn)行擴(kuò)展,從而由靜態(tài)擴(kuò)展轉(zhuǎn)向可擴(kuò)展的代理,進(jìn)而實現(xiàn)云環(huán)境的擴(kuò)展。
圖2:可擴(kuò)展的云端自動化
對于云架構(gòu)的過程支持,如果需要容器中的軟件工具,MES模賽思可以提供相應(yīng)的容器模板輔助構(gòu)建配置。
許可模式及工具鏈的云部署
回顧此前的關(guān)鍵詞解釋,根據(jù)云服務(wù)商交付模式的不同,云服務(wù)模型主要可以分為:
軟件即服務(wù) (SaaS)
平臺或基礎(chǔ)架構(gòu)即服務(wù) (PaaS or IaaS)
軟件即服務(wù)(SaaS) 中,用戶應(yīng)用是托管服務(wù)的集成部分,按使用量付費是主要的業(yè)務(wù)開展方式。平臺或基礎(chǔ)架構(gòu)即服務(wù) (PaaS or IaaS) 需要關(guān)注客戶租用的算力以及操作系統(tǒng)的容量。平臺即服務(wù) (PaaS) 包括操作系統(tǒng)及數(shù)據(jù)庫,而基礎(chǔ)架構(gòu)即服務(wù) (IaaS)包括硬件和虛擬機 (VM)。使用平臺或基礎(chǔ)架構(gòu)即服務(wù) (PaaS or IaaS) 的客戶擁有應(yīng)用軟件的所有權(quán)和許可,并可以通過定制計劃來明確使用成本。而在高工作負(fù)載的情況下,額外容量變得非常重要,因此,更為靈活的動態(tài)訂閱模式能夠在超出常規(guī)用量的情況下提供額外的支持。
對于MBD工具鏈來說,行業(yè)的主流為基礎(chǔ)架構(gòu)托管。應(yīng)用及工具鏈多保存在公司內(nèi)部,這樣的架構(gòu)有利于對開發(fā)過程的監(jiān)控和靈活調(diào)控。對于汽車廠商,基礎(chǔ)架構(gòu)即服務(wù) (IaaS) 是主要的云技術(shù)運用方式。動態(tài)許可模式是目前行業(yè)的需求所在,也是MES模賽思所使用的許可模式。
MES模賽思的工具鏈目前已完全適配云許可的模式,并可以提供Windows和Linux版本。對于汽車行業(yè)來說,許可訂閱是主流選擇。許可模式的一種是開發(fā)者云桌面,用于交互式云環(huán)境,為桌面遷移到云設(shè)計。對于許可模式的覆蓋范圍,自動化全球云覆蓋全球許可,做到完全自動化和高動態(tài),并且可以在全球任何地方使用,為過程遷移到云設(shè)計。同樣,目前MES模賽思支持在云端設(shè)置MBD工具鏈,并可為試點項目提供基于云的沙箱環(huán)境,并為Docker容器提供配置模板。MES模賽思同樣支持在云端設(shè)置的自動化管道(Automation Pipeline) 。
圖3:MES模賽思云服務(wù)
如圖3所示,從技術(shù)咨詢,到工具與工作流,最后到構(gòu)建與遷移,MES模賽思能夠為客戶提供云部署的全程支持,幫助客戶實現(xiàn)工具鏈的云部署。模賽思軟件技術(shù)有限公司(Model Engineering Solutions,簡稱MES)是一家高科技軟件公司,專為軟件項目的質(zhì)量保證提供解決方案。MES為客戶基于模型的軟件開發(fā)提供技術(shù)支持,使其符合IEC 61508、ISO 26262或ASPICE等行業(yè)標(biāo)準(zhǔn)。MES模賽思成立于2006年,總部位于德國柏林。MES的主要客戶包括整車廠如戴姆勒、大眾、豐田和吉利等以及博世、西門子和三星等行業(yè)供應(yīng)商。在汽車行業(yè)中,除少數(shù)幾家公司外,全球數(shù)十家頂尖制造商及供應(yīng)商均在他們的開發(fā)環(huán)境中使用MES的解決方案。為支持其全球客戶,MES已在美國和中國建立了子公司,并與全球分銷商網(wǎng)絡(luò)緊密合作。
MES的產(chǎn)品包括4種質(zhì)量工具軟件:MES Model Examiner?、MES Test Manager?、MES Model & Refactor?和MES Quality Commander?,它們共同構(gòu)成了一個工具鏈,全面保障基于模型的軟件開發(fā)過程中所有階段的質(zhì)量。通過MES Jenkins Plugin,該工具鏈也可以在持續(xù)集成環(huán)境中使用。工具鏈主要應(yīng)用平臺為MATLAB?Simulink?。除了MES質(zhì)量工具外,MES測試中心和MES學(xué)院的專家們還為全球客戶提供關(guān)于質(zhì)量保證和開發(fā)流程優(yōu)化的定制咨詢服務(wù)及培訓(xùn)課程。
MES是dSPACE公司的戰(zhàn)略合作伙伴和MathWorks及ETAS的產(chǎn)品合作伙伴。MES學(xué)院與SAE International有合作關(guān)系。
審核編輯 黃宇
-
測試
+關(guān)注
關(guān)注
8文章
5033瀏覽量
126223 -
MES
+關(guān)注
關(guān)注
5文章
859瀏覽量
29693 -
MBD
+關(guān)注
關(guān)注
0文章
24瀏覽量
8922 -
云技術(shù)
+關(guān)注
關(guān)注
1文章
188瀏覽量
18799 -
汽車功能安全
+關(guān)注
關(guān)注
0文章
24瀏覽量
1393
發(fā)布評論請先 登錄
相關(guān)推薦
評論