AWS CodeDeploy es un servicio que automatiza las implementaciones de aplicaciones en diferentes servicios informáticos, como Amazon EC2, AWS Fargate, AWS Lambda e instancias locales. CodeDeploy automatiza totalmente las implementaciones 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 las implementaciones a través de la consola de administración de AWS, la CLI, los SDK o las API, lo que le permite lanzar, controlar y monitorear las implementaciones. 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.
AWS 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.
Implementaciones de la instancia automatizada
Implementaciones repetibles
Puede repetir fácilmente la implementación de una aplicación en diferentes grupos de instancias con AWS 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 las implementaciones aumenta la velocidad y fiabilidad del proceso de entrega de software.
Escalado automático
AWS CodeDeploy le permite integrar las actividades de implementación 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. Auto Scaling le permite escalar la capacidad de EC2 según las condiciones que defina, como los picos de tráfico. CodeDeploy recibe una notificación cuando una instancia nueva se lanza en un grupo de Auto Scaling y realiza automáticamente una implementación de la aplicación antes de añadirla a un balanceador de carga de Elastic Load Balancing.
Implementaciones locales
Puede utilizar AWS CodeDeploy para automatizar la implementación de software en sus entornos de desarrollo, pruebas y producción en cualquier instancia, incluidas las instancias de sus 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
Actualizaciones continuas y azules/verdes
Las aplicaciones no dejan de funcionar cuando se actualizan a una versión nueva con AWS CodeDeploy. AWS CodeDeply puede realizar implementaciones azules/verdes para las instancias de Amazon EC2, un servicio de Amazon ECS (tanto un tipo de lanzamiento de EC» y AWS Fargate) o una función de AWS 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 e idéntica en las instancias, por lo que se mantiene la disponibilidad de las instancias para que continúen abasteciendo el tráfico. Para las funciones de AWS Lambda, el tráfico entrante se redirige gradualmente de la versión antigua a la nueva.
Seguimiento del estado de la implementación
El seguimiento del estado de la implementación funciona junto con actualizaciones continuas para mantener una alta disponibilidad de las aplicaciones durante las implementaciones. Se pueden producir tiempos de inactividad inesperados si se implementan actualizaciones incorrectas. AWS CodeDeploy monitorea su implementación y la detiene si hay un número excesivo de errores en las actualizaciones.
Detención y restauración
Puede detener la implementación de una aplicación en curso siempre que lo desee con la consola de administración de AWS, la interfaz de línea de comandos (CLI) de AWS o cualquiera de los SDK de AWS. Simplemente puede volver a implementar dicha revisión si desea continuar con la implementación detenida en un momento posterior. También puede revertir los cambios inmediatamente mediante la restauración de la revisión anterior.
Control centralizado
Monitoreo y control
Puede lanzar, controlar y monitorear las implementaciones de su software directamente desde la consola de administración de AWS o mediante el uso de la interfaz de línea de comandos (CLI), los SDK o las API de AWS. En caso de error, puede identificar la secuencia de comandos que lo originó. También puede enviar notificaciones push que le permitan monitorear el estado de las implementaciones mediante SMS o emails a través de Amazon Simple Notification Service.
Grupos de implementaciones
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.
Historial de implementaciones
AWS CodeDeploy supervisa y almacena el historial reciente de las implementaciones. 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
Funcionamiento con cualquier lenguaje y arquitectura
AWS 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 una archivo de configuración única de AppSpec para ejecutar acciones, pruebas o verificaciones con 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.
Integración de la cadena de herramientas
Es fácil integrar las implementaciones de la aplicación en la cadena de herramientas de entrega de software existente mediante la utilización de las API de AWS CodeDeploy. AWS CodePipeline, AWS CodeStar y algunos socios de AWS proporcionan integraciones de CodeDeploy preintegradas para lograr una integración continua y servicios de suministro continuos, lo que facilita la implementación automática de su aplicación actualizada.
Reciba notificaciones
Revisar eventos definidos
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 generó esa notificación.
Más información sobre los precios de AWS CodeDeploy