將新主要功能部署到生產時要考慮的5件事情

前言

在較短的時間內完成從開發人員的機器到生產的功能的代碼,是高效的技術/工程團隊的質量。使用capistranofabric等工具進行自動部署使得部署成爲一項簡單的任務,而不是可怕的操作,在這種情況下,您錯過了一步,然後搞砸了生產。

這些天DockerKubernetes使部署變得輕而易舉。本文將重點介紹在部署涉及一些重要代碼和數據庫更改的新主要功能時要考慮的事項。

將新主要功能部署到生產時要考慮的5件事情

什麼是主要特徵

如何區分常規和主要功能部署?例如,如果您在電子商務網站中部署客戶錢包子系統,或者將多租戶功能部署到單個租戶應用程序,則應將其視爲正在推出的主要功能。

常規功能不需要事先推出計劃或大量思考,可以通過運行常規部署例程進行部署,也可以。主要特徵是在常規功能和錯誤中的一種子項目。部署重要功能是開發,sys admin / devops和產品團隊的共同責任。

TLDR;

在使用新的主要功能上線/製作之前,始終嚴格按照分段進行測試。進行數據庫備份並通過向後兼容性進行小型部署。始終具有回滾計劃並將功能保留在功能標記下。

要考慮的事情

那麼,當您想要部署團隊已完成開發並希望繼續使用它的新主要功能時,您需要考慮哪些事項?

在進行主要部署之前,您應該製作一份清單,其中包括大代碼更改和遷移時的一些數據庫架構更改:

1.嚴格的分期測試

這是一個明智的選擇,您必須在暫存環境中嚴格測試新功能,並確保涵蓋不同的用例。我甚至建議有一個表格,列出可能的情況並測試它。
如果您有質量保證(QA)部門,您肯定可以就此事採取幫助。

開發人員級別的測試也非常重要,找到一個關於暫存和修復它的錯誤要比上線並進行回滾要少得多。

您可能需要回滾,因爲在生產中發現了重大錯誤。這是你不想遇見的情況。問題是如果它是發佈就緒,或者如果測試時間太長,它可能會延遲發佈。

2.始終進行數據庫備份

在對生產數據庫進行任何更改之前,進行備份是您需要做的最重要的事情。如果你忘了,將是一場災難,雖然這只是一件小事。

當你沒有得到正確的基礎時,問題會變成更大的問題。

因此,請注意並始終在運行這些遷移/更改查詢之前進行數據庫備份。另請注意,部署腳本不會自動運行遷移。這可能使主要功能部署過程變得痛苦,從而始終爲困難情況做好準備。

3.小型多重部署,保持向後兼容性

當您必須將一個主要功能部署到生產中時,最好在生產中進行所需的數據庫更改,這是完全向後兼容的。

您可以在生產數據庫上完成alter table和new columns。這有助於您將主要功能拆分爲較小的部分並逐步部署它們。

這爲團隊提供了靈活性和信心,可以使用新功能繼續進行生產。如果您可以正確地玩牌,這可以是零停機部署的推動者。

4.不要忘記回滾計劃

如果您計劃執行一個主要部署以發佈主要功能,請制定推出計劃。它詳細說明了如何使用適當的步驟執行部署,詳細說明了部署策略。

即使您認爲推出/部署將會成功,也總會有回滾計劃。

列出您需要回滾到應用程序的當前工作版本所需的內容,以防萬一事情沒有按計劃進行,您需要還原。如果您有可以快速修復的小問題,則無需回滾,但如果存在重大問題,那麼回滾將是唯一的出路。

5.基於條件的特徵

最後但也很重要的一點是,如果您要部署一個主要功能,儘早訪問您的公司員工(或公司內部的一個團隊)是一個好的選擇。

就像該功能可以由產品團隊在生產中進行測試。

現在的情況?當用戶使用@ yourcompnay.com電子郵件地址登錄時,只需限制要執行的功能代碼即可。一次我記得我們就推出了一種只有在您使用一個特定電子郵件地址時纔會顯示的付款方式。因此,主要功能可以部署到生產中,並且仍然具有過濾訪問權限。在相關團隊發出綠燈後,您只需刪除訪問該功能的條件,並將其提供給所有客戶/用戶。

結論

至於適用的目標是零停機時間部署,並在流量最低時在生產中運行數據庫遷移腳本。即使您必須有停機時間,也要確保事先儘量減少停機時間,以便系統可以在最短的時間內進行定期維護。快速部署。

轉載至:Geshan.com.np。作者:Geshan Manandhar