次の方法で共有


Cloud Suitability Analyzer を使用して Spring アプリケーションを評価する

このガイドでは、Cloud Suitability Analyzer (CSA) を使用して Spring アプリケーションを評価し、クラウドへの移行の準備状況を評価する方法について説明します。

Cloud Suitability Analyzer を使用する必要がある場合

Cloud Suitability Analyzer は、VMware によって開発されたオープンソース ツールです。 これを使用して、Spring、Spring Boot、Spring Cloud の各アプリケーションを評価して、クラウドの準備ができているかを判断できます。

Cloud Suitability Analyzer を開発環境にダウンロードし、ソース コードをスキャンして評価することができます。 すべての結果はローカル環境に保持されます。 評価レポートには、Spring アプリケーションをクラウドに移行するために必要な作業量の見積もりが表示されます。 このレポートには、重要度によって評価されたコード行レベルの問題も一覧表示されます。

注意

他のブラウザーが Cloud Suitability Analyzer Web ポータルを正しく開けなかった場合は、Chrome を推奨ブラウザーとして使用します。

Cloud Suitability Analyzer からどのような結果が得られますか?

次のセクションでは、Cloud Suitability Analyzer によって生成される結果について説明します。

アプリケーションのグループの概要

Cloud Suitability Analyzer は、ソース コードに対してパターンを照合することで、クラウド プラットフォームに対する Spring アプリケーションの準備状況を見積もります。 このツールでは、定義済みまたはカスタマイズされた一連のルールに基づいて、各問題に未加工のスコアが割り当てられます。 次に、生スコアの合計に基づいて、アプリケーションごとに 0 から 10 までの技術スコアが計算されます。 アプリケーションのクラウド対応性が高いほど、その技術スコアは高くなります。

それぞれの技術スコアを持つアプリケーションの一覧は、評価レポートの [概要 ] ページで確認できます。 概要ページには、コード行やスキャンされたファイルの数など、その他の情報も一覧表示されます。

評価を実行するたびに、新しいレポートが記録されます。 [概要] ページの [実行の選択] コントロールを使用すると、さまざまなレポート バージョンを表示および比較したり、移行作業の進行状況を確認したりできます。

Cloud Suitability Analyzer の [概要] ページのスクリーンショット。

1 つのアプリケーションの詳細ビュー

特定のコード行レベルの問題の一覧については、[ アプリケーション] ページで詳細なレポートを確認できます。 このページには、各アプリケーションの問題が一覧表示され、重要度が "高"、"中"、または "低" としてランク付けされます。 "高" の問題は、手動で作業する必要がある修正プログラムであり、修正には "中" の問題が推奨され、"低" の問題は単なる情報です。 レポートには、各問題に必要なファイル名、行番号、推定作業量も確認できます。

アプリケーションの評価結果を表示するには、[ 実行の選択] を表示するバージョンに設定し、[ アプリケーション] をアプリケーション名に設定します。 [ 結果 ] タブの上部で、タグのグループを選択して結果をフィルター処理し、注目したいタグのみを表示できます。

[Cloud Suitability Analyzer アプリケーション] ページのスクリーンショット。

特定の問題の詳細情報

[ アプリケーション ] ページで、問題の ID を選択して、詳細情報と推奨されるアクションを表示できます。 この情報には、検出された問題を含むソース コード ファイルのパス、問題に一致するパターン、パターンと作業スコアを記述するルールが含まれます。 [ アドバイス ] セクションには、見つかった問題の具体的な説明と、提案された対応するアクションが表示されます。

Cloud Suitability Analyzer の問題の詳細ページのスクリーンショット。

Cloud Suitability Analyzer を使用する方法

Cloud Suitability Analyzer は、セットアップ、スキャン、レビューの 3 つの手順で実行できます。

  1. セットアップ: Cloud Suitability Analyzer バイナリと Azure でカスタマイズされた規則をダウンロードします。 バイナリは、VMware cloud-suitability-analyzer リポジトリから最新バージョンに置き換えることができます。 パッケージを抽出すると、同じディレクトリに次の項目が表示されます。

    • 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>
    

    or

    ./csa-l -p <src_dir>
    

    ディレクトリ <src_dir> には、Spring アプリのソース コードを含む複数のサブディレクトリが含まれています。 この操作は、これらすべてのプロジェクトを 1 回の実行でスキャンし、結果を csa.db というファイルに格納します。 後続のスキャンでは、結果が同じ csa.db ファイルに格納されます。

    Bash ウィンドウで実行されている Cloud Suitability Analyzer スクリプトを示すスクリーンショット。

  3. 確認: スクリプトを実行すると、Web ポータルが自動的に起動します。 または、次のコマンドを使用できます。 Web ポータルには、既定で [概要 ] ページが表示されます。

    ./csa-l ui
    

ルールをカスタマイズする方法

次のセクションでは、ルールとそのカスタマイズ方法について説明します。

有効なルールを一覧表示する

Web ポータルの [ ルール ] ページには、[ アプリケーション ] ページに一覧表示されている問題に一致するために使用されるすべてのルールが表示されます。 各ルールの詳細も確認できます。

[Cloud Suitability Analyzer Rule]\(クラウド適合性アナライザールール\) ページのスクリーンショット。

次の一覧は、Azure でカスタマイズされた規則の一部を示しています。

  • 一般的なクラウドへの移行
    • Linux パスへの Windows パス
    • STDOUT へのログ宛先
    • SMB/NFS プロトコルを使用した Azure File Share へのローカル ストレージ
  • JDK のアップグレード規則
    • JDK のバージョンを確認する
  • Spring Boot/Cloud のアップグレード
    • Spring Boot のバージョンを確認する
    • Spring Cloud のバージョンを確認する
    • Eureka クライアント エンドポイントをオーバーライドする
    • 構成クライアント エンドポイントをオーバーライドする
    • Zipkin を削除し、Azure Monitor を使用する

ルールのエクスポート

ルールを編集したり、独自のルールを作成したりするには、最初に現在のルールをエクスポートして、変更できる基本バージョンとして使用します。 ルールをエクスポートするには、次のコマンドを使用します。

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

コマンドが正常に戻ると、ルールを記述する構成ファイルは、指定された出力ディレクトリにあります。

ルールを編集する

各ルールは、テキスト エディターを使用して個別に編集できます。 各フィールドの詳細な説明については、 cloud-suitability-analyzer リポジトリのユーザー マニュアルを参照してください。

ルール ファイルが開かれた 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>

このコマンドは、ルールを自動的に再読み込みし、ソース コードを再スキャンして、Web ポータルを起動します。

移行のターゲット プラットフォーム

Azure には、Spring アプリケーションをホストできる複数のホスティング プラットフォームがあります。 詳細については、「 Azure での Java アプリケーション ホスティング オプションの比較」を参照してください。

Azure Spring Apps は、Spring 開発者向けのフル マネージド サービスです。 Azure Spring Apps を使用すると、すぐに使用できる監視、サービス検出、構成管理、CI/CD 統合、ブルーグリーン デプロイなどを使用して、コードに集中し、アプリを管理できます。 詳細については、「 Spring Cloud アプリケーションを Azure Spring Apps に移行する」を参照してください。 移行前フェーズと移行フェーズの手順の多くは、 Cloud Suitability Analyzer 用にカスタマイズされた Azure ルールで既に説明されています。

次の手順

詳細については、 cloud-suitability-analyzer リポジトリのユーザー マニュアルを参照してください。