Automatización de Despliegue de Funciones Lambda con Git y AWS

Clase 37 de 38Curso de Infraestructura Como Código en AWS

Resumen

¿Cómo implementar un cambio en una función Lambda y qué herramientas utilizar?

Implementar y automatizar cambios en una función Lambda de AWS es esencial para cualquier desarrollador que quiera maximizar eficiencia y minimizar errores. A lo largo de este proceso, se destaca el uso extensivo de Git y el flujo de trabajo CI/CD (Integración Continua/Despliegue Continuo) para asegurar que todo cambio se produzca sin fricciones.

¿Cómo clonar y crear una nueva rama del repositorio?

Primero, antes de realizar cualquier modificación, es crucial clonarse el repositorio en el que se trabajará y crear una nueva rama para aislar los cambios. Estos son los comandos necesarios:

git clone <url_del_repositorio>
cd <nombre_del_repositorio>
git checkout -b desarrollo

¿Cómo modificar la configuración de una función Lambda?

La configuración de la función Lambda se gestiona a través de un archivo de plantilla (template.yaml). Para cambiar la infraestructura, como la cantidad de memoria o tiempo de ejecución, ajusta los valores en ese archivo. Este es un ejemplo de los cambios realizados:

# Abre el archivo de plantilla para editar (Usando Vim por ejemplo)
sudo vim template.yaml

# Cambia el tamaño de la memoria de 512 a 256

Se ajustaron los parámetros a:

  • Memoria: 256 MB
  • Tiempo de ejecución: 300 segundos

Guardar y salir con :wq.

¿Cómo aplicar y confirmar cambios en el repositorio con Git?

Una vez que se han hecho las modificaciones, es importante registrar esos cambios en el repositorio para mantener un historial claro:

git add template.yaml
git commit -m "Cambio en configuración de la Lambda"

Este commit almacena localmente las modificaciones. Para que los cambios lleguen al servidor, se necesita hacer un push:

git push origin desarrollo

¿Qué se debe hacer para implementar el Pull Request?

Posteriormente, se debe crear un Pull Request (PR) para que los cambios sean revisados y finalmente integrados en la rama principal. En un entorno profesional, siempre es recomendable tener una revisión por pares antes de hacer un merge a la rama master.

¿Cuál es el flujo de CI/CD para despliegues automatizados en AWS?

AWS CodePipeline se usa para automatizar el despliegue. Al completar el PR, este detector dispara la creación del artefacto del nuevo código modificado y se inicia el proceso de despliegue a la Lambda con los nuevos valores.

¿Qué es el valor de la automatización del flujo de trabajo?

Automatizar estos procesos no solo minimiza errores en despliegues, sino que también permite procesos más complejos de validación y revisión manual, en caso de necesitarse. Es posible añadir etapas paralelas y verificaciones humanas dentro de los pipelines para asegurar que todo se ejecuta conforme a los requisitos.

Contar con un flujo de trabajo automatizado desde el código hasta producción es vital. No solo garantiza que todo se desarrolle eficientemente, sino que además promueve un control riguroso y controlado de las modificaciones. La automatización se convierte, entonces, en un aliado esencial para mantener calidad y consistencia en proyectos reales. ¡Sigue aprendiendo y mejora tus habilidades!