單體式應用程式

是什麼

單體式應用程式是一個可部署的程式,且包含所有功能在其中。 這通常是開發應用程式時最單純跟最容易的起點。 然而,一旦應用程式變得更複雜,單體便可能變得難以維護。 隨著更多開發人員一起在同一個程式碼庫中開發, 改動之間出現衝突的機會便會增加, 開發人員之間的溝通需求也會變多。

解決的問題

使用微服務來開發應用程式會增加維運成本, 因為會有更多的東西需要測試、部署與執行。 如果能在產品生命週期的初期就建立一個單體式應用程式, 就能把這種複雜度推遲到確定產品成功之後, 或許不失為一個好主意。

如何幫助我們

若要讓一個設計良好的單體式應用程式符合精實原則, 就要把這個應用程式以最簡單的方式跑起來, 當一個單體式應用程式的已經被證明具有商業價值之後, 便可以將其拆解為微服務。 如果在一個應用程式證明其價值之前就使用微服務架構來進行開發, 便可能成為過早的工程投入。 萬一這個應用程式無法提供價值, 這將會變得徒勞無功。