terraform + ansible + inspec...shift left testing •enfoque que considera mover las actividades de...
TRANSCRIPT
![Page 1: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/1.jpg)
Terraform + Ansible + InSpecAutomatización y control de la infraestructura y la configuración
Álvaro Beleño Rodríguez
![Page 2: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/2.jpg)
INTRODUCCIÓN A LAS HERRAMIENTAS A UTILIZAR
![Page 3: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/3.jpg)
¿Qué es Terraform?
• Herramienta desarrollada por HashiCorp.
• Se encarga de la orquestación de la infraestructura, la cual definiremos mediante código de alto nivel:• HCL (HashiCorp Configuration Language), ficheros .tf• JSON (JavaScript Object Notation), ficheros .tf.json
• A partir de este código se generará un plan de ejecución mediante el cual se desplegará nuestra infraestructura en el proveedor elegido:• OpenStack• AWS• Microsoft Azure• https://www.terraform.io/docs/providers/
![Page 4: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/4.jpg)
¿Qué es Microsoft Azure?
• Plataforma cloud de Microsoft.
• IaaS (Infraestructure as a Service).
• Presenta un plan de pago por uso.• El precio a pagar dependerá del uso que hagamos de los recursos.
![Page 5: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/5.jpg)
¿Qué es Ansible?
• Herramienta desarrollada por Red Hat.
• Se encarga de aprovisionar equipos (Gestión automatizada de la configuración).
• Se definen playbooks (Jugadas), en los que habrá diferentes tasks(Tareas).
• Idempotencia.
![Page 6: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/6.jpg)
¿Qué es InSpec?
• Herramienta desarrollada por Chef.
• Framework diseñado para testear aplicaciones e infraestructura.
• Funciona comparando el estado actual del sistema con el estado deseado que establecemos en código propietario de InSpec.
• Podemos hacer tests tanto en local como en equipos o aplicaciones en remoto.
![Page 7: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/7.jpg)
METODOLOGÍA DE TRABAJO
![Page 8: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/8.jpg)
Shift left testing
• Enfoque que considera mover las actividades de testing a un lugar más temprano en el ciclo de vida de la infraestructura o aplicación.
• Normalmente se lleva a cabo en aplicaciones, aunque también se puede aplicar a los sistemas.
• Introducido por primera vez por Larry Smith hace más de 15 años.
![Page 9: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/9.jpg)
Shift left testing
Requisitos Diseño Código Test Aprobación Producción Mantenimiento
T E S T I N G
![Page 10: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/10.jpg)
DEMO
![Page 11: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/11.jpg)
¿Qué vamos a hacer?
• Despliegue de dos máquinas virtuales en Azure con 4GiB de RAM y 8 GiB de almacenamiento temporal mediante Terraform.
• Aprovisionamiento con Ansible:• Nodo 1: PostgreSQL
• Nodo 2: Apache + Drupal
• Testing con InSpec:• Azure
• Nodo 1
• Nodo 2
![Page 12: Terraform + Ansible + InSpec...Shift left testing •Enfoque que considera mover las actividades de testinga un lugar más temprano en el ciclo de vida de la infraestructura o aplicación](https://reader033.vdocumento.com/reader033/viewer/2022052616/609f7ab32b40633dec654cf2/html5/thumbnails/12.jpg)
DEMO(Ahora de verdad)