布建雲端規模分析
數據管理著陸區部署流程
數據平臺作業小組負責部署數據管理登陸區域。 數據管理登陸區域應該有自己的存放庫,由數據平臺作業小組維護。
謹慎
在部署任何數據登陸區域之前,先建立及部署數據管理登陸區域。
資料著陸區部署流程
Teams 可以使用數據平台作業小組所提供的範本,以避免從頭開始處理每個資產。 我們建議使用分叉模式,將新登陸區域的部署自動化。
例如,數據登陸區域作業小組會使用IT管理工具或 Power Apps要求新的資料登陸區域。 在要求核准后,使用來自要求的參數啟動下列工作流程:
- 為新的數據登陸區域部署新的訂用帳戶。
- 派生數據登陸區域範本的主要分支,以建立新的存放庫。
- 在新存放庫中建立服務連線。
- 根據要求中的參數,更新新存放庫中的參數。
- 建立部署管線來部署服務,此服務是由已更新參數簽入所觸發。
- 通知數據登陸區域作業小組,新的登陸區域可供使用。
數據登陸區域作業小組現在可以變更或新增 Azure Resource Manager 範本。
此工作流程可以在 Azure 平臺上使用多個服務集來自動化。 使用 CI/CD 管線處理某些步驟,例如在參數檔案中重新命名參數。 其他步驟可以使用其他工作流程協調流程工具來執行,例如LogicApps。
分叉模式可讓小組從用來分叉的原始範本更新其範本。 此外,如果在模板存儲庫中實施改進或新功能,運營團隊可以將它們拉取到自己的分支中。
採用存放庫的最佳做法,例如:
- 保護主要分支。
- 使用分支來進行變更、更新以及改進。
- 定義在合併變更至主要分支之前核准提取要求的程式代碼擁有者。
- 透過自動化測試驗證分支。
- 限制小組中的動作和人員數目,例如可以觸發建置和發行管線的人員。
提示
協調小組之間的活動,以確保原始範本中的改進或新功能會在所有數據登陸區域實例中複寫。 運營團隊可以將原始範本變更提取到其分支中。
整個入職流程與數據登陸區域部署流程是不同的。 此區隔是以大部分組織具有標準 Azure 訂用帳戶部署程式作為其雲端作業模型一部分的假設為基礎。 上線程式會部署標準公司元件(例如第三方IT服務管理工具)。 接下來會部署數據降落區特定的元件。
建議的自動化解決方案中沒有 Git API 可供複製/更新/認可/推送。 因此,我們的方法是使用 Azure 自動化帳戶, 其中包含以下 PowerShell 執行簿:
- 設定數據登陸區域
- 將主要存放庫分支至數據平臺 Git 存放庫
- 設定數據登陸區域的子網組態
- 設定Microsoft Entra ID
Runbook 使用 GitAutomation
PowerShell 模組中的 Git 功能來操作 Git 存放庫。 藉由在 Azure 自動化帳戶內安裝此模組,使用者可以在 Git 存放庫中進行建立、複製、查詢、推送、提取及提交作業。 下圖顯示安裝在 Azure 自動化帳戶內的 GitAutomation
模組:
使用 GitAutomation
模組中的 Copy-GitRepository
函式,將主要 Git 存放庫從 URL
指定的 URL 複製到 DestinationPath
所指定的數據平臺 Git 路徑。
數據登陸區域部署的這種方法具有彈性,同時確保動作符合組織需求。 生命週期管理是藉由從原始範本套用新功能或優化來啟用。
數據應用程式部署過程
建立數據登陸區域之後,數據應用程式小組就可以開始上線。 數據平臺或數據登陸區域作業小組會授與部署核准。
部署是使用DevOps工具直接完成,或透過公開為API的管線/工作流程呼叫。 與數據登陸區域類似,部署會從分支原始數據應用程式存放庫開始。
- 使用者要求新的數據應用程式服務。
- 工作流程程式會向數據平臺或數據登陸區域作業小組要求核准。
- 工作流程會呼叫 IT 服務管理 API 來建立必要的資源群組,以及建立 Azure DevOps 服務連線。 工作流程會將小組指派給 Azure DevOps 專案。
- 工作流程會分支原始數據應用程式存放庫,以建立 Azure DevOps 的目的地專案。
- 工作流程會建立 Azure Resource Manager 範本參數檔案和管線。
- 工作流程接著會啟動 Azure 管線來建立網路需求,以及另一個 Azure 管線來部署數據應用程式服務。
- 工作流程會在完成時通知使用者。
提示
如果您是 DataOps 的新手,請檢閱 Azure 架構中心中的 現代數據倉儲 DataOps 實作課程。 實驗室的案例描述可使用此部署解決方案的虛構城市規劃辦公室。 部署解決方案提供端對端數據管線,遵循新式數據倉儲架構模式,以及對應的 DevOps 和 DataOps 程式,以評估停車使用,並做出明智的商務決策。
總結
上述範式提供對政策的控制、敏捷性、自助服務和生命週期管理。
在專案開始時,數據平臺有一個包含一個或多個 Azure Boards 的 Azure DevOps 專案。 個別 DevOps 小組著重於:
- 數據管理登陸區域、管線和服務連線至雲端環境的一個存放庫。
- 數據登陸區域的一個範本存放庫、用來部署數據登陸區域實例的管線,以及雲端環境的服務連線。
- 數據產品服務的一個範本存放庫、用來部署數據產品實例的管線,以及雲端環境的服務連線。 這些連線是從資料著陸區的 Azure DevOps 專案中分支出來的。
部署資料著陸區之後,雲端規模分析建議:
- 每個數據登陸區域都會有自己的 Azure DevOps 專案與一或多個 Azure Boards。
- 針對每個資料應用程式,其資料著陸區 Azure DevOps 專案分支會在請求核准之後建立。
- 每個資料應用程式都包含:
- 服務連線。
- 已註冊的管線。
- 可存取其 Azure 面板及儲存庫的 DevOps 小組。
- 分支存放庫的不同原則集。
若要控制資料應用程式的部署,請遵循下列做法:
- 數據登陸區域作業小組擁有並保護主要存放庫分支。
- 只有主要分支可用來部署至測試和生產環境。
- 功能分支可以部署到開發環境。
- 功能分支是由 DataOps 小組所擁有。 它們可用來測試新的或修改的功能。
- DataOps 小組可以在未經核准的情況下,將功能分支合併至其他功能分支。
- DataOps 小組會建立提取要求,以將功能分支合併至主要分支,而數據登陸區域作業小組會提供核准。
- 原始範本的新功能或改進功能會合併至派生的儲存庫,以保持範本更新。