
Java app 的部署平台、基礎設施,以及持續交付 |
55
在部署 Java app 到雲端基礎設施時採取持續交付的好處在於,你可以捕獲你在組建管道
中學到的東西。例如,當你發現有奇怪的性能特性會對 app 產生負面影響時,你可以建
立一個整合測試來模擬它,並斷言正確的處理方式。你可以在每一次組建時執行這項測
試,以防止將來的修改造成回歸的情形。
許多雲端供應商都提供低性能基礎設施選項,使用較低性能的 CPU、網路與磁碟,但
也有一些“點數”可讓你在一定時間內使用遠超過基準的性能。它們會提供初始的點
數,而且當基礎設施在基準線之下運行時,你還可以累積點數,這可讓你建立具備成
本效益的系統;最初的點數餘額可讓基礎設施快速地初始化,如果系統的使用模式確實
可以應付突發狀況,你可以維持足夠的點數來應付突發狀況。但是如果 app 的使用模式
無法應付突發狀況,點數餘額很快就會耗盡,app 的性能會下降,甚至可能造成 app 的
故障。
注意“可應付突發狀況”的基礎設施的影響
在這種基礎設施上部署“開發及測試週期較短的 app”可能會讓開發團隊
誤認為 app 的長期性能比實際情況還要好。因此,你必須了解這種基礎
設施的性能基準線,並且在組建管道加入模擬機制,測試系統使用基本的
基礎設施性能來執行時的性能。
雲端的好處
對開發者而言,使用雲端基礎設施的主要好處是所有東西都是可程式的:你可以將所有
的程式設計訣竅與技術應用在基礎設施上。雲端技術通常也比傳統的基礎設施標準化,
雖然公用雲端供應商之間有很多差異,但是你仍然可以在換團隊甚至組織時,繼續使用 ...