Avaliar aplicações Spring com o Cloud Suitability Analyzer
Este guia descreve como avaliar aplicações Spring com o Cloud Suitability Analyzer (CSA) para avaliar a preparação para migrar para a cloud.
Quando devo utilizar o Cloud Suitability Analyzer?
O Cloud Suitability Analyzer é uma ferramenta open source desenvolvida pelo VMware. Pode utilizá-lo para avaliar as suas aplicações Spring, Spring Boot e Spring Cloud para determinar o quão prontas estão para a cloud.
Pode transferir o Cloud Suitability Analyzer para o seu ambiente de desenvolvimento e, em seguida, analisar o código fonte para avaliação. Todos os resultados são mantidos no seu ambiente local. O relatório de avaliação dá-lhe uma estimativa do esforço necessário para migrar a sua aplicação Spring para a cloud. O relatório também lista problemas ao nível da linha de código classificados por importância.
Nota
Utilize o Chrome como browser recomendado se outros browsers não abrirem corretamente o portal Web do Cloud Suitability Analyzer.
Que resultados posso obter no Cloud Suitability Analyzer?
As secções seguintes descrevem os resultados produzidos pelo Cloud Suitability Analyzer.
Resumo de um grupo de aplicações
O Cloud Suitability Analyzer estima a preparação das suas aplicações spring em relação às plataformas na cloud ao corresponder padrões ao código fonte. A ferramenta atribui a cada problema uma classificação não processada com base num conjunto de regras predefinidas ou personalizadas. Em seguida, a ferramenta calcula uma classificação técnica entre 0 e 10 para cada aplicação com base na soma das classificações não processadas. Quanto mais preparada para a cloud estiver uma aplicação, maior será a classificação técnica.
Pode encontrar a lista de aplicações com a respetiva classificação técnica na página Resumo do relatório de avaliação. A página de resumo também lista outras informações, como linhas de código e o número de ficheiros analisados.
Sempre que executar uma avaliação, a ferramenta regista um novo relatório. Pode utilizar o controlo Selecionar Execução na página Resumo para ver e comparar versões de relatório diferentes e ver o progresso do seu esforço de migração.
Vista mais próxima de uma aplicação
Para obter a lista de problemas específicos ao nível da linha de código, pode encontrar um relatório detalhado na página Aplicação . Esta página lista os problemas de cada aplicação e classifica-os em importância como "alto", "médio" ou "baixo". Os problemas "elevados" são correções obrigatórias que requerem esforço manual, recomenda-se que os problemas "médios" sejam corrigidos e os problemas "baixos" sejam meramente informativos. Também pode encontrar o nome do ficheiro, o número de linha e o esforço estimado necessários para cada problema no relatório.
Para ver os resultados de avaliação de uma aplicação, defina Selecionar Executar para a versão que pretende ver e, em seguida, defina Aplicação para o nome da aplicação. Na parte superior do separador Resultados , pode selecionar um grupo de etiquetas para filtrar os resultados e ver apenas os que pretende focar.
Informações detalhadas sobre um problema específico
Na página Aplicação , pode selecionar o ID de um problema para ver informações detalhadas e ações sugeridas. Estas informações incluem o caminho do ficheiro de código fonte com o problema encontrado, o padrão correspondente ao problema e a regra que descreve o padrão e a classificação de esforço. Na secção Conselhos , pode encontrar a explicação específica para o problema encontrado e a ação correspondente sugerida.
Como devo utilizar o Cloud Suitability Analyzer?
Pode executar o Cloud Suitability Analyzer em três passos: configuração, análise e revisão.
Configuração: transfira os binários do Cloud Suitability Analyzer e as regras personalizadas do Azure. Pode substituir os binários pela versão mais recente do repositório VMware cloud-suitability-analyzer . Extraia o pacote e deverá encontrar os seguintes itens no mesmo diretório:
-
csa-l
: binário CSA para Linux -
csa
: binário CSA para macOS -
csa.exe
: binário CSA para Windows -
rules
: diretório que contém regras personalizadas do Azure -
bins.yaml
: ficheiro necessário para regras personalizadas -
run-csa-xxx
: script único específico do SO que executa todos os comandos CSA necessários para os cenários habituais
Nota
Todos os exemplos neste artigo utilizam a versão do Linux do script e do binário. Os parâmetros nos comandos também são aplicáveis ao Windows e macOS.
-
Análise: inicie o terminal e execute o script ou o binário com os parâmetros
-p <src_dir>
, conforme mostrado nos seguintes exemplos:./run-csa-linux.sh -p <src_dir>
ou
./csa-l -p <src_dir>
O diretório
<src_dir>
contém vários subdiretórios com o código fonte da aplicação Spring. Esta operação analisa todos estes projetos numa execução e armazena os resultados num ficheiro chamado csa.db. As análises subsequentes armazenam os resultados no mesmo ficheiro csa.db .Revisão: quando executa o script, este inicia automaticamente o portal Web. Em alternativa, pode utilizar o seguinte comando. O portal Web mostra a página Resumo por predefinição.
./csa-l ui
Como devo personalizar as regras?
As secções seguintes descrevem as regras e como personalizá-las.
Listar regras em vigor
No portal Web, a página Regras mostra todas as regras utilizadas para corresponder aos problemas listados na página Aplicação . Também pode encontrar detalhes para cada regra.
A lista seguinte mostra algumas das regras personalizadas do Azure:
- Migração para a cloud em geral
- Caminho do Windows para o caminho do Linux
- Destino de registo para STDOUT
- Armazenamento local para a Partilha de Ficheiros do Azure com o protocolo SMB/NFS
- Regras de atualização do JDK
- Verificar a versão do JDK
- Atualização do Spring Boot/Cloud
- Verificar a versão do Spring Boot
- Verificar a versão do Spring Cloud
- Substituir o ponto final de cliente Eureka
- Substituir ponto final de cliente de Configuração
- Remover Zipkin e utilizar o Azure Monitor
Exportar regras
Para editar as regras ou escrever as suas próprias regras, exporte primeiro as regras atuais para utilizar como versões base que pode modificar. Para exportar as regras, utilize o seguinte comando:
./csa-l rules export --output-dir=<output_dir>
Quando o comando é devolvido com êxito, os ficheiros de configuração que descrevem as regras estão no diretório de saída especificado.
Editar regras
Pode editar cada regra de forma independente com um editor de texto. Pode encontrar a explicação detalhada de cada campo no manual do utilizador disponível no repositório cloud-suitability-analyzer .
Importar regras
Para adicionar as suas próprias regras ou remover regras de que não precisa, coloque as regras que pretende no mesmo diretório e, em seguida, importe esse diretório. Utilize os seguintes passos para adicionar ou remover regras:
Antes de importar as regras, utilize o seguinte comando para limpar as regras efetivas e começar a partir de uma lista limpa:
./csa-l rules delete-all
Depois de limpar as regras, utilize o seguinte comando para importar o seu próprio conjunto de regras:
./csa-l rules import --rules-dir=<input_dir>
Agora, utilize o seguinte comando para analisar novamente o código fonte:
./csa-l -p <src_dir>
Em seguida, utilize o seguinte comando para ver os resultados:
./csa-l ui
Agora, pode ver a página Regras atualizada com o conjunto de regras especificado.
Para simplesmente este processo, recomendamos que atualize as regras diretamente no diretório de regras do projeto azure-spring-suitability-rules e, em seguida, utilize o seguinte comando para executar o script:
./run-csa-linux.sh -p <src_dir>
Este comando recarrega automaticamente as regras, reanalisa o código fonte e, em seguida, inicia o portal Web.
Plataformas de destino para migração
Existem várias plataformas de alojamento no Azure que podem alojar as suas aplicações spring. Para obter mais informações, veja Comparar as opções de alojamento de aplicações Java no Azure.
O Azure Spring Apps é um serviço totalmente gerido para programadores do Spring. Com o Azure Spring Apps, pode concentrar-se no seu código e gerir as aplicações com monitorização inicial, deteção de serviços, gestão de configuração, integração ci/CD, implementação azul-verde e muito mais. Para obter mais informações, veja Migrar Aplicações do Spring Cloud para o Azure Spring Apps. Muitos dos passos nas fases de pré-visualização e migração já estão abrangidos nas regras personalizadas do Azure para o Cloud Suitability Analyzer.
Passos seguintes
Para obter mais informações, veja o manual do utilizador no repositório cloud-suitability-analyzer .