O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Gestionando tu infraestructura con Ansible

1.537 visualizações

Publicada em

PHPMad Junio 2014

  • Entre para ver os comentários

Gestionando tu infraestructura con Ansible

  1. 1. Gestionando tu Infraestructura con Ansible Moisés Maciá @moises_macia
  2. 2. Hoja de ruta ● ¿Qué es la automatización de servidores? ● Introducción a Ansible. ● Topología y casos de uso. ● Recursos.
  3. 3. ¿Qué es la automatización de servidores? ● Creación de servidores (web, balanceadores, DB, etc.) ● Amazon, Rackspace, Digital Ocean, ... ● Aprovisionamiento de servidores. ● Nginx, PHP, MySQL, ... ● Automatización de despliegues. ● Capistrano, capifony, ansible, ...
  4. 4. Automatización de servidores: ¿Por qué?
  5. 5. Automatización de servidores: ¿Por qué? ● Servicios cloud cada vez más sencillos y potentes. ● Recursos que escalan horizontalmente. ● Menor dependencia con un proveedor de servicios. ● Infraestructura en código. ● Consistencia entre entornos. ● Casos especiales más controlados. ● Mucho más sencillo de desplegar en varios entornos. ● Menor dependencia del “sysadmin”. ● Mayor automatización, más gente puede desplegar. ● Facilidad para los nuevos miembros del equipo. ● Plan de contingencia, recuperación ante desastres. ● Como devs en una startup desempeñamos varios roles: ● DevOps: automatizarlo todo. ● Simplificar nuestra vida, simplificando la gestión de las máquinas.
  6. 6. Ansible ● Open source. ● Python. ● Los plugins se escriben en cualquier cosa que devuelva JSON. ● YAML para la configuración. ● Muchos ficheros, pero fáciles de mantener. ● Sin agente, sobre SSH. ● PowerShell en Windows (>= v1.7) ● “Batteries included” ● Muchos módulos disponibles para tareas comunes. ● Despliegue con un solo comando. ● Cifrado de datos sensibles (ansible vault). ● Idempotente.
  7. 7. Ansible según sus creadores ● Mínima curva de aprendizaje e instalación. ● Rápido y paralelizable por defecto. ● Sin servidores ni clientes; reutilizar conexiones SSH. ● Lenguaje entendible por maquinas y humanos. ● Foco en la seguridad, simple de auditar, revisar, etc. ● Gestión de maquinas remotas al instante, sin historias. ● Permitir plugins en cualquier lenguaje, no solo Python. ● Se puede usar sin ser root. ● Ser el sistema de automatización mas simple de todos. https://github.com/ansible/ansible#design-principles
  8. 8. Otras soluciones ● Chef. ● Puppet. ● SaltStack. http://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software
  9. 9. Ansible: instalación $ sudo pip install ansible [--upgrade] Se puede instalar via apt, yum, pkg y homebrew
  10. 10. Ansible: estructura ● Inventario: definición de la arquitectura. ● Puede ser estático o dinámico. ● Playbooks. ● Roles: ● Tasks. ● Handlers. ● Variables. ● Files. ● Templates. ● Meta.
  11. 11. Ansible: ejecución $ ansible-playbook -i my_inventory my_playbook.yml ● -l webservers (solo se ejecuta para el grupo webservers) ● -t my_tag (solo se ejecutan las tareas etiquetadas)
  12. 12. Ansible: topología ● Máquina de control (servidor de despliegues). ● Puerta de entrada a nuestra infraestructura. ● Punto de control para las claves SSH. ● Todas las maquinas de nuestra infraestructura son accesibles desde la maquina de control.
  13. 13. Ansible: recursos ● Ansible Tower: ● Front-end gráfico para Ansible. ● Gestión de equipos. ● API REST. ● Auditoría, tareas programadas, etc. ● Bastante caro, 5.000$/año para 50 nodos. ● Ansible Galaxy: ● Repositorio de roles listos para usar. ● Bastante nuevo, calidad irregular.
  14. 14. Ansible: recursos ● http://docs.ansible.com/index.html ● https://github.com/ansible/ansible ● http://www.ansible.com/resources ● https://github.com/pjan/the-ansibles ● http://blog.servergrove.com/2014/04/01/deployment-symfony2-applica ● https://www.digitalocean.com/community/tutorials
  15. 15. Gestionando tu Infraestructura con Ansible Moisés Maciá @moises_macia moises@samyroad.com

×