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

¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
Navsat
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
GnesisOrtegaDeLen
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
gregory760891
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
Eddy Nathaly Jaimes Villamizar
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
241578066
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
edgarcalle8
 
UiPath Community Data Service presentation
UiPath Community Data Service presentationUiPath Community Data Service presentation
UiPath Community Data Service presentation
DianaGray10
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
Henry W. Zavala
 
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
Rubén Cortes Zavala
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
correodetareas
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
ADELAIDA90
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Rubén Cortes Zavala
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Telefónica
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
JessAdrinGonzlezCade
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
PanchoChangue
 
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
lourdesuribe6
 

Último (16)

¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
 
UiPath Community Data Service presentation
UiPath Community Data Service presentationUiPath Community Data Service presentation
UiPath Community Data Service presentation
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
 
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
 
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
 

¿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