$30 off During Our Annual Pro Sale. View Details »

Francisco Rodriguez - Patterns of iac at scale

Francisco Rodriguez - Patterns of iac at scale

DevOps Days GDL 2020 - February 20th

DevOpsDays GDL

February 20, 2020
Tweet

More Decks by DevOpsDays GDL

Other Decks in Technology

Transcript

  1. Partner of:
    Patrones de IaC a escala
    Francisco Rodriguez

    View Slide

  2. @DigitalOnSocial
    Francisco Rodriguez
    DevOps Practice Director
    Francisco has deep (20+ years) experience in the Information Technology
    industry with experience in areas as: DevOps, Architecture, Test Automation,
    CI/CD process and Implementation of complex Telecommunication systems in
    different platforms, for the 2G, 3G, NGIN and BSS/OSS.
    Francisco has experience in complex information technology environments, and
    good skills on technologies such as Java, Jenkins, Docker, Linux, etc.
    Some other skills are:
    •AWS administration and automation of manteinance tasks
    •SCM for continuous integration and continuous delivery
    •Environment Management
    •Experience in the whole SDLC including requirements, analysis, design,
    development, testing and implementation of software applications.
    •Experience in 2nd and 3rd line support for distinct applications and
    environments
    DO
    • DevOps Solution architect
    • DevOps Capability Lead
    • Innovation Team
    • DevOps prectice
    development
    LIKE
    • Technology
    • Automation
    • New trends
    • Research & Development
    HOOBIES
    • Spending time with
    the family
    • Playing Softball
    • Movies
    • Travelling
    TOOLS
    • AWS Services
    • Vault and Terraform
    • Chef
    • Kubernetes & Docker
    • Jenkins, Maven
    • Sonarqube, jUnit, jMeter,
    • Monitoring with ELK, Datadog
    EXPERTISE
    • DevOps
    • SDLC
    • CI/CD Pipelines architecture
    • Analysis & design
    • Test Automation
    • BSS/OSS

    View Slide

  3. Partner of:
    ¿Que es Infraestructura como Código?

    View Slide

  4. Partner of:
    Infrastructure-as-code
    Es el proceso automático mediante el cual se crea y se configura un
    entorno computacional (e.g. servidores, máquinas virtuales, bases de
    datos, etc), en el que se probará y/o implementará un sistema de
    software. La creación y configuración se realiza a través de archivos
    definidos por un lenguaje específico.
    ¿Que es “Infrastructure-as-code”?

    View Slide

  5. Partner of:
    La evolución de la infraestructura

    View Slide

  6. Partner of:
    Categorías de herramientas IaC

    View Slide

  7. Partner of:
    Categorías de herramientas IaC
    Ad Hoc Scripts
    Configuration Management Tools

    View Slide

  8. Partner of:
    Categorías de herramientas IaC
    Server Templating Tools Provisioning Tools

    View Slide

  9. Partner of:
    Paradigmas en la infraestructura:
    Mutable vs Inmutable

    View Slide

  10. Partner of:
    Infraestructura Mutable
    Los servidores se mantienen en un
    determinado estado una vez
    operativos

    View Slide

  11. Partner of:
    Una vez se crea o se instancia,
    ésta nunca será modificada
    Infraestructura Inmutable

    View Slide

  12. Partner of:
    Patrones y Antipatrones

    View Slide

  13. Partner of:
    Imagen del servidor de infraestructura base diseñada manualmente que
    nadie se atreve o sabe cómo cambiar
    Antipatrón: Golden Image

    View Slide

  14. Partner of:
    • Distribuciones del sistema operativo (* .iso).
    • Imágenes del proveedor base.
    • Packer puede crear imágenes para muchos software de virtualización y
    proveedores de la nube.
    • Docker puede construir y empaquetar contenedores como imágenes
    para su distribución.
    Patrón: Imagenes Reproducibles

    View Slide

  15. Partner of:
    • Todo es código, pero los secretos no lo son
    • Los secretos deben residir en un lugar separado!
    • Se deben inyectar secretos en la última etapa de "implementación" de
    su código.
    • De esta manera, el código actual sigue siendo compartible
    • Todos los secretos deben estar encriptados (GPG/PGP, Vault)
    Patrón: Aislamiento y Encriptación de Secretos

    View Slide

  16. Partner of:
    • Está bien por ahora, realmente no funciona
    • Crea una cultura de seguridad que no es tan importante
    • ¡Puede alienar a sus equipos de Desarrollo y Operaciones, porque no
    pueden compartir código debido a secretos codificados!
    Antipatrón: Postponer el aislamiento de Secretos

    View Slide

  17. Partner of:
    • Lo principal es agrupar la configuración de la infraestructura en
    componentes reutilizables.
    • Debe de tratarse como código siguiendo patrones de diseño que te
    permitan implementar las mejores prácticas.
    Patrón: Infraestructura Modular

    View Slide

  18. Partner of:
    Mejores Practicas

    View Slide

  19. Partner of:

    View Slide

  20. Partner of:
    Herramientas

    View Slide

  21. Partner of:
    • Es fácil de usar y automatiza la creación
    de cualquier tipo de imagen.
    • Abarca una gestion de configuración
    moderna usando scripts automatizados
    para crear y configurar el software.
    • Packer crea imágenes a la era moderna,
    dando un potencial que permite abrir
    nuevas oportunidades.
    HashiCorp Packer

    View Slide

  22. Partner of:

    View Slide

  23. Partner of:
    Ansible y Vagrant
    Vagrant: Es una herramienta para
    construir y administrar entornos
    de máquinas virtuales en un solo
    flujo de trabajo.
    Ansible: Es una herramienta que
    automatiza el aprovisionamiento,
    configuración y depliegue de
    aplicaciones.

    View Slide

  24. Partner of:
    Permite levantar infraestructura a
    través de contenedores
    Es mucho mas ligero que una
    máquina virtual
    Es mas apropiado para la creacion
    de infraestructura efímera
    Docker

    View Slide

  25. Partner of:
    • Terraform permite crear infraestructura y mantener a salvo el estado
    de ella, por lo que es muy fácil su manejo.
    • Permite hacer modificaciones a la infraestructura de forma incremental
    y administrar múltiples nubes. Puede combinar múltiples proveedores
    en un solo flujo de trabajo, lo cual es una característica excepcional.
    Terraform

    View Slide

  26. Partner of:
    • Rápido y Seguro
    • Consistencia en la configuratción
    • Minimiza el riesgo
    • Esta versionado
    • Representa una documentación
    de la infraestructura
    • Representa ahorros sustanciales
    • El código esta versionado
    • Permite que sea Reusable
    Beneficios de IaC

    View Slide

  27. @DigitalOnSocial
    Partner of:
    Thank You

    View Slide