共用方式為


使用 Cloud 適用性分析器評估 Spring 應用程式

本指南說明如何使用 Cloud Suitability Analyzer (CSA) 評估 Spring 應用程式,以評估其移轉至雲端的整備程度。

何時應該使用雲端適用性分析器?

雲端適用性分析器是由 VMware 開發的開放原始碼工具。 您可以使用它來評估 Spring、Spring Boot 和 Spring Cloud 應用程式,以判斷它們適用於雲端的方式。

您可以將 Cloud Suitability Analyzer 下載到您的開發環境,然後掃描原始碼以進行評估。 所有結果都會保留在本機環境中。 評估報告可讓您估計將 Spring 應用程式移轉至雲端所需的投入量。 此報告也會列出依重要性評等的程式代碼層級問題。

注意

如果其他瀏覽器無法正確開啟 Cloud Suitability Analyzer 入口網站,請使用 Chrome 作為建議的瀏覽器。

我可以從 Cloud 適用性分析器取得哪些結果?

下列各節說明 Cloud Suitability Analyzer 所產生的結果。

應用程式群組的摘要

雲端適用性分析器會根據原始程式碼比對模式來估計 Spring 應用程式的整備程度。 此工具會根據一組預先定義或自定義的規則,為每個問題指派原始分數。 然後,此工具會根據原始分數的總和,計算每個應用程式的技術分數範圍從 0 到 10。 應用程式的雲端就緒程度愈高,其技術分數就越高。

您可以在評估報告的 [ 摘要 ] 頁面上找到具有其個別技術分數的應用程式清單。 摘要頁面也會列出其他資訊,例如程式代碼行和掃描的檔案數目。

每次執行評估時,工具都會記錄新的報表。 您可以使用 [摘要] 頁面上的 [選取執行] 控件來檢視及比較不同的報表版本,並查看移轉工作的進度。

[雲端適用性分析器摘要] 頁面的螢幕快照。

更仔細地檢視一個應用程式

如需特定程式代碼層級問題的清單,您可以在 [ 應用程式 ] 頁面上找到詳細的報告。 此頁面會列出每個應用程式的問題,並將其重要性排名為「高」、「中」或「低」。 「高」問題是需要手動工作的必須修正問題、建議修正「中」問題,而「低」問題只是參考性問題。 您也可以找到報表中每個問題所需的檔名、行號和估計工作量。

若要查看應用程式的評估結果, 請將 [選取執行 ] 設定為您想要查看的版本,然後將 [應用程式 ] 設定為應用程式名稱。 在 [ 尋找 ] 索引標籤的頂端,您可以選取一組標籤來篩選結果,並只查看您想要專注的標籤。

[雲端適用性分析器應用程式] 頁面的螢幕快照。

特定問題的詳細資訊

在 [ 應用程式 ] 頁面上,您可以選取問題的識別碼,以查看詳細資訊和建議的動作。 這項資訊包括原始碼檔案的路徑,其中發現問題、問題相符的模式,以及描述模式和工作分數的規則。 在 [ 建議 ] 區段中,您可以找到所找到問題的特定說明,以及建議的對應動作。

雲端適用性分析器問題詳細數據頁面的螢幕快照。

如何使用雲端適用性分析器?

您可以在三個步驟中執行 Cloud 適用性分析器:設定、掃描和檢閱。

  1. 設定:下載 雲端適用性分析器二進位檔和 Azure 自定義規則。 您可以從 VMware 雲端適用性分析器 存放庫,將二進位檔取代為最新版本。 擷取套件,您應該會在相同的目錄中找到下列專案:

    • csa-l:適用於Linux的 CSA 二進位檔
    • csa:適用於macOS的 CSA 二進位檔
    • csa.exe:適用於 Windows 的 CSA 二進位檔
    • rules:包含 Azure 自訂規則的目錄
    • bins.yaml:自定義規則的必要檔案
    • run-csa-xxx:針對一般案例執行所有必要 CSA 命令的 OS 特定單一停止腳本

    注意

    本文中的所有範例都會使用腳本和二進位檔的 Linux 版本。 命令中的參數也適用於 Windows 和 macOS。

  2. 掃描:啟動終端機,並使用參數 -p <src_dir>執行腳本或二進位檔,如下列範例所示:

    ./run-csa-linux.sh -p <src_dir>
    

    ./csa-l -p <src_dir>
    

    目錄 <src_dir> 包含數個具有 Spring 應用程式原始程式碼的子目錄。 此作業會掃描一次執行中的所有專案,並將結果儲存在名為 csa.db 的檔案中。 後續掃描會將結果儲存在相同的 csa.db 檔案中。

    顯示在 Bash 視窗中執行的雲端適用性分析器腳本螢幕快照。

  3. 檢閱:當您執行文本時,會自動啟動入口網站。 或者,您可以使用下列命令。 入口網站預設會顯示 [摘要 ] 頁面。

    ./csa-l ui
    

如何自定義規則?

下列各節說明規則以及如何自定義規則。

列出作用中的規則

在入口網站中,[ 規則] 頁面會顯示用來符合 應用程式 頁面上所列問題的所有規則。 您也可以找到每個規則的詳細資料。

[雲端適用性分析器規則] 頁面的螢幕快照。

下列清單顯示一些 Azure 自訂規則:

  • 一般移轉至雲端
    • Linux 路徑的 Windows 路徑
    • 記錄目的地至 STDOUT
    • 使用SMB/NFS 通訊協定將本機記憶體儲存至 Azure 檔案共用
  • JDK 升級規則
    • 檢查 JDK 版本
  • Spring Boot/Cloud 升級
    • 檢查 Spring Boot 版本
    • 檢查 Spring Cloud 版本
    • 覆寫 Eureka 用戶端端點
    • 覆寫設定用戶端端點
    • 拿掉 Zipkin 並使用 Azure 監視器

匯出規則

若要編輯規則或撰寫您自己的規則,請先匯出目前的規則,以作為您可以修改的基底版本。 若要匯出規則,請使用下列命令:

./csa-l rules export --output-dir=<output_dir>

當命令成功傳回時,描述規則的組態檔會位於指定的輸出目錄中。

編輯規則

您可以使用文字編輯器獨立編輯每個規則。 您可以在 雲端適用性分析器 存放庫中,於使用者手冊中找到每個字段的詳細說明。

開啟規則檔案的 Visual Studio Code 螢幕快照。

匯入規則

若要新增您自己的規則,或移除您不需要的規則,請將您想要的規則放在相同的目錄中,然後匯入該目錄。 使用下列步驟來新增或移除規則:

  1. 匯入規則之前,請使用下列命令清除有效的規則,並從全新平板開始:

    ./csa-l rules delete-all
    
  2. 清除規則之後,請使用下列命令匯入您自己的規則集:

    ./csa-l rules import --rules-dir=<input_dir>
    
  3. 現在,使用下列命令再次掃描原始碼:

    ./csa-l -p <src_dir>
    
  4. 然後,使用下列命令來檢視結果:

    ./csa-l ui
    

您現在可以看到 [ 規則] 頁面已使用您指定的規則集更新。

為了直接進行此程式,建議您直接在 azure-spring-suitability-rules 專案的 rules 目錄中更新規則,然後使用下列命令來執行腳本:

./run-csa-linux.sh -p <src_dir>

此命令會自動重載規則、重新掃描原始程式碼,然後啟動入口網站。

移轉的目標平臺

Azure 上有多個裝載平臺可以裝載 Spring 應用程式。 如需詳細資訊,請參閱 比較 Azure 上的 Java 應用程式裝載選項

Azure Spring Apps 是完全受控的服務,適用於 Spring 開發人員。 透過 Azure Spring Apps,您可以專注於程式代碼,並使用現用監視、服務探索、組態管理、CI/CD 整合、藍綠部署等等來管理應用程式。 如需詳細資訊,請參閱 將 Spring Cloud 應用程式移轉至 Azure Spring Apps。 雲端 適用性分析器的 Azure 自定義規則已涵蓋預先移轉和移轉階段中的許多步驟。

後續步驟

如需詳細資訊,請參閱 雲端適用性分析器 存放庫中的用戶手冊。