2009-01-19 112 views
4

發佈託管網站應用程序新版本的最佳方法是什麼?您通常會發布多久?你是否選擇了一個任意的日期,比如說每週,每月等等來推出一組累積修復(可能使用類似於Joel's approach to ship dates的方法)?等待比這更長的時間似乎擊敗了託管應用的部分主要優勢。另一方面,您不希望不斷推出可能會混淆用戶的新功能(例如,如果每次登錄時都有不同的東西)。您如何處理Web應用程序(SaaS)的發佈管理?

直到最近,我的經驗主要是安裝基於服務器或桌面的應用程序。我很好奇看到什麼類型的發佈管理人員使用託管應用程序。

回答

3

谷歌的方法可能是最好的最終用戶,但它的代價是複雜性。

他們在一個非常穩定的基礎上(通常每天都會根據項目的情況)推出新版本(有時候只是個別更改)。但是這裏有一個踢球者:只有一小部分用戶獲得新版本。

Google對於他們的大產品擁有大量用戶,因此放入諸如「5%的用戶應該看到此功能」這樣的規則是實用的。

然後,他們可以分析結果並計劃他們的下一個版本,也許還有另外15%的用戶羣體。

+0

我有一個問題張貼在這裏 - 他們如何確保他們的變化只適用於一小部分的用戶?http://stackoverflow.com/questions/8129840/release-management-releasing-to-a-subset -of用戶知識,會-IT-工作的-A-PU。 – ram 2011-11-29 00:54:54

0

提前發佈並且經常是我的工作,以及我們在哪裏工作。每當我們做出更新時,我們也會更新我們的更新。如果您將所有更新一次性更新爲一次更新(對於QA,必須回滾等),那麼對您而言可能更容易。從用戶的角度來看,我不認爲有很多更新有任何問題。只要它們不是壞的更新。我認爲如果您等待整整一年或六個月就會出現問題,並將所有更新推送到一個大版本中。這就是我曾經工作過的一個項目(你可能聽說過一個受歡迎的feedreader)。人們認爲我們已經死了,知覺變成了現實。我們被拋棄了。所以我都是爲了釋放時間表。

0

每兩週應該夠了,但這很大程度上取決於你的市場。

1

儘管工程師們想要定義一個可以生存的例程,但它確實是由系統背後的業務需求驅動的。這也取決於更新的性質等...

內容和HTML更新不應該是一個大問題推出。應用程序更改應該是一個大問題,並且在推送之前在預覽站點上完成已建立的測試例程。

有一點可以肯定的是,您需要有一種非常「乾淨」的方式來部署(和取消部署)更改。您還需要一種「簡單」的方式來審查和審覈變更後才能生效。

混合使用「git」和「rsync」允許我們對流程進行全面控制。我們項目的所有變更都是從「生產」分支中分支出來的。在任何更改生效之前,必須將「生產」分支完全合併。上線行爲只需將合適的分支合併到「生產」中,然後將其同步到實時服務器。 Git使這非常簡單。

這可確保所發生的更改不會與其他正在進行的更改發生衝突。

自從採用這個系統以來,我們的部署程序在效率和清晰度上大大提高了。順便說一下,我們的部署範圍從每天多次到每幾個月一次。這完全取決於。我更願意在活動項目上每週發佈1-2個版本。

+0

您是否知道團隊可以使用任何工具來部署(和取消部署)其應用程序,而不僅僅是使用git和rsync? – 2012-05-17 20:37:03

0

我們每天都會發布Planbox(基於Web的敏捷項目管理SaaS)。我們可以這樣做,因爲我們的大多數應用程序邏輯和我們的所有表示邏輯都在前端(Javascript)。即使是使用模板引擎通過Javascript生成HTML。但後端(PHP)及其REST API很少發生變化。這使我們可以在不破壞兼容性的情況下隨時推送客戶端的新版本。

如果你能轉移到這樣的架構,你將節省大量的時間,並獲得很多效率。

相關問題