我有幾個問題想問 Azure 專家。我在一家軟體開發公司工作,有人要求我設計我們的 Azure 基礎架構。我的想法是為以下部門設定三個即用即付訂閱:
1)生產(直播環境)。 2)品質保證。 3)測試。
我的問題是:
1)創建網站等資源時;虛擬機器等,它們可以在各種訂閱之間遷移嗎?這是一個場景:假設我們要啟動一個新應用程序,但首先我們需要測試它。所以我們首先將其放在測試中。一旦進行了嚴格的測試,我們就會將其轉移到品質保證。之後,當所有品質檢查都完成後,我們將其轉移到生產(即時環境)。 2)我還在開發一個安全矩陣,其中一個部門的使用者無法更改另一個部門的任何內容。
女士們先生們你們怎麼說?可行嗎?
答案1
Michael - 您使用的遷移過程在很大程度上取決於您正在使用的底層基礎設施/服務。
作為起點,我建議看看如何使用建置服務來自動部署您建置的軟體。這MSDN 文檔是一個很好的起點。
- 網站和雲端服務(Web 或輔助角色):您需要將程式碼重新部署到正確訂閱中的適當執行個體。您無法「移動」底層託管基礎架構。
- 虛擬機上託管的服務:您可以在訂閱之間移動虛擬機,但這需要相當多的工作,具體取決於您擁有的其他依賴項(網路、資料庫等)。最好的選擇是嘗試採用與網站/雲端服務相同的方法。
- Azure SQL 資料庫:您需要在訂閱之間備份/還原資料庫。
- 其他 Azure 服務:這很大程度取決於部署的內容(很抱歉,如果這一點含糊不清,但 Azure 中有很多變化的部分)。
通常,在您的場景中尋找腳本或自動化部署/重新部署您建置的任何解決方案的方法是值得的。
答案2
我們使用 Visual Studio Online (VSO) 來自動建置和部署到不同的 Azure 環境。無論您是透過不同的訂閱分隔環境還是在同一訂閱中使用不同的資源群組,這都適用。
我們的設定是,每次程式碼簽入都會產生一個構建,運行單元測試,如果成功則觸發部署到測試環境。
然後,我們的 QA 部門通常會透過 VSO 選擇特定的變更集/日期來對建置進行排隊。如果建置和單元測試成功,則會觸發部署到 QA。從技術上講,此建置也是為產品建置的,但不會部署到產品。
他們完成所有的品質保證工作,如果一切順利,他們會提交對 VSO 內建的看門人邏輯的批准。然後我們進行設置,以便另外 2 個人必須簽署該建置並將其推送到生產環境(可以立即進行或按計劃進行)。
如果您在本地,則可以使用他們的 TFS,本質上是相同的。
太長了;您可以透過 VSO 來完成此操作,並將其與 Azure Active Directory 整合以進行身份驗證和控制。