Geral

P: O que é o Amazon CodeGuru?

O Amazon CodeGuru é uma ferramenta de desenvolvedor com a tecnologia de machine learning que fornece recomendações inteligentes para melhorar a qualidade do código e identificar as linhas de código mais caras de um aplicativo.

P: O que posso fazer com o Amazon CodeGuru?

O Amazon CodeGuru possui dois componentes: Amazon CodeGuru Reviewer e Amazon CodeGuru Profiler. O Amazon CodeGuru Reviewer usa a tecnologia de machine learning para identificar problemas críticos e erros difíceis de encontrar durante o desenvolvimento de aplicativos para melhorar a qualidade do código. O Amazon CodeGuru Profiler otimiza o desempenho de aplicativos em execução na produção e identifica as linhas de código mais caras, reduzindo significativamente os custos operacionais.

P: Como posso começar a usar o Amazon CodeGuru?

O Amazon CodeGuru já está disponível. Você pode começar agora mesmo no console do Amazon CodeGuru.

Para começar a usar o Amazon CodeGuru Reviewer, faça login no console do Amazon CodeGuru Reviewer, onde você pode associar um repositório de códigos existente no GitHub, no GitHub Enterprise, no Bitbucket ou no AWS CodeCommit. Após uma configuração única, o Amazon CodeGuru Reviewer começa a analisar o código e a fornecer recomendações de aprimoramento de código diretamente na solicitação pull ou no repositório de códigos.

Você também pode começar a criar um perfil de seus aplicativos em minutos. Para começar a usar o Amazon CodeGuru Profiler, efetue login no console do Amazon CodeGuru Profiler, onde você pode configurar um grupo de criação de perfil para seu aplicativo. Inicie seu aplicativo com o agente de criação de perfil na linha de comandos ou siga as etapas para usar um dos métodos personalizados descritos. Você pode permitir que o Amazon CodeGuru Profiler seja executado continuamente, para detectar de forma proativa os problemas de desempenho em seus aplicativos ativos.

P: Em quais regiões da AWS o Amazon CodeGuru está disponível?

Para ver uma lista das regiões da AWS com suporte, visite a tabela de regiões da AWS para toda a infraestrutura global da AWS. Para obter mais informações, consulte Regiões e Endpoints na Referência geral da AWS.

Amazon CodeGuru Reviewer

P: O que é o Amazon CodeGuru Reviewer?

O Amazon CodeGuru Reviewer é um serviço automatizado de revisão de código que identifica defeitos críticos e desvios das práticas recomendadas de codificação para código Java. Ele verifica as linhas de código em uma solicitação pull e fornece recomendações inteligentes com base nos padrões aprendidos nos principais projetos de código-aberto, bem como na base de código da Amazon. O Amazon CodeGuru Reviewer se integra perfeitamente aos fluxos de trabalho de revisão de código existentes em sistemas de controle de origem amplamente utilizados, incluindo GitHub, GitHub Enterprise, Bitbucket e AWS CodeCommit, além de fornecer recomendações práticas para melhorar a qualidade do código.

P: Quais linguagens de programação e repositórios de código-fonte são compatíveis?

Atualmente, o Amazon CodeGuru Reviewer oferece suporte ao código Java armazenado nos repositórios GitHub, GitHub Enterprise, Bitbucket e AWS CodeCommit.

P: Que tipo de problemas são detectados pelo Amazon CodeGuru Reviewer?

O Amazon CodeGuru Reviewer verifica se há problemas de simultaneidade, possíveis condições de corrida, entradas não higienizadas ou mal-intencionadas, manuseio inadequado de dados confidenciais, como credenciais, vazamentos de recursos e também detecta condições de corrida e impasses no código simultâneo. Ele também sugere as melhores práticas da AWS e Java e detecta código clonado que pode ser consolidado para melhor manutenção do código.
P: Como posso começar a usar o Amazon CodeGuru Reviewer?

Acesse o console do Amazon CodeGuru para integrar as recomendações do Amazon CodeGuru Reviewer diretamente em solicitações pull de código. Para começar, acesse o console do CodeGuru e siga as etapas para associar seus repositório do AWS CodeCommit, do GitHub, do GitHub Enterprise e do BitBucket para começar a receber as recomendações do Amazon CodeGuru Reviewer. Uma vez ativado, o Amazon CodeGuru Reviewer fornecerá automaticamente recomendações inteligentes como comentários sobre suas solicitações pull geradas para os repositórios conectados.

P: O Amazon CodeGuru Reviewer acessa meu código?

O Amazon CodeGuru Reviewer precisa de acesso somente leitura ao seu código com o objetivo de gerar recomendações. A sua confiança, a privacidade e a segurança do seu conteúdo são nossa maior prioridade e implementamos controles apropriados, incluindo criptografia em trânsito, para impedir o acesso não autorizado ou a divulgação de seu conteúdo e garantir que o nosso uso cumpra seja compatível com os compromissos que assumimos com você. Para obter mais informações, consulte as Perguntas frequentes sobre privacidade de dados.

P: O Amazon CodeGuru Reviewer mantém uma cópia do meu código?

Não, o Amazon CodeGuru Reviewer não armazena seu código-fonte.

P: Como o Amazon CodeGuru Reviewer é treinado para fornecer recomendações inteligentes?

O Amazon CodeGuru Reviewer é treinado usando mineração de regras e modelos de machine learning supervisionados que usam uma combinação de regressão logística e redes neurais.

Por exemplo, durante o treinamento para desviar-se das práticas recomendadas da AWS, o Amazon CodeGuru Reviewer explora as bases de código da Amazon usando técnicas de pesquisa e modelos sensíveis à localidade para solicitações pull que incluem chamadas da API da AWS. Ele analisa as alterações de código destinadas a melhorar a qualidade do código e faz referência cruzada delas com os dados da documentação. O resultado é a criação de um novo conjunto de regras que o Reviewer recomenda a você como práticas recomendadas ao revisar seu código.
Durante o treinamento para vazamentos de recursos e dados confidenciais, ele faz uma análise completa do código para todos os caminhos de código que usam o recurso ou dados confidenciais, cria um conjunto de recursos que os representa e os utiliza como entradas para modelos de regressão logística e redes neurais convolucionais (CNNs).

Para os modelos baseados em regras e em tecnologia de machine learning, o Amazon CodeGuru Reviewer usa o feedback que você fornece como etiquetas e melhora iterativamente a qualidade dos detectores de código.

Amazon CodeGuru Profiler

P: O que é o Amazon CodeGuru Profiler?

O Amazon CodeGuru Profiler ajuda os desenvolvedores a entender facilmente o comportamento do tempo de execução de seus aplicativos, melhorar o desempenho e reduzir os custos de infraestrutura. O Amazon CodeGuru Profiler analisa o perfil de tempo de execução do aplicativo e fornece recomendações e visualizações inteligentes que orientam os desenvolvedores sobre como aprimorar a performance das partes mais relevantes do código.

P: O que é um grupo de criação de perfil?

Um grupo de criação de perfil é um agrupamento lógico criado por você, que representa o limite de um aplicativo. Por exemplo, em uma arquitetura de microsserviços, um grupo de criação de perfil agregaria os perfis dos microsserviços que você designou a ele e produziria um perfil para todos eles.

P: Já tenho registro extensivo integrado ao meu código. Ainda preciso criar um perfil?

O tempo de execução do log funciona apenas para um conjunto limitado de cenários porque o log pode monitorar apenas a latência (não a utilização da CPU) e é demorado para implementar porque os desenvolvedores precisam registrar todas as funções em um aplicativo (sem afetar o desempenho do aplicativo), deixando os desenvolvedores sem as ferramentas necessárias para monitorar e solucionar problemas de aplicativos em produção. É aqui que entra a criação de perfil: o Amazon CodeGuru Profiler foi projetado para coletar dados sobre tudo o que aconteceu no comportamento do aplicativo, independentemente dos cenários. O CodeGuru Profiler usa uma base de conhecimento de ineficiências de desempenho comumente encontradas para descobrir automaticamente padrões de código em seu aplicativo em funcionamento que afetam seu desempenho. Os desenvolvedores podem seguir as recomendações fornecidas para corrigir os problemas.

P: Qual a diferença entre o Amazon CodeGuru Profiler e os APMs e criadores de perfil autônomos tradicionais?

Os APMs tradicionais fornecem dados úteis sobre monitoramento, rastreamento e performance de aplicativos. O Amazon CodeGuru Profiler complementa esses recursos do APM, fornecendo visualização dos dados de tempo de execução do aplicativo, além de recomendações práticas para os problemas de desempenho que ele descobrir. Ele também usa a tecnologia de machine learning para detectar e alertar sobre anomalias no perfil do aplicativo, apontando para as linhas de código anômalas. O Amazon CodeGuru Profiler permite que você veja facilmente as partes do código que apresentam a maior oportunidade de otimização de desempenho, juntamente com as economias em potencial, e receba orientações sobre como resolvê-las sem a necessidade de ter um profundo conhecimento em engenharia de desempenho. O Amazon CodeGuru Profiler cria perfis em ambas as instâncias do EC2, contêineres e plataformas de computação sem servidor, incluindo o AWS Lambda. Além disso, alguns criadores de perfil autônomos são projetados para serem executados apenas em ambientes de teste, enquanto o Amazon CodeGuru Profiler foi projetado para ser executado continuamente em produção, sob cargas de tráfego de produção e sem impacto no aplicativo. Assim, ele ajuda a solucionar problemas operacionais na produção, inclusive durante a execução em hosts bare metal.

P: Para quais tipos de aplicativos posso criar perfis?

O Amazon CodeGuru Profiler trabalha com aplicativos hospedados no Amazon EC2, aplicativos conteinerizados executados no Amazon ECS e no Amazon EKS e aplicativos sem servidor executados no AWS Fargate e no AWS Lambda.

P: Como o CodeGuru Profiler afeta o desempenho de aplicativos hospedados no AWS Lambda?

O agente do Amazon CodeGuru Profiler usa os recursos (CPU, memória) alocados para as funções do AWS Lambda. Ele é ajustado para ter um impacto mínimo no desempenho do aplicativo enquanto é executado como um encadeamento em processo. Se seu aplicativo consumir a maioria dos recursos na função AWS Lambda, avalie o aumento dos recursos para permitir que o agente funcione corretamente.

P: Quais linguagens de programação são compatíveis?

O Amazon CodeGuru Profiler atualmente oferece suporte a aplicativos JVM, incluindo Java, Scala, Kotlin, etc.

P: Como o Amazon CodeGuru Profiler funciona?

O Amazon CodeGuru Profiler consiste em três partes: um agente, o serviço de criação de perfil e recomendações inteligentes. O agente é iniciado com seu aplicativo na linha de comandos e é executado como um encadeamento em processo como parte do seu aplicativo. Ele pega os dados de cada uma das instâncias de serviço que estão executando o agente e os envia para o serviço de criação de perfil a cada 10 minutos, que os agrega. Em seguida, o Amazon CodeGuru Profiler publica os dados do perfil em gráficos de chama interativos que permitem visualizar o desempenho do seu aplicativo. O Amazon CodeGuru Profiler também verifica continuamente os dados dos perfis e os compara com as melhores práticas da Amazon e da engenharia de desempenho, além de alertar proativamente com recomendações inteligentes quando descobre problemas de desempenho. Ele também usa a tecnologia de machine learning para analisar continuamente os dados e alertas do tempo de execução do aplicativo quando detecta anomalias no perfil do aplicativo e aponta para as linhas de código anômalas.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Saiba mais sobre a definição de preço

Visite a página de definição de preço do Amazon CodeGuru.

Saiba mais 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
Cadastre-se para obter uma conta gratuita

Obtenha acesso instantâneo ao nível gratuito da AWS. 

Cadastre-se 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Comece a criar no console

Comece a criar com o Amazon CodeGuru no Console de Gerenciamento da AWS.

Fazer login