
Flujo de datos escalable
Reduje significativamente los gastos de infraestructura en AWS
Tecnologías Utilizadas
Este artículo también está disponible en inglés
🇺🇸 English
Como parte de mi trabajo en una startup 🚀, tuve la oportunidad de diseñar e implementar la infraestructura de backend y en la nube utilizando AWS CDK. Uno de los componentes clave de esta solución fue la implementación de Apache Airflow, la popular herramienta de orquestación de flujos de trabajo, en la plataforma de AWS ☁️.
Uno de los componentes clave de la solución fue el uso de Amazon ECS para alojar los diferentes componentes de Airflow, como el SERVIDOR WEB 🌐, el SCHEDULER ⏰ y los WORKERS 👷. Esto me permitió seleccionar los tipos de máquinas más adecuados para satisfacer las necesidades de rendimiento y capacidad de procesamiento de nuestra carga de trabajo. Además, la capacidad de escalar horizontal y verticalmente las instancias de EC2 o FARGATE garantizó que la infraestructura pudiera adaptarse a las variaciones en la demanda.
Otro elemento importante fue la integración de Amazon RDS, donde configuré una base de datos PostgreSQL 🗄️ para almacenar los metadatos de Airflow. Pero quizás el aspecto más destacado de la solución fue el uso de Amazon EFS (Elastic File System) para almacenar los DAGs (Directed Acyclic Graphs) 📊 y otros archivos relacionados con Airflow.
EFS me permitió crear un sistema de archivos compartido y escalable, lo que garantizó que los archivos estuvieran siempre accesibles para nuestro entorno de Airflow, independientemente de la cantidad de instancias EC2 que se estuvieran utilizando.
La integración de EFS fue clave, ya que me permitió evitar los problemas de persistencia de datos que podrían surgir con otras soluciones de almacenamiento. Además, EFS ofrece una alta disponibilidad y durabilidad, lo que me dio la tranquilidad de saber que los datos críticos de Airflow estarían seguros y accesibles 🔒.
En cuanto a la automatización, configuré GitHub Actions ⚙️ para automatizar el despliegue de los DAGs desde un repositorio de GitHub directamente a nuestro entorno de Airflow. Esto mejoró la eficiencia y redujo los errores manuales en el proceso de despliegue, ya que los cambios en los DAGs se actualizaban automáticamente.
cada archivo y cada dag en el repositorio refleja el contenido exacto en todos los contenedores.
Consulta el diagrama de infraestructura de AWS 👇
Diagrama de Arquitectura
Publicaciones Relacionadas
Explora más artículos sobre temas y tecnologías similares.

Migraciones ETL de Big Data
Ejecuté múltiples proyectos de migración ETL de Oracle a AWS Glue, con fuerte énfasis en la recolección detallada de requisitos y planificación integral

Arquitectura Black Belt
Demostración de conocimiento avanzado en arquitectura de software

Orquestación de contenedores Backend CI/CD
Usando ECS que es ❝similar a kubernetes❞ desplegado automáticamente vía Jenkins, desplegué un contenedor