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