Поделиться через


Оценка приложений Spring с помощью Cloud Suitability Analyzer

В этом руководстве описывается, как оценить приложения Spring с помощью Cloud Suitability Analyzer (CSA) для оценки готовности к миграции в облако.

Когда следует использовать Анализатор пригодности в облаке?

Cloud Suitability Analyzer — это средство с открытым кодом, разработанное VMware. Его можно использовать для оценки приложений Spring, Spring Boot и Spring Cloud, чтобы определить, насколько они готовы к работе в облаке.

Вы можете скачать Cloud Suitability Analyzer в среду разработки, а затем проверить исходный код для оценки. Все результаты хранятся в локальной среде. Отчет об оценке позволяет оценить, сколько усилий потребуется для переноса приложения Spring в облако. В отчете также перечислены проблемы уровня строки кода, оцененные по важности.

Примечание

Используйте Chrome в качестве рекомендуемого браузера, если другие браузеры не могут правильно открыть веб-портал Cloud Suitability Analyzer.

Какие результаты можно получить из Cloud Suitability Analyzer?

В следующих разделах описаны результаты, полученные Cloud Suitability Analyzer.

Сводка по группе приложений

Cloud Suitability Analyzer оценивает готовность приложений Spring к облачным платформам, сопоставляя шаблоны с исходным кодом. Средство назначает каждой проблеме необработанную оценку на основе набора предопределенных или настраиваемых правил. Затем средство вычисляет техническую оценку в диапазоне от 0 до 10 для каждого приложения на основе суммы необработанных оценок. Чем более готово к облаку приложение, тем выше его техническая оценка.

Список приложений с соответствующей технической оценкой можно найти на странице Сводка отчета об оценке. На странице сводки также перечислены другие сведения, такие как строки кода и количество отсканированных файлов.

При каждом запуске оценки средство записывает новый отчет. Вы можете использовать элемент управления Выбор запуска на странице Сводка для просмотра и сравнения различных версий отчетов, а также для просмотра хода выполнения миграции.

Снимок экрана: страница сводки анализатора облачной пригодности.

Более подробное представление одного приложения

Список конкретных проблем на уровне строки кода можно найти в подробном отчете на странице Приложения . На этой странице перечислены проблемы для каждого приложения и их важность оценивается как "высокий", "средний" или "низкий". "Высокие" проблемы — это обязательные исправления, требующие ручных усилий, "средние" проблемы рекомендуется устранять, а "низкие" — просто информационные. Вы также можете найти имя файла, номер строки и предполагаемые усилия, необходимые для каждой проблемы в отчете.

Чтобы просмотреть результаты оценки для приложения, задайте для параметра Select Run нужную версию, а затем задайте для параметра Application значение имя приложения. В верхней части вкладки Результаты можно выбрать группу тегов, чтобы отфильтровать результаты и просмотреть только те, на которых вы хотите сосредоточиться.

Снимок экрана: страница приложения Cloud Suitability Analyzer.

Подробные сведения о конкретной проблеме

На странице Приложение можно выбрать идентификатор проблемы, чтобы просмотреть подробные сведения и предлагаемые действия. Эти сведения включают путь к файлу исходного кода с найденной проблемой, шаблон, соответствующий проблеме, и правило, описывающее шаблон и оценку усилий. В разделе Советы можно найти конкретное объяснение найденной проблемы и соответствующее предлагаемое действие.

Снимок экрана: страница сведений о проблеме с Анализатором пригодности для облака.

Как использовать Анализатор соответствия облачным решениям?

Вы можете запустить Cloud Suitability Analyzer в трех шагах: настройка, проверка и проверка.

  1. Настройка. Скачайте двоичные файлы Анализатора облачной пригодности и настраиваемые правила Azure. Двоичные файлы можно заменить последней версией из репозитория cloud-suitability-analyzer VMware. Извлеките пакет, и в том же каталоге должны находиться следующие элементы:

    • csa-l: двоичный файл CSA для Linux
    • csa: двоичный файл CSA для macOS
    • csa.exe: двоичный файл CSA для Windows
    • rules: каталог, содержащий настраиваемые правила Azure.
    • bins.yaml: обязательный файл для настраиваемых правил
    • run-csa-xxx: сценарий единого останова для конкретной ОС, который выполняет все необходимые команды CSA для обычных сценариев.

    Примечание

    Во всех примерах в этой статье используется версия скрипта для 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.

  • Миграция в облако в целом
    • Путь Windows к Linux
    • Назначение журнала в STDOUT
    • Локальное хранилище в файловом ресурсе Azure по протоколу SMB/NFS
  • Правила обновления 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
    

Теперь вы увидите страницу Правила , обновленную с учетом указанного набора правил.

Для этого рекомендуется обновить правила непосредственно в каталоге rules проекта azure-spring-suitability-rules , а затем выполнить скрипт с помощью следующей команды:

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

Эта команда автоматически перезагружает правила, повторно сканирует исходный код, а затем запускает веб-портал.

Целевые платформы для миграции

В Azure есть несколько платформ размещения, на которых можно разместить приложения Spring. Дополнительные сведения см. в статье Сравнение вариантов размещения приложений Java в Azure.

Azure Spring Apps — это полностью управляемая служба для разработчиков Spring. С помощью Azure Spring Apps вы можете сосредоточиться на коде и управлять приложениями с помощью встроенного мониторинга, обнаружения служб, управления конфигурацией, интеграции CI/CD, сине-зеленого развертывания и многого другого. Дополнительные сведения см. в статье Перенос приложений Spring Cloud в Azure Spring Apps. Многие шаги на этапах предварительной миграции и миграции уже рассматриваются в настраиваемых правилах Azure для Cloud Suitability Analyzer.

Дальнейшие действия

Дополнительные сведения см. в руководстве пользователя в репозитории cloud-suitability-analyzer .