當前的一個基本共識:從消費互聯(lián)網(wǎng)到產(chǎn)業(yè)互聯(lián)網(wǎng),最終會實現(xiàn)如科幻片所描繪的“萬物互聯(lián)”。
萬物互聯(lián),很美好,可是如果具體到互聯(lián)的是車,飛機,火車這樣和我們的生活,甚至人身安全密切相關(guān)的“物”,是不是隱隱還是會有些擔憂。人類就是在不斷的擔憂新事物,又不斷解決問題的過程中成長起來的,除了法規(guī)政策外,從技術(shù)上也要去解決。
因此,下一個階段的軟件工程,應該進入一個新的問題域:軟件產(chǎn)品如何做到可信賴?當前,軟件產(chǎn)品的用戶除了關(guān)注軟件產(chǎn)品的質(zhì)量,軟件產(chǎn)品是否足夠信賴,能讓用戶放心使用會成為一個新的考驗。
可信的軟件到底是什么?
可信的英文:Trustworthiness??尚诺能浖侵福很浖砂凑疹A期運行,并且不會在環(huán)境改變時帶來重大安全和隱私風險。按《Software Engineering》10th edition和其他相關(guān)標準的基本定義,可信包括5個基本維度,如下圖:
簡單逐一解釋一下:
Safety: 系統(tǒng)對人和系統(tǒng)的環(huán)境不會造成危害的可能性
Reliability:系統(tǒng)在給定的時段內(nèi)能正確提供用戶希望的服務的可能性。
Availability:系統(tǒng)在任何時間都能運行并提供有用服務的可能性。
Security:系統(tǒng)能抵抗的或者蓄意入侵的可能性 。
Resilience:當出現(xiàn)一些干擾性事件時,系統(tǒng)保持其關(guān)鍵服務繼續(xù)正常運行的可能性。
以上這5個維度,并不是孤立的,對于軟件產(chǎn)品而言,這五個維度往往是相輔相成,甚至有的場景下還是“相生相克”的 。
華為云DevCloud如何探索?
華為云DevCloud布道師講到,可信包括的內(nèi)容和要求都非常的高,而且我們在思維和理念上會帶來新的沖擊。對于任何一個新的跨越式的轉(zhuǎn)變,無論是之前華為的IPD,還是敏捷,還是DevOps,都離不開Be 和 Do 的同時并進。軟件工程領(lǐng)域任何一個新事物,往往都是:思維理念開始——>形成基本的價值觀——>形成一些基本原理——>形成一些有限的實踐——>根據(jù)不同的場景,選擇最適合的實踐,形成一些最佳實踐集合(比如敏捷實踐中的Scrum,XP)。
對于可信,其實也是類似的方法Be trustworthy 同時 Do Trustworthy,很多時候,思維和理念的改變需要落地后的實際效果來影響,反過來,思維和理念的變化會加速實踐的探索。
現(xiàn)在的軟件通常都會使用一些開源組件或開放使用的第三方組件或框架。新的開源組件數(shù)量成倍增長,同時開源組件的使用程度和頻次也越來越高,開源組件的安全、漏洞問題現(xiàn)在也日益成為當前業(yè)務最擔憂的問題。
近些年,一些網(wǎng)絡(luò)犯罪分子利用開源組件的漏洞,對很多巨頭公司造成了巨大的品牌影響、財產(chǎn)損失、乃至用戶流失。華為很早就建立了內(nèi)部的開源鏡像倉,并增加漏洞掃描,和官方鏡像站點直接合作等等。去年把這個服務孵化到華為云DevCloud,作為一個獨立的服務面向社會提供,基于華為云強大的基礎(chǔ)設(shè)施和華為內(nèi)部鏡像倉的多年實踐,對外部用戶提供可靠來源和高速下載的鏡像倉服務,詳細可訪問華為開源鏡像站。
在華為云DevCloud的開源鏡像倉上將增加可信的能力規(guī)劃:
1.來源可信,和官方鏡像站的合作與認證。
2.傳輸可信,傳輸過程中防篡改。
3.使用可信,增加多安全性的檢查、攔截,并結(jié)合華為自己跟蹤的漏洞和NVD跟蹤發(fā)布的漏洞,持續(xù)的跟蹤已發(fā)現(xiàn)識別的漏洞并及時預警。
當然開源組件千千萬萬,做好開源鏡像倉的可信,實際是個很挑戰(zhàn)的事情,華為云DevCloud與您一起繼續(xù)探索…