

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建置
<a name="build"></a>

使用共用的 Db2 資料庫可在大型主機和雲端環境中同時執行相同或一致的應用程式。當您在兩個平台上維護相同的應用程式版本時，此方法提供數種優點，並在操作中提供增強的彈性和可靠性。

此策略的一個主要優點是能夠實作有效的復原計劃。如果在遷移或部署期間發生問題，具有相同的應用程式版本可讓 無縫還原至先前的狀態，並將停機時間和潛在的資料不一致降至最低。

## 應用程式一致性
<a name="mirroring"></a>

在轉換過程中，將應用程式元件從分散式來源控制管理員鏡像到大型主機是一種策略方法。此方法支援使用現代原始程式碼管理工具，同時保持與大型主機環境的同步。此鏡像程序是暫時的，只會持續到工作負載在分散式平台上的生產中完全運作為止。

透過將已轉換應用程式的原始碼遷移至分散式變更管理工具，您可以利用現代原始碼管理員提供的多種優點。其中包含：
+ **增強的協同合作**：分散式工具通常會透過包含提取請求、程式碼檢閱和分支策略等功能，為團隊協同合作提供更好的支援。
+ **改善版本控制**：現代系統提供更精細的版本控制，讓您更輕鬆地追蹤變更和管理不同版本的程式碼。
+ **與 CI/CD 管道整合**：許多分散式工具與持續整合和持續部署 (CI/CD) 管道無縫整合，可簡化開發程序。
+ **更好的可見性和可追蹤性**：這些工具通常提供卓越的儀表板和報告功能，並提供更深入的開發程序洞察。
+ **現代開發實務的支援**：分散式系統通常更適合敏捷的方法和 DevOps 實務。

鏡像程序涉及將程式碼從分散式來源控制管理員同步回大型主機。這可確保兩個環境在轉換期間保持一致。不過，您必須實作鏡射做為單向同步，其中 會將流程從分散式系統更新至大型主機，而不是雙向。此方法可維持一致性，並防止兩個環境中同時更新可能產生的潛在衝突。

透過採用此鏡像策略，您可以逐步將開發工作轉移到分散式平台，同時確保大型主機環境保持up-to-date。這可在轉換過程中提供更順暢的轉換和安全網路。當工作負載在分散式生產環境中完全正常運作且穩定時，您可以逐步淘汰鏡像程序，並完成遷移至現代原始程式碼管理系統。

## Architecture
<a name="planning-architecture"></a>

下圖顯示分散式原始碼管理系統如何鏡射應用程式元件，並維持 AWS 雲端 和大型主機環境之間的同步。 AWS 雲端 環境使用 CI/CD 服務，例如 [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)、 [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)和 [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html)來建置和部署應用程式。

![使用應用程式鏡像逐步遷移大型主機的架構。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/replatform-mainframe-apps-shared-db2/images/mirroring-app-components.png)


在此工作流程中：

1. 應用程式擁有者會將新的應用程式版本交付至原始碼儲存庫的開發分支。

1. 新版本會觸發 AWS CodePipeline。

1. AWS CodeBuild 從 擷取 Db2 登入資料[AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)。

1. CodeBuild 會編譯應用程式。

1. CodeBuild 針對 z/OS 使用 Db2 來繫結應用程式。

1. 大型主機交付流程也會建置和部署應用程式。