SlideShare una empresa de Scribd logo
1
Cómo automatizar pruebas de
infraestructura
y no morir en el intento
2
Nosotros
Brayan Bautista
DevOps Engineer
Jorge Ernesto
Guevara Cuenca
DevOps Engineer
Wilmer Mendez
Cloud Engineer
3
Introducción
En la construcción de proyectos de software se consideran las pruebas como parte
integral del proceso de desarrollo, sin embargo, este no siempre es el caso cuando
hacemos infraestructura como código.
Discutiremos la importancia y tipos de pruebas para infraestructura escrita con
terraform, así como ejemplos de herramientas a utilizar para ejecutar este tipo de
pruebas.
If TDD
then TDI
4
5
Terraform
Workflow
┃ Diseño de la solución
Escribir código usando el lenguaje de terraform HCL
┃ Init
Inicializar los módulos, plugins de proveedores, validación de credenciales y
backend.
┃ Plan
Simulación de los cambios o infraestructura a crear. Se comprueban los cambios
del código contra el backend.
┃ Apply
Se ejecutan los cambios contra los recursos y se actualiza el backend con el
nuevo estatus de la infraestructura.
6
┃ Análisis estático
┃ fmt
┃ validate
┃ Plan
┃ Unitarias
┃ Prueba de módulos (Gruntwork)
┃ Integración
┃ apply
┃ End to End
Tipos
de pruebas
7
┃ Terratest
┃ Librerías de prueba escritas en Golang, que permiten realizar pruebas al código y la
infraestructura creada con terraform.
┃ InSpec
┃ Herramienta escrita en Ruby para pruebas y compliance, verifica el estado actual de la
infraestructura contra el estado deseado o el código escrito.
Herramientas
Para pruebas
8
┃ Estructura del modulo
┃ Go test
Cómo crear las pruebas
9
┃ GitHub Actions
┃ Permite automatizar flujos CI/CD, usando contenedores (runners) que ejecutan
compilación, pruebas y despliegue de código.
┃ Corre con eventos de Git como push, pull request, etc.
┃ Instrucciones sencillas en un archivo yaml dentro del repositorio.
┃ Gratuito en ejecución de runners hasta de 2000 minutos al mes y 3000 minutos
para repositorios pagos de GItHub. Gratis en runners self-hosted.
Cómo automatizar las pruebas
10
Ejemplo
11
Referencias
┃ Terraform with Terratest in Gitlab Pipeline:
○ https://www.infralovers.com/en/articles/2019/12/18/terraform-with-terratest-in-gitlab-pipeline/
┃ Cloud Adoption Framework — Unit and Integration testing with Terraform:
○ https://medium.com/@nicolas.yuen/cloud-adoption-framework-unit-and-integration-testing-with-t
erraform-9594630c123b
┃ How to test infrastructure code:
○ https://www.slideshare.net/brikis98/how-to-test-infrastructure-code-automated-testing-for-terrafor
m-kubernetes-docker-packer-and-more

Más contenido relacionado

La actualidad más candente

Redes
RedesRedes
Redes
lolo503
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
Manuel Ceron
 
Grails and Continuous delivery
Grails and Continuous deliveryGrails and Continuous delivery
Grails and Continuous delivery
Info ArtdeCode
 
Tareas automatizadas y eficientes para la construcción de software con Gradle
Tareas automatizadas y eficientes para la construcción de software con GradleTareas automatizadas y eficientes para la construcción de software con Gradle
Tareas automatizadas y eficientes para la construcción de software con Gradle
Software Guru
 
Biicode en la Hackers Week
Biicode en la  Hackers WeekBiicode en la  Hackers Week
Biicode en la Hackers Week
Julia S. Simon
 
Atica Dev Ops II
Atica Dev Ops IIAtica Dev Ops II
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en español
Ramón Glez
 
Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
Erick Mireles Merchant
 
ATICA DevOps
ATICA DevOpsATICA DevOps
Los copiladores en c++
Los copiladores en c++Los copiladores en c++
Los copiladores en c++
ManuelJoseDavilaSimisterra
 
Introducción al uso Git y GitHub para trabajo colaborativo
Introducción al uso Git y GitHub para trabajo colaborativoIntroducción al uso Git y GitHub para trabajo colaborativo
Introducción al uso Git y GitHub para trabajo colaborativo
Juan J. Merelo
 
Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!
Marco Avendaño
 
Introducción a CoffeeScript
Introducción a CoffeeScriptIntroducción a CoffeeScript
Introducción a CoffeeScript
Javier Ferrer González
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
drsevilla
 
Dia1
Dia1Dia1
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
nscoder_mad
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
Keopx
 
Dia2
Dia2Dia2
clojure-objc
clojure-objcclojure-objc
clojure-objc
Gal Dolber
 

La actualidad más candente (19)

Redes
RedesRedes
Redes
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Grails and Continuous delivery
Grails and Continuous deliveryGrails and Continuous delivery
Grails and Continuous delivery
 
Tareas automatizadas y eficientes para la construcción de software con Gradle
Tareas automatizadas y eficientes para la construcción de software con GradleTareas automatizadas y eficientes para la construcción de software con Gradle
Tareas automatizadas y eficientes para la construcción de software con Gradle
 
Biicode en la Hackers Week
Biicode en la  Hackers WeekBiicode en la  Hackers Week
Biicode en la Hackers Week
 
Atica Dev Ops II
Atica Dev Ops IIAtica Dev Ops II
Atica Dev Ops II
 
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en español
 
Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
Manual de-gestión-de-un-proyecto-de-software-en-una-herramienta-informática-l...
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
Los copiladores en c++
Los copiladores en c++Los copiladores en c++
Los copiladores en c++
 
Introducción al uso Git y GitHub para trabajo colaborativo
Introducción al uso Git y GitHub para trabajo colaborativoIntroducción al uso Git y GitHub para trabajo colaborativo
Introducción al uso Git y GitHub para trabajo colaborativo
 
Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!
 
Introducción a CoffeeScript
Introducción a CoffeeScriptIntroducción a CoffeeScript
Introducción a CoffeeScript
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
 
Dia1
Dia1Dia1
Dia1
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Dia2
Dia2Dia2
Dia2
 
clojure-objc
clojure-objcclojure-objc
clojure-objc
 

Similar a ¿Cómo automatizar pruebas de infraestructura y no morir en el intento?

Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
Rodrigo Pimentel
 
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Deisy Sapaico
 
Azure infrastructure testing con inspec
Azure infrastructure testing con inspecAzure infrastructure testing con inspec
Azure infrastructure testing con inspec
Alejandro García Miravet
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
José Moreno
 
Git Flow y GitOps
Git Flow y GitOpsGit Flow y GitOps
Git Flow y GitOps
Jose Luis Sánchez Rebollo
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
Micael Gallego
 
Pipelines as code with Drone
Pipelines as code with DronePipelines as code with Drone
Pipelines as code with Drone
Facundo Diaz Cobos
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - Sistemas
Carlos Camacho
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
Raúl Requero García
 
GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29
Jorge Hidalgo
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
Jaime Perera Merino
 
5 aissexposicion1grupo4
5 aissexposicion1grupo45 aissexposicion1grupo4
5 aissexposicion1grupo4
Any Álvarez
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Restorando
 
Drupal grunt task - Drupal Camp CR 2015
Drupal grunt task  - Drupal Camp CR 2015Drupal grunt task  - Drupal Camp CR 2015
Drupal grunt task - Drupal Camp CR 2015
Daniel Noyola
 
Terraform Ansible v3.0
Terraform Ansible v3.0Terraform Ansible v3.0
Terraform Ansible v3.0
Luis Merino Troncoso
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
Jose Manuel Ortega Candel
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
Amazon Web Services LATAM
 
Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event manager
Ivan Ortega
 
Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8
Rodolfo Finochietti
 
Python Gae django
Python Gae djangoPython Gae django
Python Gae django
Manuel Pérez
 

Similar a ¿Cómo automatizar pruebas de infraestructura y no morir en el intento? (20)

Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
 
Azure infrastructure testing con inspec
Azure infrastructure testing con inspecAzure infrastructure testing con inspec
Azure infrastructure testing con inspec
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
Git Flow y GitOps
Git Flow y GitOpsGit Flow y GitOps
Git Flow y GitOps
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
Pipelines as code with Drone
Pipelines as code with DronePipelines as code with Drone
Pipelines as code with Drone
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - Sistemas
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 
5 aissexposicion1grupo4
5 aissexposicion1grupo45 aissexposicion1grupo4
5 aissexposicion1grupo4
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
 
Drupal grunt task - Drupal Camp CR 2015
Drupal grunt task  - Drupal Camp CR 2015Drupal grunt task  - Drupal Camp CR 2015
Drupal grunt task - Drupal Camp CR 2015
 
Terraform Ansible v3.0
Terraform Ansible v3.0Terraform Ansible v3.0
Terraform Ansible v3.0
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event manager
 
Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8
 
Python Gae django
Python Gae djangoPython Gae django
Python Gae django
 

Más de Globant

Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.
Globant
 
Google Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQLGoogle Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQL
Globant
 
Eventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtualEventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtual
Globant
 
Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0
Globant
 
Tech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración Continua
Globant
 
Como impulsar tu carrera Salesforce
Como impulsar tu carrera SalesforceComo impulsar tu carrera Salesforce
Como impulsar tu carrera Salesforce
Globant
 
3D Programming Basics: WebGL
3D Programming Basics: WebGL3D Programming Basics: WebGL
3D Programming Basics: WebGL
Globant
 
Converge augmented report
Converge augmented reportConverge augmented report
Converge augmented report
Globant
 
Sistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta LakeSistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta Lake
Globant
 
Kubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todosKubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todos
Globant
 
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS GlueOrquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Globant
 
Apache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisiónApache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisión
Globant
 
Navegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financierosNavegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financieros
Globant
 
Converge 2020
Converge 2020 Converge 2020
Converge 2020
Globant
 
Converge 2020
Converge 2020Converge 2020
Converge 2020
Globant
 
Tendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresadoTendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresado
Globant
 
SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?
Globant
 
Monitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicaciónMonitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicación
Globant
 
Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)
Globant
 
¿Cómo importar funcionalidades de C++ a NodeJS?
¿Cómo importar funcionalidades de C++ a NodeJS?¿Cómo importar funcionalidades de C++ a NodeJS?
¿Cómo importar funcionalidades de C++ a NodeJS?
Globant
 

Más de Globant (20)

Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.Webinar MLOps: When AA gets serious.
Webinar MLOps: When AA gets serious.
 
Google Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQLGoogle Cloud Spanner y NewSQL
Google Cloud Spanner y NewSQL
 
Eventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtualEventos Asíncronos como estrategia virtual
Eventos Asíncronos como estrategia virtual
 
Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0Cultura y valores 4.0 para líderes 4.0
Cultura y valores 4.0 para líderes 4.0
 
Tech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración Continua
 
Como impulsar tu carrera Salesforce
Como impulsar tu carrera SalesforceComo impulsar tu carrera Salesforce
Como impulsar tu carrera Salesforce
 
3D Programming Basics: WebGL
3D Programming Basics: WebGL3D Programming Basics: WebGL
3D Programming Basics: WebGL
 
Converge augmented report
Converge augmented reportConverge augmented report
Converge augmented report
 
Sistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta LakeSistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta Lake
 
Kubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todosKubeflow: Machine Learning en Cloud para todos
Kubeflow: Machine Learning en Cloud para todos
 
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS GlueOrquestando Pipelines de Datosen AWS con Step Function y AWS Glue
Orquestando Pipelines de Datosen AWS con Step Function y AWS Glue
 
Apache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisiónApache Beam: Lote portátil y procesamiento de transmisión
Apache Beam: Lote portátil y procesamiento de transmisión
 
Navegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financierosNavegando el desafío de transformación digital de los servicios financieros
Navegando el desafío de transformación digital de los servicios financieros
 
Converge 2020
Converge 2020 Converge 2020
Converge 2020
 
Converge 2020
Converge 2020Converge 2020
Converge 2020
 
Tendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresadoTendencias de tecnología para el recién egresado
Tendencias de tecnología para el recién egresado
 
SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?SRE: ¿Qué es y cómo gestionar el Toil?
SRE: ¿Qué es y cómo gestionar el Toil?
 
Monitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicaciónMonitoreo en tiempo real para la mejora continua de una aplicación
Monitoreo en tiempo real para la mejora continua de una aplicación
 
Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)Automatización en AWS con Chatbot Serverless (Amazon Lex)
Automatización en AWS con Chatbot Serverless (Amazon Lex)
 
¿Cómo importar funcionalidades de C++ a NodeJS?
¿Cómo importar funcionalidades de C++ a NodeJS?¿Cómo importar funcionalidades de C++ a NodeJS?
¿Cómo importar funcionalidades de C++ a NodeJS?
 

Último

Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
yuberpalma
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
jgvanessa23
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
luiscohailatenazoa0
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 

Último (20)

Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 

¿Cómo automatizar pruebas de infraestructura y no morir en el intento?

  • 1. 1 Cómo automatizar pruebas de infraestructura y no morir en el intento
  • 2. 2 Nosotros Brayan Bautista DevOps Engineer Jorge Ernesto Guevara Cuenca DevOps Engineer Wilmer Mendez Cloud Engineer
  • 3. 3 Introducción En la construcción de proyectos de software se consideran las pruebas como parte integral del proceso de desarrollo, sin embargo, este no siempre es el caso cuando hacemos infraestructura como código. Discutiremos la importancia y tipos de pruebas para infraestructura escrita con terraform, así como ejemplos de herramientas a utilizar para ejecutar este tipo de pruebas.
  • 5. 5 Terraform Workflow ┃ Diseño de la solución Escribir código usando el lenguaje de terraform HCL ┃ Init Inicializar los módulos, plugins de proveedores, validación de credenciales y backend. ┃ Plan Simulación de los cambios o infraestructura a crear. Se comprueban los cambios del código contra el backend. ┃ Apply Se ejecutan los cambios contra los recursos y se actualiza el backend con el nuevo estatus de la infraestructura.
  • 6. 6 ┃ Análisis estático ┃ fmt ┃ validate ┃ Plan ┃ Unitarias ┃ Prueba de módulos (Gruntwork) ┃ Integración ┃ apply ┃ End to End Tipos de pruebas
  • 7. 7 ┃ Terratest ┃ Librerías de prueba escritas en Golang, que permiten realizar pruebas al código y la infraestructura creada con terraform. ┃ InSpec ┃ Herramienta escrita en Ruby para pruebas y compliance, verifica el estado actual de la infraestructura contra el estado deseado o el código escrito. Herramientas Para pruebas
  • 8. 8 ┃ Estructura del modulo ┃ Go test Cómo crear las pruebas
  • 9. 9 ┃ GitHub Actions ┃ Permite automatizar flujos CI/CD, usando contenedores (runners) que ejecutan compilación, pruebas y despliegue de código. ┃ Corre con eventos de Git como push, pull request, etc. ┃ Instrucciones sencillas en un archivo yaml dentro del repositorio. ┃ Gratuito en ejecución de runners hasta de 2000 minutos al mes y 3000 minutos para repositorios pagos de GItHub. Gratis en runners self-hosted. Cómo automatizar las pruebas
  • 11. 11 Referencias ┃ Terraform with Terratest in Gitlab Pipeline: ○ https://www.infralovers.com/en/articles/2019/12/18/terraform-with-terratest-in-gitlab-pipeline/ ┃ Cloud Adoption Framework — Unit and Integration testing with Terraform: ○ https://medium.com/@nicolas.yuen/cloud-adoption-framework-unit-and-integration-testing-with-t erraform-9594630c123b ┃ How to test infrastructure code: ○ https://www.slideshare.net/brikis98/how-to-test-infrastructure-code-automated-testing-for-terrafor m-kubernetes-docker-packer-and-more