Upgrade to Pro — share decks privately, control downloads, hide ads and more …

De cero a clúster: automatizando despliegues en...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Bianca Torres Bianca Torres
September 13, 2025
1

De cero a clúster: automatizando despliegues en AWS con Terraform, EKS, Helmfile y GitLab CI

Avatar for Bianca Torres

Bianca Torres

September 13, 2025

Transcript

  1. De cero a clúster: automatizando despliegues en AWS con Terraform,

    EKS, Helmfile y GitLab CI AWS Community Fest Perú 2025
  2. BIANCA TORRES linkedin.com/in/bianca-torres-chumbes @bnkintech 󰠁 DevOps Engineer en Globant 🤝

    Voluntaria en WIT Perú (Women in Tech) ☁ Voluntaria en AWS Girls Perú
  3. AGENDA 1. El Problema que Resolvemos 2. Stack Tecnológico 3.

    Arquitectura de la Solución 4. Demo: Infraestructura con Terraform 5. Demo: Aplicaciones con Helmfile 6. Seguridad y Secretos 7. Buenas Prácticas DevOps 8. Escalabilidad para Equipos 9. Próximos Pasos 10. Q&A
  4. ❌ Despliegues manuales propensos a errores ❌ "Funciona en mi

    máquina" ❌ Entornos inconsistentes ❌ Configuración dispersa ❌ Secretos en texto plano ❌ Rollbacks complicados ❌ Onboarding lento de desarrolladores Problemas Típicos en DevOps
  5. “ • S3 Bucket para state • DynamoDB para locking

    • Versionado automático $ terraform apply Paso 1: Backend de Terraform
  6. • VPC con subnets públicas/privadas • EKS 1.33 con addons

    • Managed Node Groups (t3.medium) • Security Groups automáticos $ terraform apply Paso 2: Cluster EKS
  7. Aplicación a Desplegar Arquitectura de la Aplicación: • Base: nginxdemos/hello:latest

    - Demo oficial de NGINX • Personalización: Dockerfile que modifica el HTML dinámicamente • Variables inyectadas: ENVIRONMENT y SECRET_VALUE • Acceso: LoadBalancer público de AWS (ELB)
  8. ¿Qué Resuelve Helmfile? Problema: Gestionar múltiples ambientes con Helm es

    complejo Solución: Un solo archivo para orquestar todo Ventaja: Declarativo, versionado, reproducible Un comando, múltiples entornos Helmfile: Orquestador Multi-Ambiente Configuraciones por Ambiente • values-dev.yaml • values-stage.yaml
  9. Secretos y Seguridad - SOPS Paso 1: Generar Clave GPG

    gpg --full-generate-key Paso 2: Obtener Fingerprint gpg --list-secret-keys --keyid-format LONG Paso 3: Configurar SOPS .sops.yaml Paso 4: Crear y Encriptar Secretos por Ambiente • sops -e secrets-dev.yaml • sops -e secrets-stage.yaml
  10. Pipeline Automatizado: .gitlab-ci.yml Stages: • deploy-dev (automático) • deploy-stage (manual)

    GitLab Pipeline ✅ Desencriptación de secretos ✅ Despliegue con helmfile ✅ Rollout restart automático PUSH to main DEPLOY-DEV (automatic) DEPLOY-STAGE (manual)
  11. • AWS_ACCESS_KEY_ID • AWS_SECRET_ACCESS_KEY • AWS_REGION • CLUSTER_NAME • GPG_PRIVATE_KEY

    Variables de GitLab Obtener GPG_PRIVATE_KEY: gpg --export-secret-keys --armor AF618F61127785A3 > private-key.asc
  12. • Infrastructure as Code • GitOps workflow • Separación de

    entornos • Secretos encriptados • Rollbacks automáticos • Recursos Limitados por Ambiente • Todo versionado y auditable Buenas Prácticas
  13. “ Beneficios para Equipos: • Onboarding en minutos • Entornos

    idénticos = menos bugs • Despliegues sin miedo • Infraestructura reproducible • Configuración centralizada • Trazabilidad completa Escalabilidad
  14. 🔗 Código del Proyecto: gitlab.com/bnk13.01.97/tf-helm-gitlabci-project 📖 Documentación: • AWS EKS

    Best Practices • Terraform AWS Provider • Helmfile Documentation Recursos