介紹軟件架構(gòu)
我們將會(huì)討論DevOps怎樣影響應(yīng)用程序的架構(gòu),而不是書里其他部分討論的軟件部署系統(tǒng)的架構(gòu)。
在討論軟件架構(gòu)時(shí),我們通常想到的是軟件的非功能性需求方面。非功能性需求指的是軟件的不同特性,而非指定行為的需求。
系統(tǒng)能夠處理信用卡交易,這是一個(gè)功能性需求。系統(tǒng)每秒鐘可以處理多少筆交易,
這就是一個(gè)非功能性需求。
DevOps和持續(xù)交付著眼于軟件架構(gòu)的兩個(gè)非功能性需求:
我們需要頻繁交付小的變更。
我們需要對(duì)質(zhì)量有大的信心。
典型的場(chǎng)景應(yīng)該是:我們可以持續(xù)交付許多的小變更,使其在較短的時(shí)間內(nèi)從開發(fā)者的電腦上部署到生產(chǎn)環(huán)境。由于意料之外的問(wèn)題導(dǎo)致回滾某個(gè)變更的可能性應(yīng)該是微乎其微的。
所以,如果暫時(shí)把部署系統(tǒng)從這樣的場(chǎng)景剔除,我們部署的軟件系統(tǒng)架構(gòu)會(huì)發(fā)生怎樣的變化?