Saltar al contenido principal

Características de AWS CodeDeploy

¿Por qué CodeDeploy?

AWS CodeDeploy es un servicio que automatiza los despliegues de aplicaciones en diferentes servicios informáticos, como Amazon Elastic Compute Cloud (Amazon EC2), AWS Fargate, AWS Lambda e instancias locales. CodeDeploy automatiza totalmente los despliegues de aplicaciones, ya que elimina la necesidad de realizar operaciones manuales. CodeDeploy evita los tiempos de inactividad en las aplicaciones durante las implementaciones gracias a la realización de actualizaciones continuas y al seguimiento del estado de la implementación. CodeDeploy le permite realizar un control centralizado de los despliegues a través de la Consola de administración de AWS, la Interfaz de la línea de comandos de AWS (AWS CLI), los SDK o las API, lo que le permite lanzar, controlar y monitorear los despliegues. Puede ver el progreso de la implementación desglosado para cada evento de configuración. CodeDeploy supervisa y almacena el historial reciente de las implementaciones, para que pueda analizar el calendario y el historial de cambios de las últimas implementaciones.

CodeDeploy se puede usar en todas las plataformas y en todos los lenguajes y, además, funciona con cualquier aplicación, por lo que puede volver a utilizar el código de configuración existente. También puede integrar con facilidad las implementaciones de la aplicación con el proceso de entrega de software existente o con la cadena de herramientas de entrega continua mediante la utilización de las API de CodeDeploy.

Despliegues automatizados

Abrir todo

Puede repetir fácilmente el despliegue de una aplicación en diferentes grupos de instancias con CodeDeploy. CodeDeploy usa un modelo de instalación basado en archivos y comandos, que le permite implementar cualquier aplicación y volver a usar el código de configuración existente. Se puede utilizar el mismo código de configuración para implementar y comprobar de forma consistente las actualizaciones en las fases de implementación, comprobación y producción para instancias de Amazon EC2. Eliminar los pasos manuales en los despliegues aumenta la velocidad y fiabilidad del proceso de entrega de software.

CodeDeploy le permite integrar las actividades de despliegue y escalado del software para mantener actualizada su aplicación en un entorno de producción dinámico. Para las instancias de Amazon EC2, CodeDeploy se integra con Auto Scaling. El escalamiento automático le permite escalar la capacidad de Amazon EC2 según las condiciones que defina, como los picos de tráfico. CodeDeploy recibe una notificación cada vez que se lanza una nueva instancia en un grupo de Auto Scaling y realizará automáticamente un despliegue de aplicaciones en la nueva instancia antes de añadirla a un balanceador de cargas de Elastic Load Balancing (ELB).

Puede usar CodeDeploy para automatizar las implementaciones de software en sus entornos de desarrollo, pruebas y producción que se ejecuten en cualquier instancia, incluidas las instancias en sus propios centros de datos (las instancias deberán poder conectarse a los puntos de enlace públicos de AWS). De este modo, es posible utilizar un solo servicio para implementar aplicaciones de manera uniforme en arquitecturas híbridas.

Minimizar el tiempo de inactividad

Abrir todo

Las aplicaciones no requieren tiempo de inactividad cuando se actualizan a una versión nueva con CodeDeploy. AWS CodeDeploy puede realizar despliegues azules/verdes en instancias de Amazon EC2, un servicio de Amazon Elastic Container Service (Amazon ECS) (tanto del tipo de lanzamiento de Amazon EC2 como de Fargate) o una función Lambda. Con una implementación azul/verde, se lanza una nueva versión de su aplicación junto con la versión anterior. Cuando la nueva revisión se evalúe y establezca como lista, CodeDeploy puede conmutar el tráfico de su versión anterior a su nueva versión según sus especificaciones.

CodeDeploy también puede realizar una actualización continua en un grupo de instancias de Amazon EC2 donde solo se desconecta una fracción de las instancias a la vez. CodeDeploy funciona de manera progresiva en las instancias, por lo que se mantiene la disponibilidad de las aplicaciones para que continúen abasteciendo el tráfico. Para las funciones de Lambda, el tráfico entrante se redirige gradualmente de la versión antigua a la nueva.

El seguimiento del estado del despliegue funciona junto con actualizaciones continuas para mantener una alta disponibilidad de las aplicaciones durante los despliegues. Se pueden producir tiempos de inactividad inesperados si se implementan actualizaciones incorrectas. CodeDeploy monitorea su despliegue y lo detiene si hay un número excesivo de errores en las actualizaciones.

Puede detener el despliegue de una aplicación en curso con la consola, la CLI de AWS o cualquiera de los SDK de AWS. Simplemente puede volver a desplegar dicha revisión si desea continuar con el despliegue detenido en un momento posterior. También puede revertir los cambios inmediatamente mediante el redespliegue de la revisión anterior.

Control centralizado

Abrir todo

Puede lanzar, controlar y monitorear los despliegues de su software directamente desde la consola o mediante la CLI, los SDK o las API de AWS. En caso de error, puede identificar la secuencia de comandos que lo originó. También puede configurar notificaciones push que le permitan supervisar el estado de sus implementaciones mediante mensajes SMS o de correo electrónico a través de Amazon Simple Notification Service (Amazon SNS).

Se puede implementar una aplicación en varios grupos de implementaciones. Los grupos de implementaciones se utilizan para adaptar las configuraciones a entornos específicos, como entornos de pruebas o producción. Puede probar una revisión en la fase de pruebas y, a continuación, implementar el mismo código con las mismas instrucciones de implementación en el entorno de producción hasta que quede satisfecho.

CodeDeploy supervisa y almacena el historial reciente de los despliegues. Puede ver qué versiones de la aplicación están implementadas actualmente en cada uno de los grupos de implementaciones objetivo. Puede examinar el historial de cambios y el índice de éxito de las implementaciones anteriores en grupos de implementaciones específicos. También puede investigar el calendario de las implementaciones anteriores para obtener una vista detallada de los errores y los elementos correctos de la implementación.

Adopción sencilla

Abrir todo

CodeDeploy usa un modelo de instalación basado en archivos y comandos, que le permite implementar cualquier aplicación y volver a usar el código de configuración existente. CodeDeploy usa un único archivo de configuración de AppSpec que puede usar para ejecutar acciones, pruebas o verificaciones en cada evento del ciclo de vida (fase de implementación). Los comandos pueden ser cualquier código, como una secuencia de comandos shell, un programa personalizado o incluso una herramienta de administración de configuración.

Es fácil integrar los despliegues de la aplicación en la cadena de herramientas de entrega de software existente mediante la utilización de las API de CodeDeploy.  AWS CodePipeline y algunos socios de AWS ofrecen integraciones de CodeDeploy prediseñadas para ofrecer servicios de integración y entrega continuas (CI/CD), lo que simplifica la implementación automática de la aplicación actualizada.

Recepción de notificaciones

Abrir todo

Puede crear notificaciones para los eventos que afectan en sus implementaciones. Las notificaciones aparecerán como notificaciones de Amazon SNS. Cada notificación incluye un mensaje de estado, así como un enlace a los recursos cuyo evento la generó.