評估 - AWS 方案指引

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

評估

評定容器化的應用程式有助於發現所有相依性和風險。評定還有助於將應用程式分類到優先儲存貯體中,以進行現代化和遷移。

在評定階段,重點在於下列關鍵領域:

  • 容器化的作業系統相依性 – 自動化容器化工具,例如 AWS App2Container,對容器化的應用程式架構和作業系統有一些限制。如需有關支援的應用程式的詳細資訊,請參閱 App2Container 文件

  • 法規合規 – 確保容器化應用程式在部署於目標環境之前符合所有法規是有效的,而不是在部署後以被動方式採取動作並進行緩解。檢查映像中的漏洞、未經授權的容器間通訊、對容器和資料的存取控制以及自動掃描以防止惡意活動。

  • 災難復原 (DR) 解決方案 – 每個應用程式都具有自己特定的停機服務水準協議 (SLA)。在規劃容器叢集的分佈時,請記住應用程式的復原點目標 (RPO) 和復原時間點目標 (RTO)。依預設,App2Container 將應用程式部署至多個可用區域。

  • 資料儲存 – 容器最好是無狀態使用。對於有狀態容器,資料必須儲存在容器外部。如果容器停止服務,則您可以使用映像和附接的外部磁碟區啟動新容器,而不會遺失資料。

  • 組態和機密管理 – 目標環境的參數儲存或機密儲存可用於儲存和擷取容器中的組態和機密。確保只有相關容器才能存取機密至關重要。應記錄對組態和機密的所有操作。容器與機密儲存之間的通訊通道必須是安全的。

  • 日誌管理 – 為了進行稽核,每個容器產生的日誌將會傳送至位於容器外部的日誌管理服務。由於應用程式由多個服務和程序組成,每個服務和程序駐留在不同的容器中,因此每個容器的日誌都應具有唯一 ID。

  • 建置和部署程序 – 大多數企業都具有某種建置和部署程序來發佈應用程式和功能。為了利用容器化,應使用 CI/CD 管道自動建置和部署應用程式。管道帶來一些優勢,例如一鍵式基礎設施佈建和解除委任、更快且防錯的部署、自動化以及縮短發佈新功能的時間。

  • 上游和下游應用程式 – 良好實務為批次容器化和遷移所有相依應用程式。在不可行的情況下,應安全地開啟從容器化應用程式至上游和下游應用程式的通訊通道。請確保此通道支援的頻寬不會中斷應用程式功能。

  • 授權相依性 – 應用程式的多個執行個體在容器內執行,這可能會變得昂貴。檢查在容器上部署軟體的合約和資格。了解使用哪些工具來計量容器上使用的軟體。

  • 應用程式伺服器或工作機器上的容器化可能性 – 容器化程序會耗用伺服器上的其他資源,例如磁碟空間、運算能力和記憶體。必須對應用程式伺服器進行分析,以確保其能夠支援容器化程序。否則,您可以使用具有所需資源且可以與應用程式伺服器通訊的工作機器。

  • 容器的開發人員技能和生產支持 – 目前應用程式團隊應自行提升容器化技術的技能。團隊應能夠對程序中的問題進行疑難排解,視需要調整組態,並能夠支援容器上部署的應用程式。

您可以使用 App2Container 來容器化在 Linux 上執行的 Java 應用程式,例如獨立的 JBoss、Apache Tomcat、IBM WebSphere 和 Oracle WebLogic。您也可以使用 App2Container 來容器化通用 Java 應用程式,例如 Spring Boot。應用程式容器化可與微服務和分散式應用程式搭配使用。雖然所有 Java 應用程式都可以使用 App2Container 進行現代化,但下列準則可以協助您選擇正確的應用程式進行現代化,以實現更快的遷移:

  • 封裝為單一二進制的應用程式更容易容器化。此外,您可以使用 Java 執行階段環境 (JRE) 容器化 Java 應用程式。每個容器都可以使用所需的特定 JRE。

  • 無狀態應用程式是現代化容器的理想選擇。這些應用程式在本機儲存最少的資訊,並將大部分資料儲存在持久性資料儲存上。

  • 使用持續整合和持續部署 (CI/CD) 管道發佈​​的應用程式是容器化的理想候選者。將每個應用程式容器化並引入容器協同運作平台 (例如 Amazon ECS 或 Amazon EKS),此平台由 App2Container 自動處理。

大多數企業應用程式都與各種其他服務整合,用於身分驗證、持久性資料儲存、快取、非同步通訊、日誌記錄和通知。容器化應用程式應使用所有現有整合點在內部部署進行測試,以促進容器化成功。準備好遷移至 時 AWS,所有適當的整合點和資料儲存都必須遷移至 AWS。必須先對組態進行任何必要的更新,然後才能將應用程式容器部署在 AWS上。

存放在檔案系統中的資料可以使用各種工具遷移至 AWS https://aws.amazon.com/cloud-data-migration/,以符合使用案例。儲存在 Redis 等快取中的資料可以遷移至 Amazon ElastiCache。您可以使用資料庫自己的原生工具或使用 AWS Database Migration Service() 來遷移存放在資料庫中的資料AWS DMS。 AWS DMS 也提供變更資料擷取 (CDC) 選項,從來源資料存放區複寫持續變更,直到切換為止。

AWS 提供自己的監控和操作資料記錄和視覺化服務,稱為 Amazon CloudWatch。CloudWatch 代理程式可以與應用程式一起封裝到容器中以使用此服務。

對於原始程式碼不可用或不可維護的組織來說,App2Container 非常適合容器化,因為它在應用程式的執行期環境上操作且不需要原始程式碼。