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

Ansible + AWS: Cómo administrar tu infraestruct...

Quito Lambda
September 26, 2018

Ansible + AWS: Cómo administrar tu infraestructura de AWS con Ansible

En esta charla se hablará de cómo administrar la infraestructura de AWS con una de las más populares herramientas de gestión de configuración, Ansible. Hablaremos de las ventajas de la infraestructura como código y haremos un pequeño despliegue de una aplicación en AWS.

Quito Lambda

September 26, 2018
Tweet

More Decks by Quito Lambda

Other Decks in Programming

Transcript

  1. Overview • Infraestructura como Código - IaC • Ansible -

    Estructura y Funcionamiento • AWS - Elementos para una aplicación • Demo
  2. Infraestructura como Código - IaC • Al principio: Servidores físicos

    ◦ Espacios dedicados - Datacenters ◦ Almacenamiento ◦ Mucha configuración • Luego: Virtualización ◦ Aislamiento ◦ Portabilidad ◦ Abstracción ◦ Rollback • Hoy: Entornos Cloud (Públicos y Privados) ◦ Flexibilidad ◦ Escalabilidad ◦ Seguridad
  3. Cómo se configuran estos entornos? Servidores Físicos Máquinas Virtuales Servidores

    en la Nube Consola / KVM Hypervisor Dashboard Web • La infraestructura se maneja manualmente. ◦ Propenso a errores. ◦ No es tan fácil reproducir y estandarizar escenarios. ◦ Mayor costo operativo y de mantenimiento. ◦ Más esfuerzo para escalar.
  4. Un paso adelante - IaC • Toda la configuración en

    un repositorio - PR / Code Reviews • Escalar y reproducir escenarios sin esfuerzo. • Consistente, reproducible y predecible. • Aplicable a cualquier entorno (Físico- Virtual- Cloud) • Testing para verificar la infraestructura. (TDD- Testing clásico)
  5. Ansible - Configuration Management • Lanzado en 2012 por Michael

    DeHaan y comprado por RedHat en 2015. • Utiliza YAML como lenguaje. • Agentless. • Idempotente. • Utiliza SSH.
  6. Ansible - Componentes Un proyecto en Ansible se compone por

    lo siguiente: • Inventory - Lista de hosts que queremos configurar. • Modules - Plugins de Ansible que ejecutan tareas concretas. Existen alrededor de 1600 módulos disponibles. • Tasks - Serie de comandos que Ansible ejecuta en un host. • Roles - Un rol es un conjunto de tareas y archivos adicionales que definen una acción sobre el host. • Playbooks - Es un archivo que asocia roles y tareas y Ansible ejecuta sobre los hosts definidos. • Variables - Como en todo lenguaje de programación, las variables almacenan valores los cuales se utilizan en tareas o templates para ejecutar alguna acción.
  7. Ansible - Estructura • ansible.cfg - Archivo de configuración para

    Ansible. • group_vars - Carpeta con la definición de las variables según cada host o grupo de hosts. • hosts - Lista de hosts que serán configurados por Ansible. • playbooks • Requirements.yml - Archivo donde se describen roles externos. • roles
  8. AWS

  9. AWS - Configuración Básica Para configurar un nuevo servidor, sin

    utilizar los valores por defecto se debe configurar lo siguiente: • Virtual Private Cloud VPC ◦ Subnet ◦ Internet Gateway ◦ Route table • Security Group • Elastic Cloud Compute EC2
  10. Stack Builders Presenta tus ideas [email protected] Trabaja con nosotros stackbuilders.com/join

    Facebook: /QuitoLambda Twitter: @QuitoLambda Proximamente: Slack