Aspectos generales

P: ¿Qué es Amazon CodeGuru?

Amazon CodeGuru, una herramienta para desarrolladores basada en aprendizaje automático que brinda recomendaciones inteligentes para mejorar la calidad del código e identificar las líneas de código más costosas de una aplicación.

P: ¿Qué puedo hacer con Amazon CodeGuru?

Amazon CodeGuru tiene dos componentes: el revisor de Amazon CodeGuru y el generador de perfiles de Amazon CodeGuru. El revisor de Amazon CodeGuru utiliza el aprendizaje automático para identificar problemas críticos y errores difíciles de encontrar durante el desarrollo de la aplicación para mejorar la calidad del código. El generador de perfiles de Amazon CodeGuru optimiza el rendimiento de las aplicación que se ejecutan en la fase de producción e identifica las líneas de código más costosas, lo que reduce los costos operativos de forma significativa.

P: ¿Cómo puedo comenzar a utilizar Amazon CodeGuru?

Amazon CodeGuru ya está disponible de manera general. Puede comenzar ahora mismo en la consola de Amazon CodeGuru.

Para comenzar a utilizar el revisor de Amazon CodeGuru, inicie sesión en la consola del revisor de Amazon CodeGuru, donde puede asociar un repositorio de código existente en GitHub, GitHub Enterprise, Bitbucket o AWS CodeCommit. Una vez configurado por única vez, el revisor de Amazon CodeGuru comienza a analizar el código y a proporcionar recomendaciones para mejorarlo directamente en la solicitud de extracción o en el repositorio de código.

También puede comenzar a generar perfiles de las aplicaciones en cuestión de minutos. Para comenzar a utilizar el generador de perfiles de Amazon CodeGuru, inicie sesión en la consola del generador de perfiles de Amazon CodeGuru, donde podrá configurar un grupo de generación de perfiles para la aplicación. Inicie la aplicación con el agente de generación de perfiles en la línea de comandos o siga los pasos para utilizar uno de los siguientes métodos personalizados que se describen. Puede permitir que el generador de perfiles de Amazon CodeGuru se ejecute de manera permanente para detectar de forma proactiva los problemas de rendimiento en las aplicaciones en funcionamiento.

P: ¿En qué regiones de AWS se encuentra disponible Amazon CodeGuru?

Para ver la lista de las regiones de AWS admitidas, consulte la tabla de regiones de AWS, que contiene información acerca de la infraestructura global de AWS. Para obtener más información, consulte Regiones y puntos de enlace en la Referencia general de AWS.

Revisor de Amazon CodeGuru

P: ¿Qué es el revisor de Amazon CodeGuru?

El revisor de Amazon CodeGuru es un servicio automatizado de revisión de código que identifica defectos graves y discrepancias con las prácticas recomendadas de creación de código para el código basado en Java. Analiza las líneas de código dentro de una solicitud de extracción y brinda recomendaciones inteligentes basadas en estándares aprendidos de los proyectos de código abierto principales, así como de la base de código de Amazon. El revisor de Amazon CodeGuru se integra perfectamente con los flujos de trabajo de revisión de código existentes en sistemas de control de código fuente de uso general, incluidos GitHub, GitHub Enterprise, Bitbucket y AWS CodeCommit. Además, proporciona recomendaciones prácticas para mejorar la calidad del código.

P: ¿Qué lenguajes de programación y repositorios de código fuente admite?

En la actualidad, el revisor de Amazon CodeGuru admite el código Java almacenado en los repositorios de GitHub, GitHub Enterprise, Bitbucket y AWS CodeCommit.

P: ¿Qué tipo de problemas detecta el revisor de Amazon CodeGuru?

El revisor de Amazon CodeGuru comprueba si hay problemas de simultaneidad, posibles condiciones de carrera, entradas sin corregir o maliciosas, manejo inapropiado de datos confidenciales (como credenciales) y pérdida de recursos, y también detecta las condiciones de carrera y los bloqueos en el código simultáneo. También sugiere las prácticas recomendadas de Java y AWS, y detecta el código clonado que se puede consolidar para un mejor mantenimiento del código.
P: ¿Cómo puedo comenzar a utilizar el revisor de Amazon CodeGuru?

Vaya a la consola de Amazon CodeGuru para integrar las recomendaciones del revisor de Amazon CodeGuru directamente en las solicitudes de extracción del código. Para comenzar, puede visitar la consola de CodeGuru y seguir los pasos para asociar los repositorios de AWS CodeCommit, GitHub, GitHub Enterprise y BitBucket para empezar a recibir las recomendaciones del revisor de Amazon CodeGuru. Una vez habilitado, el revisor de Amazon CodeGuru ofrecerá automáticamente recomendaciones inteligentes, como comentarios acerca de las solicitudes de extracción generadas para los repositorios conectados.

P: ¿Tiene acceso el revisor de Amazon CodeGuru a mi código?

El revisor de Amazon CodeGuru necesita acceso de solo lectura a su código para generar recomendaciones. Su confianza, privacidad y la seguridad de su contenido son nuestra más absoluta prioridad, por lo que implementamos los controles adecuados, incluido el cifrado de la información en tránsito, con el fin de evitar el acceso no autorizado al contenido o su divulgación y asegurarnos de que nuestro uso cumple con los compromisos que tenemos con usted. Consulte las Preguntas frecuentes acerca de la privacidad de datos para obtener más información.

P: ¿Conserva el revisor de Amazon CodeGuru una copia de mi código?

No, el revisor de Amazon CodeGuru no almacena su código fuente.

P: ¿De qué manera se entrena el revisor de Amazon CodeGuru para proporcionar recomendaciones inteligentes?

El revisor de Amazon CodeGuru se entrena con modelos de aprendizaje automático supervisados y minería por reglas que utilizan una combinación de regresión logística y redes neuronales.

Por ejemplo, durante el entrenamiento para detectar discrepancias con las prácticas recomendadas de AWS, el revisor de Amazon CodeGuru mina bases de código de Amazon mediante técnicas de búsqueda y modelos susceptibles a las localidades para las solicitudes extracción que incluyen llamadas a la API de AWS. Examina los cambios de código destinados a mejorar la calidad del código y los compara con los datos de la documentación. El resultado es la creación de un conjunto nuevo de reglas que el revisor le ofrece como prácticas recomendadas cuando revisa el código.
Durante el entrenamiento para detectar la pérdida de recursos y la exposición de datos confidenciales, realiza un análisis completo del código que abarca todas las rutas de código que utilizan el recurso o los datos confidenciales, crea un conjunto de características que las representan y luego las utiliza como entradas para los modelos de regresión logística y las redes neuronales convolucionales (CNN).

Tanto para los modelos basados en reglas como para los basados en el aprendizaje automático, el revisor de Amazon CodeGuru utiliza la retroalimentación que usted proporciona como etiquetas y mejora de forma iterativa la calidad de los detectores de código.

Generador de perfiles de Amazon CodeGuru

P: ¿Qué es el generador de perfiles de Amazon CodeGuru?

El generador de perfiles de Amazon CodeGuru ayuda a los desarrolladores a comprender fácilmente el comportamiento del tiempo de ejecución de las aplicaciones, mejorar el rendimiento y reducir los costos de infraestructura. El generador de perfiles de Amazon CodeGuru analiza el perfil de tiempo de ejecución de la aplicación y ofrece recomendaciones inteligentes y visualizaciones que guían a los desarrolladores para que puedan mejorar el rendimiento de las partes más relevantes del código.

P: ¿Qué es un grupo de generación de perfiles?

Un grupo de generación de perfiles es una agrupación lógica que usted crea. Representa el límite de una aplicación. Por ejemplo, en una arquitectura de microservicios, un grupo de generación de perfiles combinaría los perfiles de los microservicios que se le han asignado y generaría un perfil para todos ellos.

P: Ya tengo un proceso completo de registro integrado en el código. ¿Tengo que generar perfiles de todas maneras?

Registrar el tiempo de ejecución solo funciona para un conjunto limitado de escenarios porque el registro solo puede monitorear la latencia (no el uso de la CPU). Además, la implementación requiere de bastante tiempo debido a que los desarrolladores tienen que registrar todas las funciones de una aplicación (sin que ello impacto el rendimiento de la aplicación), lo que deja a los desarrolladores sin las herramientas que necesitan para monitorear y resolver los problemas de las aplicaciones de forma efectiva en la fase de producción. Aquí es donde la generación de perfiles resulta útil: el generador de perfiles de Amazon CodeGuru está diseñado para recopilar datos acerca de todo lo que ocurrió en el comportamiento de esa aplicación, independientemente de la situación. El generador de perfiles de CodeGuru utiliza una base de conocimiento de las ineficiencias de rendimiento más comunes para detectar automáticamente patrones de código en la aplicación en funcionamiento que afectan su rendimiento. De tal forma, los desarrolladores pueden seguir las recomendaciones proporcionadas para solucionar los problemas.

P: ¿En qué se diferencia el generador de perfiles de Amazon CodeGuru de las herramientas de administración de rendimiento de aplicaciones tradicionales y de los generadores de perfiles independientes?

Las herramientas de administración de rendimiento de aplicaciones tradicionales brindan datos útiles acerca del monitoreo, el seguimiento y el rendimiento de las aplicaciones. El generador de perfiles de Amazon CodeGuru complementa estas capacidades de las herramientas de administración de rendimiento de aplicaciones al proporcionar visualización de los datos de tiempo de ejecución de la aplicación, así como recomendaciones prácticas para los problemas de rendimiento que detecta. También utiliza el aprendizaje automático para detectar anomalías en el perfil de la aplicación y alertar sobre ellas, para lo que señala las líneas del código anómalas. El generador de perfiles de Amazon CodeGuru permite ver fácilmente las partes del código que presentan una mayor oportunidad para la optimización del rendimiento, así como ahorros potenciales, y recibir orientación sobre cómo abordarlas sin necesidad de tener un conocimiento amplio en ingeniería de rendimiento. El generador de perfiles de Amazon CodeGuru genera perfiles para las instancias de EC2, los contenedores y las plataformas de informática sin servidor, incluida AWS Lambda. Además, algunos generadores de perfiles independientes están diseñados para funcionar solo en entornos de prueba, mientras que el generador de perfiles de Amazon CodeGuru está diseñado para funcionar de forma permanente en la fase de producción, durante las cargas de tráfico de producción y sin afectar el funcionamiento de la aplicación. Esto es útil cuando se trata de solucionar problemas operativos en la etapa de producción, incluidos casos en los que se utilizan alojamientos sin sistema operativo.

P: ¿Sobre qué tipos de aplicaciones se pueden generar perfiles?

El generador de perfiles de Amazon CodeGuru funciona con aplicaciones alojadas en Amazon EC2, aplicaciones en contenedores que se ejecutan en Amazon ECS y Amazon EKS, así como aplicaciones sin servidor que se ejecutan en AWS Fargate y AWS Lambda.

P: ¿Cómo el generador de perfiles de CodeGuru impacta el rendimiento de las aplicaciones alojadas en AWS Lambda?

El agente del generador de perfiles de Amazon CodeGuru utiliza los recursos (CPU, memoria) asignados a las funciones de AWS Lambda. Está ajustado para que tenga un impacto mínimo en el rendimiento de la aplicación mientras se ejecuta como un subproceso en curso. Si la aplicación consume la mayoría de los recursos en la función de AWS Lambda, considere aumentar los recursos para permitir que el agente funcione correctamente.

P: ¿Qué lenguajes de programación admite?

El generador de perfiles de Amazon CodeGuru actualmente es compatible con las aplicaciones JVM, incluidas Java, Scala, Kotlin, etc.

P: ¿Cómo funciona el generador de perfiles de Amazon CodeGuru?

El generador de perfiles de Amazon CodeGuru tiene tres partes: un agente, el servicio de generador de perfiles y recomendaciones inteligentes. El agente se inicia con la aplicación en la línea de comandos y se ejecuta como un subproceso en curso como parte de la aplicación. Toma datos de cada una de las instancias de servicio que ejecutan el agente y los envía al servicio de generador de perfiles cada 10 minutos, donde se agrupan. El generador de perfiles de Amazon CodeGuru publica los datos del perfil en gráficos de llama interactivos que permiten visualizar el rendimiento de la aplicación. El generador de perfiles de Amazon CodeGuru también analiza los datos incluidos en perfiles de manera permanente y los compara con las prácticas recomendadas de ingeniería de rendimiento y de Amazon, y envía recomendaciones inteligentes de forma proactiva cuando se detectan problemas de rendimiento. También utiliza el aprendizaje automático para analizar de forma continua los datos de tiempo de ejecución de la aplicación y genera alertas cuando detecta anomalías en el perfil de la aplicación, además de señalar las líneas del código anómalas.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Obtenga más información acerca de los precios

Visite la página de precios de Amazon CodeGuru.

Más información 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
Regístrese para obtener una cuenta gratuita

Obtenga acceso instantáneo a la capa gratuita de AWS. 

Regístrese 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Comience a crear en la consola

Comience a crear con Amazon CodeGuru en la consola de administración de AWS.

Iniciar sesión